一文读懂卷积神经网络CNN(学习笔记)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介:

首先文章的提纲为:

CNN栗子镇楼
What is CNN

什么是卷积

什么是池化

Why CNN
对CNN的其他一些理解
CNN实现(接口)

1、CNN栗子(A Beginning Glimpse of CNN)


  1. Modern CNN since Yann LeCun

0b0e1deb4b4028c34dc542a5dc115cd1471214e2

2.

170a34a35df84d21cbbe4e09679bf192f1c6b71f

上面是最经典和开始的两篇CNN的结构图


2、What is CNN?

神经网络?卷积?

2.1 什么是卷积?

卷积的定义

  • 其连续的定义为:
219bcb394827c7bcdca1a2feb9309845ac72ad4c
  • 特点:

6a93df5c62f3127ef512cdf6dfbbe3ed76d979c1

2.2 离散卷积的栗子:


丢骰子时加起来要等于4的概率是多少?
d85500a0e7b3ab12b9c9d7070d8a10dab3b7b127
  • 二维离散的卷积
459edf71ea8b8980ca7d3f05783f7a924755981b
  • 计算的动图如下
24b43a92e2b3cd8bf530de4f71c4b83c4564cdfd

2.3 用到二维图像上:

关于卷积中常用到的一些概念:神经网络的卷积是对应位相乘,现在是信号相乘。

1df6957c96fc050f435c68b4c39d1fb4e77619a5
c7f9595539e179e48e5057056e0cefb8bc27c9f2

上面移动的小矩阵有两种叫法,一种叫做滤波器filter,一种加法叫做卷积核Kernel,是相同的东西只是不同的叫法。

986380df09d4fbc32791c8077bfcb15aaef23bd5

2.4、用到神经网络中

a488dccda3c0f464377afa7abcd56333b84c6c92

我们其实需要学习的就是里面的线上面对应的权值,比如上面绿色的代表3*1的卷积核大小,只是这里用神经网络的结构表示出来了。

2.5、卷积的细节

  • filter/Kernel size,number
  • 假设神经网络的输入是6*6的image,
8caaf2ec933a4b1f20f0bfc0405398804e6f14e1

其中每一个卷积核代表提取不同的特征,多个卷积核提取的特征然后进行组合(这样更强大),一同送入到后续的结构。

  • 下面来一个更通俗的解释:

143e7fceeeb9738e40a808124f66974a1a2e4ce3

每个人代表一个卷积核来进行提取不同的特征,一个人是弱小的,但是一组人就强大了,他们有着不同的知识(权重),这样类比来理解,就会好理解很多。

Stride

The step size you take the filter to sweep the image

4a97f455f389a1d59a2c308d46381d1d41e51008

Zero-padding
A way not to ignore pattern on border
New image is smaller than the original image
7049c83b73d2712c8f2d70ccf2fbdac1a2aea2e4
  • Channel

fd76e46bcde76a05b07092eade983b4433b2781f

2.6 池化(pooling)

8597da5784d47a489d06f8c79f767baf525853c6
  • Max pooling 例子:

738803ca97398be6ad126e95bceda5fc85f6a80b

  • Pooling is unsensitive to local translation.(局部不变性)
  • "If we translation the input by a small amount ,the values of mosts of the pooled outputs do not change."
  • 图像往左或者往右移动,pooling 的结果是不变的
dd012bd705f90cb398ec99ee5b38a488dd6ea05e

2.7 flatten

7bc8b1ee5e654c693d7db490747ccd1f7f49152b

2. 8 Convolution v.s. Fuly Connected

9d62282257d7b86f20ec6d1ab7b16299714ebea3
7ebf2f902da3ef6ec5c366d233edcc40db3622ef

32140222a722c718e955dcadba86cd406180b160

2.9 The whole CNN

ef0391d96e45effa4ed87f6665bfc38a50c912e7
  • So as the whole,CNN is conposed of
  • Convolution
  • Nonlinearity:e.g.ReLU
  • Pooling
  • FC Layers
ee0fc9eab37c6304fa838fc0227bb6de339f0936

3. Why CNN

Some patterns are much smaller whole image.
84739d2b24fafd45ca76b26ab1811b53a35bce6a
The same patterns appear in different regions
9a7f0ab32cd10ae7d9e5705d47a85a56b942b0b0
Subsampling the pixels will not change the object
72196c3c7235a9c4a59ce51996a19c25f6f2006a

4. 对CNN的其他一些理解

