在架构内容设计方面,其中一个比较有帮助的想法是使用1×1卷积。
功能:
给神经网络添加一个非线性函数,从而减少或保持输入层中信道数量(甚至是增加)。
1×1卷积(Network in Network )
对一个6×6×1信道的图片进行1×1过滤器的卷积,就相当于对矩阵的每一个元素乘一个常数,效果不佳。
但如果是一个6×6×32的图片,那么a 1×1 fliter can do something that maks much more sense.
具体来说,1×1卷积所实现的功能是:遍历W×H个(这里是36个)单元格,计算左图中32个数字(信道数)和过滤器中32个数字(信道数)的智能乘积,然后应用ReLU非线性激活函数。这样计算的结果是得到一个实数。
这个1×1×nc(信道数)的32个数字(示例中的信道数为32)可以这样理解:一个神经元的输入是32个数字,乘以相同高度和宽度上某个切片上的32个数字(这32个数字具有不同通道),乘以32个权重,然后应用ReLU非线性函数,得到相应的1通道(fliters的个数)的输出。
所以1×1卷积可以从根本上理解为:
信道数(这里是32个)的单元都应用了一个全连接神经网络。全连接层的作用是输入信道数(32)个数字和过滤器数量nc[l+1],然后在W×H的每个位置重复此过程,以便在输入层上实施一个非平凡计算(???)。
1×1卷积的应用
压缩信道数(对应于池化层压缩W和H)
用深度为192的1×1(1×1×192)过滤器32个,来压缩信道数到32。
而当维持通道数为192不变也是可行的,1×1卷积只是增加了非线性函数,可以让网络学习更复杂的函数。