深度学习《CNN架构续篇 - 1乘1卷积》

这里专门花一个小篇幅介绍下1*1卷积核。承上启下,为后面的内容做学习铺垫。

一:11 卷积的操作实践
卷积核一般有1
1,33,55的卷积核,今天来说说这个1*1卷积的使用,假如,步长Stride=1,Padding=1,那么根据之前的计算公式,输出图像就是和输入图像的大小(长度和宽度)是完全一样的了,而且,因为1×1卷积核只有一个参数,那么实际上也就是给元乳香乘以了某个系数,完全的线性变化(也可以理解成一个数字和一个矩阵的数乘运算的过程,多个通道的情况就是多个数乘的结果累加而已)。
比如下面的计算过程:
在这里插入图片描述

上图是一个简单的数乘计算。基本没什么用处。但是放到多通道的情况下,就不一样的了。
假设输入层表示为[1, 64, 28, 28]
卷积核表示为[16, 64, 1, 1]
那么可以得到输出层的表示是[1, 16, 28, 28]

我们可以发现经1*1 的卷积变换后,图像的大小不会变化,像素值也是线性变化,但是通道数的数量却发生了变化,因为输出层的通道数目就是卷积核的数量,由此我们可以控制输出的通道数。

二:11卷积有什么用?
上述也讲了我们可以用1
1 的卷积,控制卷积核的数量,就是控制输出层的通道数,因此,就可以实现对图像的降维和升维操作。

还有一个操作就是能减少计算量,加快训练速度:
如下例子:

在这里插入图片描述

很明显运算量少了很多啊,加快训练速度,这个也就是在InceptionNet里面我们会使用的方式,这里提前先介绍下1*1卷积的左右,后面学习Google InceptionNet的时候也会明白这么设计的原因。

猜你喜欢

转载自blog.csdn.net/qq_29367075/article/details/108906587