本文为图文结合,建议阅读10分钟。
本文为大家解读如何简单明了的解释卷积,并且分享了学习中的一些方法案例。
首先文章的提纲为:
什么是卷积
什么是池化
Why CNN
对CNN的其他一些理解
CNN实现(接口)
1、CNN栗子(A Beginning Glimpse of CNN)
Modern CNN since Yann LeCun
2.
上面是最经典和开始的两篇CNN的结构图
2、What is CNN?
神经网络?卷积?
2.1 什么是卷积?
卷积的定义
2.2 离散卷积的栗子:
2.3 用到二维图像上:
上面移动的小矩阵有两种叫法,一种叫做滤波器filter,一种加法叫做卷积核Kernel,是相同的东西只是不同的叫法。
2.4、用到神经网络中
我们其实需要学习的就是里面的线上面对应的权值,比如上面绿色的代表3*1的卷积核大小,只是这里用神经网络的结构表示出来了。
2.5、卷积的细节
其中每一个卷积核代表提取不同的特征,多个卷积核提取的特征然后进行组合(这样更强大),一同送入到后续的结构。
The step size you take the filter to sweep the image
2.6 池化(pooling)
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 的结果是不变的
2.7 flatten
2. 8 Convolution v.s. Fuly Connected
2.9 The whole CNN
Convolution
Nonlinearity:e.g.ReLU
Pooling
FC Layers
3. Why CNN
4. 对CNN的其他一些理解
4.1 关于接受域(receptive field)
4.2 卷积与池化作为一种无限强的先验
首先,弱先验具有较高的熵值,因此自由性较强,强先验具有较低的熵值,这样的先验在决定参数最终取值时可以起着非常积极的作用。
把卷积网络类比成全连接网络,但对于网络的权重具有无限强的先验。
卷积和池化可能导致欠拟合!任何其他先验类似,卷积和池化只有当先验的夹着合理且正确时才有用。如果一项任务依赖于保存精确的空间信息,那么在所有的特征上使用池化将会增大训练误差。
根据实际需求选取先验
5. CNN in Pytorch
参考:
如何通俗易懂得解释卷积(马同学知乎答案)
李宏毅老师slides