CNN中卷积操作十大改进方向(Depth-wiseDilatedDeformableShu。。。

CNN中卷积操作⼗⼤改进⽅向(Depth-
wiseDilatedDeformableShu。。。
转⾃:
著作权归作者所有。商业转载请联系作者获得授权,⾮商业转载请注明出处。
CNN从2012年的AlexNet发展⾄今,科学家们发明出各种各样的CNN模型,⼀个⽐⼀个深,⼀个⽐⼀个准确,⼀个⽐⼀个轻量。我下⾯会对近⼏年⼀些具有变⾰性的⼯作进⾏简单盘点,从这些充满⾰新性的⼯作中探讨⽇后的CNN变⾰⽅向。
注:⽔平所限,下⾯的见解或许有偏差,望⼤⽜指正。另外只介绍其中具有代表性的模型,⼀些著名的模型由于原理相同将不作介绍,若有遗漏也欢迎指出。
⼀、卷积只能在同⼀组进⾏吗?-- Group convolution
Group convolution 分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同⼀个GPU处理,因此作者把feature maps分给多个GPU分别进⾏处理,最后把多个GPU的结果进⾏融合。
alexnet
分组卷积的思想影响⽐较深远,当前⼀些轻量级的SOTA(State Of The Art)⽹络,都⽤到了分组卷积的操作,以节省计算量。但题主有个疑问是,如果分组卷积是分在不同GPU上的话,每个GPU的计算量就降低到 1/groups,但如果依然在同⼀个GPU上计算,最终整体的计算量是否不变?了pytorch上有关组卷积操作的介绍,望读者解答我的疑问。
朝鲜族语言pytroch github
⼆、卷积核⼀定越⼤越好?-- 3×3卷积核
AlexNet中⽤到了⼀些⾮常⼤的卷积核,⽐如11×11、5×5卷积核,之前⼈们的观念是,卷积核越⼤,receptive field(感受野)越⼤,看到的图⽚信息越多,因此获得的特征越好。虽说如此,但是⼤的卷积核会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低。于是在Inception⽹络中,作者提出利⽤2个3×3卷积核的组合⽐1个5×5卷积核的效果更佳,同时参数量(3×3×2+1 VS
5×5×1+1)被降低,因此后来3×3卷积核被⼴泛应⽤在各种模型中。
机械成孔灌注桩
三、每层卷积只能⽤⼀种尺⼨的卷积核?-- Inception结构
传统的层叠式⽹络,基本上都是⼀个个卷积层的堆叠,每层只⽤⼀个尺⼨的卷积核,例如VGG结构中使⽤了⼤量的3×3卷积层。事实上,同⼀层feature map可以分别使⽤多个不同尺⼨的卷积核,以获得不同尺度的特征,再把这些特征结合起来,得到的特征往往⽐使⽤单⼀卷积核的要好,因此⾕歌发明的GoogleNet,或者说Inception系列的⽹络,就使⽤了多个卷积核的结构:
最初版本的Inception结构
如上图所⽰,⼀个输⼊的feature map分别同时经过1×1、3×3、5×5的卷积核的处理,得出的特征再组
合起来,获得更佳的特征。但这个结构会存在⼀个严重的问题:参数量⽐单个卷积核要多很多,如此庞⼤的计算量会使得模型效率低下。这就引出了⼀个新的结构:
四、怎样才能减少卷积层参数量?-- Bottleneck
发明GoogleNet的团队发现,如果仅仅引⼊多个尺⼨的卷积核,会带来⼤量的额外的参数,为了解决这个问题,他们往Inception结构中加⼊了⼀些1×1的卷积核,如图所⽰:
加⼊1×1卷积核的Inception结构
根据上图,我们看着1×1 --> 3×3这段通路,来做个计算,假设输⼊feature map的维度为256维,要求输出维度也是256维。有以下两种操作:
1. 256维的输⼊直接经过⼀个3×3×256的卷积层,输出⼀个256维的feature map,那么参数量为:256×3×3×256 = 589,824
2. 256维的输⼊先经过⼀个1×1×64的卷积层,再经过⼀个3×3×64的卷积层,最后经过⼀个3×3×256的卷积层,输出256维,
参数量为:256×1×1×64 + 64×3×3×63 + 64×1×1×256 = 69,632。⾜⾜把第⼀种操作的参数量降低到九分之⼀!
李森科1×1卷积核也被认为是影响深远的操作,往后⼤型的⽹络为了降低参数量都会应⽤上1×1卷积核。
五、越深的⽹络就越难训练吗?-- Resnet残差⽹络
ResNet skip connection
六、卷积操作时所有通道都只能⽤同⼀个过滤器吗?-- DepthWise操作
标准的卷积过程可以看上图,⼀个2×2的卷积核在卷积时,对应图像区域中的所有通道均⽤同⼀个过滤器,问题在于,为什么⼀定要同时考虑图像区域和通道?我们为什么不能每个通道分开考虑?
Xception⽹络就是基于以上的问题发明⽽来。我们⾸先对每⼀个通道进⾏各⾃的卷积操作,有多少个通道就有多少个过滤器。得到新的通道feature maps之后,这时再对这批新的通道feature maps进⾏东四奥林匹克社区公园
标准的1×1跨通道卷积操作。这种操作被称为 “DepthWise convolution” ,缩写“DW”。
这种操作是相当有效的,在imagenet 1000类分类任务中已经超过了InceptionV3的表现,⽽且也同时减少了⼤量的参数,我们来算⼀算,假设输⼊通道数为3,要求输出通道数为256,两种做法:
1.直接接⼀个3×3×256的卷积核,参数量为:3×3×3×256 = 6,912
2.DW操作,分两步完成,参数量为:3×3×3 + 3×1×1×256 = 795,⼜把参数量降低到九分之⼀!
因此,⼀个depthwise操作⽐标准的卷积操作降低不少的参数量,同时得到更好的效果,因为它对每⼀个通道都进⾏了学习(每个通道对应⼀个不同的过滤器),⽽不是所有通道对应同⼀个过滤器,得到的特征质量更佳!
七、分组卷积能否对通道进⾏随机分组?-- ShuffleNet
在AlexNet的Group Convolution当中,特征的通道被平均分到不同组⾥⾯,最后再通过两个全连接层来融合特征,这样⼀来,就只能在最后时刻才融合不同组之间的特征,对模型的泛化性是相当不利的。为了解决这个问题,ShuffleNet在每⼀次层叠这种Group conv层前,都进⾏⼀次channel shuffle,shuffle过的通道被分配到不同组当中。进⾏完⼀次group conv之后,再⼀次channel shuffle,然后分到下⼀层组卷积当中,以此循环。
来⾃ShuffleNet论⽂
经过channel shuffle之后,Group conv输出的特征能考虑到更多通道,输出的特征⾃然代表性就更⾼。另外,AlexNet的分组卷积,实际上是标准卷积操作,⽽在ShuffleNet⾥⾯的分组卷积操作是depthwise卷积,因此结合了通道洗牌和分组depthwise卷积的ShuffleNet,能得到超少量的参数以及超越mobilenet、媲美AlexNet的准确率!
⼋、通道间的特征都是平等的吗? -- SEnet
⽆论是在Inception、DenseNet或者ShuffleNet⾥⾯,我们对所有通道产⽣的特征都是不分权重直接结合的,那为什么要认为所有通道的特征对模型的作⽤就是相等的呢? 这是⼀个好问题,于是,ImageNet2017 冠军SEnet就出来了。
SEnet 结构
九、能否让固定⼤⼩的卷积核看到更⼤范围的区域?-- Dilated convolution
标准的3×3卷积核只能看到对应区域3×3的⼤⼩,但是为了能让卷积核看到更⼤的范围,dilated conv使其成为了可能。dilated conv原论⽂中的结构如图所⽰:
⼗、卷积核形状⼀定是矩形吗?-- Deformable convolution 可变形卷积核
传统的卷积核⼀般都是长⽅形或正⽅形,但MSRA提出了⼀个相当反直觉的见解, 认为卷积核的形状可以是变化的,变形的卷积核能让它只看感兴趣的图像区域 ,这样识别出来的特征更佳。
启发与思考
华电集团招标采购网现在越来越多的CNN模型从巨型⽹络到轻量化⽹络⼀步步演变,模型准确率也越来越⾼。现在⼯业界追求的重点已经不是准确率的提升(因为都已经很⾼了),都聚焦于速度与准确率的trade off,都希望模型⼜快⼜准。因此从原来AlexNet、VGGnet,到体积⼩⼀点的Inception、Resnet系列,到⽬前能移植到移动端的mobilenet、ShuffleNet(体积能降低到0.5mb!),我们可以看到这样⼀些趋势:
卷积核⽅⾯:
1. ⼤卷积核⽤多个⼩卷积核代替;
2. 单⼀尺⼨卷积核⽤多尺⼨卷积核代替;
3. 固定形状卷积核趋于使⽤可变形卷积核;
4. 使⽤1×1卷积核(bottleneck结构)。
卷积层通道⽅⾯:
1. 标准卷积⽤depthwise卷积代替;
高压绝缘材料2. 使⽤分组卷积;
3. 分组卷积前使⽤channel shuffle;
4. 通道加权计算。
卷积层连接⽅⾯:
1. 使⽤skip connection,让模型更深;
2. densely connection,使每⼀层都融合上其它层的特征输出(DenseNet)
启发
类⽐到通道加权操作,卷积层跨层连接能否也进⾏加权处理?bottleneck + Group conv + channel shuffle + depthwise的结合会不会成为以后降低参数量的标准配置?

本文发布于:2024-09-22 02:01:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/475099.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:卷积   通道   特征   操作   计算   模型   分组
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议