NJU1healer的个人博客分享 http://blog.sciencenet.cn/u/NJU1healer

博文

1*1卷积的作用

已有 801 次阅读 2021-4-3 22:15 |个人分类:机器学习|系统分类:科研笔记

       1*1卷积过滤器 和正常的过滤器一样,唯一不同的是它的大小是1*1,没有考虑在前一层局部信息之间的关系。最早出现在 Network In Network的论文中 ,使用1*1卷积是想加深加宽网络结构在Inception网络( Going Deeper with Convolutions )中用来降维,如下图:

image.png

图1 Inception的举例       

       此为Inception的结构,尽管也有不同的版本,但是其动机都是一样的:消除尺寸对于识别结果的影响,一次性使用多个不同filter size来抓取多个范围不同的概念,并让网络自己选择需要的特征。

       你也一定注意到了蓝色的1x1卷积,撇开它,先看左边的这个结构。 输入(可以是被卷积完的长方体输出作为该层的输入)进来后,通常我们可以选择直接使用像素信息(1x1卷积)传递到下一层,可以选择3x3卷积,可以选择5x5卷积,还可以选择max pooling的方式downsample刚被卷积后的feature maps。 但在实际的网络设计中,究竟该如何选择需要大量的实验和经验的。 Inception就不用我们来选择,而是将4个选项给神经网络,让网络自己去选择最合适的解决方案。 接下来我们再看右边的这个结构,多了很多蓝色的1x1卷积。 这些1x1卷积的作用是为了让网络根据需要能够更灵活的控制数据的depth的。

1x1卷积核示范说明 

       如果卷积的输出输入都只是一个平面,那么1x1卷积核并没有什么意义,它是完全不考虑像素与周边其他像素关系。 但卷积的输出输入是长方体,所以1x1卷积实际上是对每个像素点,在不同的channels上进行线性组合(信息整合),且保留了图片的原有平面结构,调控depth,从而完成升维或降维的功能。 

       如图2所示,如果选择2个filters的1x1卷积层,那么数据就从原本的depth 3 降到了2。若用4个filters,则起到了升维的作用。 这就是为什么上面Inception的4个选择中都混合一个1x1卷积,如右侧所展示的那样。 其中,绿色的1x1卷积本身就1x1卷积,所以不需要再用另一个1x1卷积。 而max pooling用来去掉卷积得到的Feature Map中的冗余信息,所以出现在1x1卷积之前,紧随刚被卷积后的feature maps。(目前不清楚调换顺序会有什么影响)

image.png

图2 1*1卷积升降维

总结来说,1*1卷积主要有以下作用

1、升维,降维或保持不变(通道数channels)。比如,一张500 * 500且厚度depth为100 的图片在20个filter上做1*1的卷积,那么结果的大小为500*500*20。

2、加入非线性。多个1*1的卷积核级联加上配套的非线性激活函数(non-linear activation),将feature map的多通道线性组合变为非线性组合(信息整合),提高特征抽象能力,提升网络的表达能力。

【参考】

https://www.zhihu.com/question/56024942

https://haokan.baidu.com/v?vid=17425239680936457786&pd=bjh&fr=bjhauthor&type=video

点滴分享,福泽你我!Add oil!



https://wap.sciencenet.cn/blog-3428464-1280147.html

上一篇:Inception Modules
下一篇:对学习概率论和数理统计有帮助的软件(Web)

1 彭海杰

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2021-10-26 17:54

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部