CNN中神奇的1x1卷积

2020 年 2 月 11 日 计算机视觉life

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货


我们知道在CNN网络中,会有各种size的卷积层,比如常见的3x3,5x5等,卷积操作是卷积核在图像上滑动相乘求和的过程,起到对图像进行过滤特征提取的功能。但是我们也会遇见1x1的卷积层,比如在GoogleNet中的Inception模块,如下图:

我们看到上图中有4个1x1的卷积,那么他们起着什么作用呢?为什么要这样做呢?


设计思路:考虑到有些物体比较大,有些物体比较小,所以用不同size的卷积核进行特征提取。其实最简单的可以看做是全连接,它的计算方式跟全连接是一样的。


1x1卷积作用

  • 增加非线性

1x1的卷积核的卷积过程相当于全链接层的计算过程,并且还加入了非线性激活函数,从而可以增加网络的非线性,使得网络可以表达更加复杂的特征。

  • 特征降维


通过控制卷积核的数量达到通道数大小的放缩。特征降维带来的好处是可以 减少参数和减少计算量。



降维的优势

增加非线性好理解,通过控制卷积核的数量来达到通道数的缩放也好理解,那么怎么减少计算量和减少参数呢?我们从一个实例来看:假如前一层输入大小为28 x 28 x 192,输出大小为28 x 28 x 32,如下:

减少计算量:

不引入1x1卷积的卷积操作如下:

上图计算量为:

28 x 28 x 192 x 5 x 5 x 32 = 120,422,400次


引入1x1卷积的卷积操作:

引入1x1卷积后的计算量为:

28 x 28 x 192 x 1 x 1 x 16 + 28 x 28 x 16 x 5 x 5 x 32 = 12,443,648次

从上面计算可以看出,相同的输入,相同的输出,引入1x1卷积后的计算量大约

是不引入的1/10



减少权重个数


Inception的初始版本就是没有加入1x1卷积的网络,如下图:

假如previous layer的大小为28x28x192,那么上面网络的权重个数为:

1 x 1 x 192 x 64 + 3 x 3 x 192 x 128 + 5 x 5 x 192 x 32 = 387072个

其输出的特征图大小为:

28 x 28 x 64 + 28 x 28 x 128 + 28 x 28 x 32 + 28 x 28 x 192 = 28 x 28 x 416


加入1x1卷积的Inception网络如下图,那么该网络的权重参数是多少呢?

如果previous layer的大小为28x28x192,那么上面网络的权重个数为:

1 x 1 x 192 x 64 + (1 x 1 x 192 x 96 + 3 x 3 x 96 x 128) + (1 x 1 x 192 x16 + 5 x 5 x 16 x 32) + 1 x 1 x 192 x 32 = 163328个

可见加上1x1卷积后,权重个数从38.7万个左右降到16.3万个左右,同时增加了网络的非线性。

其输出的特征图大小为:

28 x 28 x 64 + 28 x 28 x 128 + 28 x 28 x 32 + 28 x 28 x 32 = 28 x 28 x 256


这样,1x1卷积的增加在增加网络非线性的同时,减少了网络的计算量和权重个数。你Get到了吗?

交流群

欢迎加入公众号读者群一起和同行交流,目前覆盖SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、Re-id、强化学习、模型压缩剪枝、医学影像、GAN算法竞赛等微信群,请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

投稿、合作也欢迎联系:simiter@126.com

长按关注计算机视觉life


推荐阅读

最全综述 | 医学图像处理

最全综述 | 图像分割算法

最全综述 | 图像目标检测

目标检测技术二十年综述

综述 | CVPR2019目标检测方法进展
参加 CVPR 2019 技术见闻总结

现在投身于计算机视觉是否明智?

如何激怒一个自动驾驶(无人驾驶、智能汽车)爱好者?

原来CNN是这样提取图像特征的。

AI资源对接需求汇总:第1期
AI资源对接需求汇总:第2期
AI资源对接需求汇总:第3期

