对于如下的二维矩阵,做1x1卷积,相当于直接乘以2,貌似看上去没什么意义。
但是,对于下面这种32通道的数据,如果用1个1x1x32的卷积核与其做卷积运算,得到的就是1个6x6的矩阵。
在这个过程中,发生了如下的事情:
(1)遍历36个单元格(6x6)
(2)计算左图中32个通道中截面与卷积核中32个元素的乘积
(3)此时得到的结果仍然是6x6x32的矩阵
(4)每个6x6的矩阵都叠加起来得到一个6x6的矩阵
(5)接下来用Relu函数作用于这个6x6的矩阵
(6)得到6x6的输出
同理,如果用N个1x1x32的卷积核与其做卷积运算,得到的就是N个6x6的矩阵。
所以,1x1的卷积可以从根本上理解为:有一个全连接的神经网络,作用在了不同的32个位置上。
这种做法通常称为Network in Network。它的主要作用就是降低通道数量。如下图所示:
28x28x192的数据被32个1x1x192的卷积核作用后,就变为28x28x32的数据。这也就是所谓通道压缩。这在Inception网络中很有用。