1x1的卷积为什么代替全连接

1x1的卷积作用我们肯定很好理解:

1.跨通道的特征整合

比如:输入的特征是32x64x64(32为通道数),我想要把32个通道的信息进行融合,最后输出8个特征,那我们就可以设计1x1的卷积核为:输入通道:32,输出通道:8。

2.特征通道的升维和降维

上面的例子也是一个降维的操作,我们把32通道的特征图融合成了8通道的特征图,这样做可以融合不同的特征模式(其本质是增大感受野)。

升维是把特征上升到更高维度,比如,我们设计1x1卷积核为:输入通道:32,输出通道:64,这样可以得到更多的特征模式。

3.减少模型参数量

1x1的卷积为什么代替全连接_第1张图片

图1

我们可以看到,以一种方式:直接把192x28x28的数据放入5x5的卷积,参数量是120,422,400。而第二种方式:在放入5x5卷积之前,先用1x1卷积进行变换通道,这样的参数量是12,433,648。直接少了一个量级。

ok,接下来,我们谈一个更有意思的话题:1x1的卷积可以代替全连接层

我们以单通道的3x3的特征图为例

1 2 3
4 5 6
7 8 9

我们把该特征图开成一维(9个)

1
2
3
4
5
6
7
8
9

1x1的卷积为什么代替全连接_第2张图片

 图2

上面是一个神经元的输出,我们可以发现,全连接层其实就是一个全局的卷积

1 2 3
4 5 6
7 8 9

                            

           

                     X              

w1 w2 w3
w4 w5 w6
w7 w8 w9

= 卷积后的输出:
1xw1+2xw2+3xw3+…+9xw9

我们发现,全连接层和卷积是一样的。

我们再来看一看1x1的卷积是如何运算的

1 2 3
4 5 6
7 8 9

 

                                      X                          

w

= 卷积后的输出:

1xw+2x2+...+9xw

我们发现,其实也是差不多的,只是卷积的w是共享参数的。

我们思考这样一个问题:为什么矩阵形式的形式的特征图好像和一维展开的数据一致了,这一由卷积的运算顺序决定的:

1x1的卷积为什么代替全连接_第3张图片

 图3

我们发现,这是一个“2”型的结构,卷积的运算过程就相当于把数据拉直了,并且他是1 x1的卷积,始终保持保持了和全连接层一样的线性关系

当然,这里只探讨了单通道,多通道也是一样的。

你可能感兴趣的:(深度学习理论篇,深度学习,cnn,计算机视觉,人工智能,图像处理)