计算机视觉方向简介 | 人体骨骼关键点检测综述

计算机视觉方向简介 | 人脸识别中的活体检测算法综述

计算机视觉方向简介 | 目标检测最新进展总结与展望

计算机视觉方向简介 | 人脸表情识别

计算机视觉方向简介 | 人脸颜值打分

计算机视觉方向简介 | 深度学习自动构图

计算机视觉方向简介 | 基于RGB-D的3D目标检测

计算机视觉方向简介 | 人体姿态估计


最新AI干货,我在看  

登录查看更多
0

相关内容

在数学(特别是功能分析)中,卷积是对两个函数(f和g)的数学运算,产生三个函数,表示第一个函数的形状如何被另一个函数修改。 卷积一词既指结果函数,又指计算结果的过程。 它定义为两个函数的乘积在一个函数反转和移位后的积分。 并针对所有shift值评估积分,从而生成卷积函数。
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
26+阅读 · 2020年5月7日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
44+阅读 · 2020年4月17日
【CVPR2020-百度】用于视觉识别的门控信道变换
专知会员服务
13+阅读 · 2020年3月30日
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
39+阅读 · 2020年2月21日
CNN网络结构的发展(最全整理)
极市平台
73+阅读 · 2019年11月2日
图像分类:常用分类网络结构(附论文下载)
极市平台
13+阅读 · 2019年4月8日
什么是深度学习的卷积?
论智
18+阅读 · 2018年8月14日
深度学习、图像识别入门,从VGG16卷积神经网络开始
数据挖掘入门与实战
8+阅读 · 2018年3月28日
CNN 反向传播算法推导
统计学习与视觉计算组
30+阅读 · 2017年12月29日
从LeNet-5到DenseNet
AI研习社
9+阅读 · 2017年11月18日
干货 | 深度学习之卷积神经网络(CNN)的前向传播算法详解
机器学习算法与Python学习
9+阅读 · 2017年11月17日
干货 | 深度学习之卷积神经网络(CNN)的模型结构
机器学习算法与Python学习
12+阅读 · 2017年11月1日
[深度学习] AlexNet,GoogLeNet,VGG,ResNet简化版
机器学习和数学
20+阅读 · 2017年10月13日
CNN之卷积层
机器学习算法与Python学习
8+阅读 · 2017年7月2日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Simplifying Graph Convolutional Networks
Arxiv
12+阅读 · 2019年2月19日
Arxiv
7+阅读 · 2018年2月26日
Arxiv
6+阅读 · 2018年2月6日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关资讯
CNN网络结构的发展(最全整理)
极市平台
73+阅读 · 2019年11月2日
图像分类:常用分类网络结构(附论文下载)
极市平台
13+阅读 · 2019年4月8日
什么是深度学习的卷积?
论智
18+阅读 · 2018年8月14日
深度学习、图像识别入门,从VGG16卷积神经网络开始
数据挖掘入门与实战
8+阅读 · 2018年3月28日
CNN 反向传播算法推导
统计学习与视觉计算组
30+阅读 · 2017年12月29日
从LeNet-5到DenseNet
AI研习社
9+阅读 · 2017年11月18日
干货 | 深度学习之卷积神经网络(CNN)的前向传播算法详解
机器学习算法与Python学习
9+阅读 · 2017年11月17日
干货 | 深度学习之卷积神经网络(CNN)的模型结构
机器学习算法与Python学习
12+阅读 · 2017年11月1日
[深度学习] AlexNet,GoogLeNet,VGG,ResNet简化版
机器学习和数学
20+阅读 · 2017年10月13日
CNN之卷积层
机器学习算法与Python学习
8+阅读 · 2017年7月2日
相关论文
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Simplifying Graph Convolutional Networks
Arxiv
12+阅读 · 2019年2月19日
Arxiv
7+阅读 · 2018年2月26日
Arxiv
6+阅读 · 2018年2月6日
Arxiv
7+阅读 · 2018年1月24日
Top
微信扫码咨询专知VIP会员