卷积神经网络

卷积层

结构

卷积层有很多卷积核(filter),每个核的尺寸是 \(k \times k \times d\),其中 \(d\) 等同于图片的 channel 数。每块卷积核会与图片的对应块做内积。
卷积层
卷积运算过程的动态图如下:
卷积运算过程

池化层

MaxPooling 的效果如下:
池化层

池化层的直觉理解

池化层具有三个不变性:平移不变性、旋转不变性、放松不变性。池化层能有效将重要特征保留下来,减少计算压力。

卷积核的模式内涵

一个卷积核就是一个局部模型的侦测器,那么如何知道这个卷积核所侦测的模式是什么?假设输入为\(x\),经过一系列的卷积及池化操作,\(f = pool(conv(pool(conv(x))))\),简记为 \(f = f(x)\)。函数 \(f\) 暗藏了卷积与池化的操作过程。可知此函数输出若干个矩阵,代表若干个滤波流的工作结果。取每个矩阵的元素和,记作 \(a_j\),其含义为输入影像与该滤波流的关联程度,或输入影像激活该滤波流的激活程度。进而利用梯度下降算法,可求得使得某条滤波流激活程度最大的输入影像。这个过程如同卷积、池化层框架参数既定,而优化输入影像。这与常规操作相反,常规操作是既定输入影像去优化框架参数。下图是手写数字的不同滤波流所产生的最大激活样本:
侦测模块
可以看出,每个滤波流其实只是描述了一个局部特性。

总结

  1. CNN 对尺寸不同的 pattern 侦测效果略差。但是有一篇 paper 讲述如何在 CNN 之前加一个神经网络用来调整影像尺寸以及做出旋转。
  2. 一个卷积核可理解为一个侦测某种 pattern 的侦测器。
  3. 卷积核名曰卷积核的缘故,大抵因其运算卷积块和影像块时用了线性核。
  4. 卷积操作可理解为计算相似性,影像局部与侦测模块的相似性。
posted @ 2020-02-08 19:32  问李白买酒  阅读(322)  评论(0)    收藏  举报