在设计卷积神经网络架构时,有时候想压缩input的width 和 height,通常的做法便是 加一层pooling layer。
但是第三维的信息,有时候过多,而且过于复杂,这时候就要用到1x1xchannel的filter了。
如图:
1X1x192的filter相当于对图片的某一个像素点进行神经网络的全连接,并且在矩阵计算后,把channel从192变为32.
并且可以消减算力,比如想把28x28x192的图像以5x5的32个filter转换为28x28x32的图像,则可以添加一层bottleneck layer也就是16个1x1x192的filter,作为过渡
Google Inception Net 首次出现在 ILSVRC 2014 的比赛中(和 VGGNet 同年),就以较大优势拔得头筹。那届比赛中的 Inception Net 一般被称为 Inception V1(version 1),其最大的优势在于控制 了参数量(也就控制了计算量)的同时,仍然能够获得非常好的分类性能 —— top-5 错误率 6.67%。
其中大量运用了1x1的 filter,原因是:
- 图片数据天然地邻近区域的数据相关性较高,也即可通过卷积操作使相邻的像素点连接在一起。我们可十分方便构造多个卷积核,在同一空间位置但不同通道的卷积核的输出结果相关性较高。
- 因此一个 1×11×1 的卷积就可以很自然地将这些相关性很高的、在同一空间位置但不同通道的特征连接在一起,这也正是 1×11×1的卷积会频繁地应用到 Inception Net 中的原因。
- 1×11×1 卷积所连接的节点的相关性是最高的,而稍微大一点尺寸的卷积,3×33×3、5×55×5 的卷积所连接的节点相关性也很高,因此可进一步地使用一些稍大尺寸的卷积,增加特征多样性(diversity)