MobileNetv2架构是基于倒置残差结构(inverted residual structure),原本的残差结构的主分支是有三个卷积,两个逐点卷积通道数较多,而倒置的残差结构刚好相反,中间的卷积通道数(依旧使用深度分离卷积结构)较多,旁边的较小。此外,我们发现去除主分支中的非线性变换是有效的,这可以保持模型表现力。
论文的主要贡献在于提出一种新型层结构: 具有线性瓶颈的倒残差结构(the inverted residual with linear bottleneck)。
该模块首先将输入的低维压缩表示(low-dimensional compressed representation)扩展到高维,使用轻量级深度卷积做过滤;随后用linear bottleneck将特征投影回低维压缩表示。
上图是作者展示用RELU激活时,当channel越小,丢失的信息越多,当channel越大,丢失的信息越少。其实不难理解,
当channel为2时,信息都集中在这两个channel中,如果有部分数值小于0就会被RELU激活丢失掉。
而如果channel为30,其实信息是分散的,而且具有了冗余,所以通过RELU激活后归于0的值可能并不会影响太多信息的存储。
所以作者建议对于channel数很少的那些层做线性激活(linear Bottlenecks)。bottlenect就表示缩减的层(降维后的层),
linear bottleneck表示对channel减少的层(降维后的层)做线性激活。
如果要用RELU激活需要先增加channel数再做RELU激活。
论文针对这个问题使用linear bottleneck(即不使用ReLU激活,做了线性变换)的来代替原本的非线性激活变换。到此,优化网络架构的思路也出来了:通过在卷积模块中后插入linear bottleneck来捕获兴趣流形。 实验证明,使用linear bottleneck可以防止非线性破坏太多信息。
MobileNetV2的网络模块样子是这样的:
网络设计思路:
在V2的网络设计中,我们除了继续使用深度可分离(中间那个)结构之外,还使用了Expansion layer和 Projection layer。
这个projection layer也是使用 1x 1 的网络结构,他的目的是希望把高维特征映射到低维空间去。另外说一句,使用的网络结构将高维空间映射到低纬空间的设计就是作者提出的Bottleneck layer。
Expansion layer的功能正相反,使用 1x 1 的网络结构,目的是将低维空间映射到高维空间。这里Expansion有一个超参数是维度扩展几倍。可以根据实际情况来做调整的,默认值是6,也就是扩展6倍。
此图更详细的展示了整个模块的结构。我们输入是24维,最后输出也是24维。但这个过程中,我们扩展了6倍,然后应用深度可分离卷积进行处理。整个网络是中间胖,两头窄,像一个纺锤形。bottleneck residual block(ResNet论文中的)是中间窄两头胖
在MobileNetV2中正好反了过来,所以,在MobileNetV2的论文中我们称这样的网络结构为Inverted residuals。需要注意的是residual connection是在输入和输出的部分进行连接。另外,我们之前已经花了很大篇幅来讲Linear Bottleneck,因为从高维向低维转换,使用ReLU激活函数可能会造成信息丢失或破坏(不使用非线性激活数数)。所以在projection convolution这一部分,我们不再使用ReLU激活函数而是使用线性激活函数。
相同点:
都使用了DW + PW 的组合来提取特征。
这种方法在mobilenetv1 、 Xception 中提及。主要是用来减少卷积层的时间复杂度以及空间复杂度。
不同点: Linear Bottleneck
https://zhuanlan.zhihu.com/p/98874284
https://zhuanlan.zhihu.com/p/33075914
https://zhuanlan.zhihu.com/p/60668529
https://www.jianshu.com/p/38dc74d12fcf?utm_source=oschina-app
https://blog.csdn.net/stesha_chen/article/details/82744320
https://blog.csdn.net/u011974639/article/details/79199588
https://blog.csdn.net/heiheiya/article/details/89023513
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有