卷积神经网络
卷积层
结构
卷积层有很多卷积核(filter),每个核的尺寸是 \(k \times k \times d\),其中 \(d\) 等同于图片的 channel 数。每块卷积核会与图片的对应块做内积。

卷积运算过程的动态图如下:

池化层
MaxPooling 的效果如下:

池化层的直觉理解
池化层具有三个不变性:平移不变性、旋转不变性、放松不变性。池化层能有效将重要特征保留下来,减少计算压力。
卷积核的模式内涵
一个卷积核就是一个局部模型的侦测器,那么如何知道这个卷积核所侦测的模式是什么?假设输入为\(x\),经过一系列的卷积及池化操作,\(f = pool(conv(pool(conv(x))))\),简记为 \(f = f(x)\)。函数 \(f\) 暗藏了卷积与池化的操作过程。可知此函数输出若干个矩阵,代表若干个滤波流的工作结果。取每个矩阵的元素和,记作 \(a_j\),其含义为输入影像与该滤波流的关联程度,或输入影像激活该滤波流的激活程度。进而利用梯度下降算法,可求得使得某条滤波流激活程度最大的输入影像。这个过程如同卷积、池化层框架参数既定,而优化输入影像。这与常规操作相反,常规操作是既定输入影像去优化框架参数。下图是手写数字的不同滤波流所产生的最大激活样本:

可以看出,每个滤波流其实只是描述了一个局部特性。
总结
- CNN 对尺寸不同的 pattern 侦测效果略差。但是有一篇 paper 讲述如何在 CNN 之前加一个神经网络用来调整影像尺寸以及做出旋转。
- 一个卷积核可理解为一个侦测某种 pattern 的侦测器。
- 卷积核名曰卷积核的缘故,大抵因其运算卷积块和影像块时用了线性核。
- 卷积操作可理解为计算相似性,影像局部与侦测模块的相似性。

浙公网安备 33010602011771号