4.1 关于接受域(receptive field)

  • 称在底层中影响上层输出单元s的单元合集为s的接受域(receptive field)。
0774e88dc5d0eb4495a4c250254000b75b9809e8
  • 处于卷积网络更深的层中的单元,它们的接受域要比处在浅层的单元的接受的域更大。如果网络还包含类似步幅卷积或者池化之类的结构特征,这种效应会加强。这意味着在卷积网络中尽管直接连接都是很稀疏的,但处在更深的层中的单元可以间接地链接到全部或者大部分输入图像。(表现性能)
f2d9774ccf0a84946fcaa572d3bdfdc0b1582300

4.2 卷积与池化作为一种无限强的先验

首先,弱先验具有较高的熵值,因此自由性较强,强先验具有较低的熵值,这样的先验在决定参数最终取值时可以起着非常积极的作用。

把卷积网络类比成全连接网络,但对于网络的权重具有无限强的先验。

  • 所有隐藏单元的权重是共享的。
  • 除了一些连续的小单元的权重外,其他的权重都是0.
  • 池化也是一个无限强的先验:每个单元都具有对少量平移的不变性。

卷积和池化可能导致欠拟合!任何其他先验类似,卷积和池化只有当先验的夹着合理且正确时才有用。如果一项任务依赖于保存精确的空间信息,那么在所有的特征上使用池化将会增大训练误差。

根据实际需求选取先验

5. CNN in Pytorch

  • pytorch的相关接口
968cb9053b6a0902ea0487b22a8c8114ca6c549f
LeNet in PyTorch

f8b74146adf654efbc6c491873a30f80ff308c80 原文发布时间为:2017-12-29本文来自云栖社区合作伙伴“ 数据派THU”,了解相关信息可以关注“ 数据派THU”微信公众号
相关文章
|
9月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
10月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
811 11
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本内容展示了一种基于粒子群优化(PSO)与时间卷积神经网络(TCN)的时间序列预测方法。通过 MATLAB2022a 实现,完整程序运行无水印,核心代码附详细中文注释及操作视频。算法利用 PSO 优化 TCN 的超参数(如卷积核大小、层数等),提升非线性时间序列预测性能。TCN 结构包含因果卷积层与残差连接,结合 LSTM 构建混合模型,经多次迭代选择最优超参数,最终实现更准确可靠的预测效果,适用于金融、气象等领域。
|
机器学习/深度学习 人工智能 算法
深度解析:基于卷积神经网络的宠物识别
宠物识别技术随着饲养规模扩大而兴起,传统手段存在局限性,基于卷积神经网络的宠物识别技术应运而生。快瞳AI通过优化MobileNet-SSD架构、多尺度特征融合及动态网络剪枝等技术,实现高效精准识别。其在智能家居、宠物医疗和防走失领域展现广泛应用前景,为宠物管理带来智能化解决方案,推动行业迈向新高度。
1282 66
|
10月前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
1327 0
|
12月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
650 7
|
10月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
575 0
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于PSO(粒子群优化)改进TCN(时间卷积神经网络)的时间序列预测方法。使用Matlab2022a运行,完整程序无水印,附带核心代码中文注释及操作视频。TCN通过因果卷积层与残差连接处理序列数据,PSO优化其卷积核权重等参数以降低预测误差。算法中,粒子根据个体与全局最优位置更新速度和位置,逐步逼近最佳参数组合,提升预测性能。
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化TCN-GRU时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB2022a开发,提供无水印算法运行效果预览及核心程序(含详细中文注释与操作视频)。通过结合时间卷积神经网络(TCN)和遗传算法(GA),实现复杂非线性时间序列的高精度预测。TCN利用因果卷积层与残差连接提取时间特征,GA优化超参数(如卷积核大小、层数等),显著提升模型性能。项目涵盖理论概述、程序代码及完整实现流程,适用于金融、气象、工业等领域的时间序列预测任务。
|
机器学习/深度学习 算法 JavaScript
基于GA遗传优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于遗传算法优化的时间卷积神经网络(TCN)用于时间序列预测的方法。算法运行于 Matlab2022a,完整程序无水印,附带核心代码、中文注释及操作视频。TCN通过因果卷积层与残差连接学习时间序列复杂特征,但其性能依赖超参数设置。遗传算法通过对种群迭代优化,确定最佳超参数组合,提升预测精度。此方法适用于金融、气象等领域,实现更准确可靠的未来趋势预测。

热门文章

最新文章