共计 3391 个字符,预计需要花费 9 分钟才能阅读完成。
论文深入分析了 inverted residual block 的设计理念和毛病,提出更适宜轻量级网络的 sandglass block,基于该构造搭建的 MobileNext。依据论文的试验后果,MobileNext 在参数量、计算量和准确率上都有更优的体现,惟一遗憾的是论文没有列出在设施上的理论用时,如果补充一下更好了
起源:晓飞的算法工程笔记 公众号
论文: Rethinking Bottleneck Structure for Efficient Mobile Network.pdf
- 论文地址:https://arxiv.org/abs/2007.02269
- 论文代码:https://github.com/zhoudaquan/rethinking_bottleneck_design
Introduction
在介绍 MobileNext 前,先回顾一下 bottleneck 构造:
- Residual block with bottleneck structure,蕴含两个 $1\times 1$ 卷积层用于维度的升高和扩充,以及两头的 $3\times 3$ 卷积用于提取特色,如图 2a。这个构造不适用于轻量级网络,因为两头的 $3\times 3$ 卷积的参数量和计算量都十分大。
- Depthwise separable convolutions,为了解决规范卷积带来的参数量和计算量问题,将其合成为 depthwise 卷积和 pointwise 卷积,前者用于提取单维度的特色,后者用于线性组合多维度特色,大幅升高了计算量和参数量。
- Inverted residual block,专为挪动设备设计,为了节俭计算量,输出改为低维度特色,先通过 pointwise 卷积扩充维度,而后通过 depthwise 卷积提取特色,最初通过 pointwise 卷积升高维度输入,如图 2b。这里有两点不影响准确率的性能改良:1)skip path 仅建设在低维度 bottleneck 间。2)最初一个 pointwise 卷积不须要非线性激活。
只管 Inverted residual block 性能不错,但两头须要将特色先降到较低的维度,会导致以下几个问题:
- 升高维度可能不足以保留足够的有用信息。
- 近期有钻研发现更宽的网络结构有助于缓解梯度混同(不同 batch 产生的梯度对消),可能晋升网络性能。
- shortcut 建设在 bottleneck 之间,因为 bottleneck 维度较少,也可能会妨碍梯度的回传。
为了解决上述问题,论文提出了设计更优的 sandglass block,构造如图 3c,基于此搭建了 MobileNeXt,在性能和计算量上都优于 MobileNetV2。
论文的次要奉献如下:
- 从新思考挪动网络的 bottleneck 构造,发现 inverted residual 并不是最优的 bottleneck 构造。
- 钻研发现,shortcut 应该建设在高维度特色上,depthwise 卷积应该利用在高维度特色空间上学习更多样特色,linear residual 是 bottleneck 构造的要害。
- 基于上述发现提出 sandglass block,更适宜挪动网络的搭建。
Method
Sandglass Block
Sandglass Block 的设计外围次要基于以下两个想法,也是与其余轻量级构造的次要区别:
- 为了更好地保留信息的传递和梯度的回传,shortcut 该当建设在高维度特色之间。
- 卷积核较小的 depthwise 卷积是轻量的,可用于对高维度特色进行进一步的特征提取。
Rethinking the positions of expansion and reduction layers
inverted residual block 先进行维度扩大,最初再进行缩减,依据设计外围将两个 pointwise 卷积的程序调换。定义 sandglass block 的输出和输入为 $F\in \mathbb{R}^{D_f\times D_f\times M}$ 和 $G\in \mathbb{R}^{D_f\times D_f\times M}$,则维度变动可示意为:
$\phi_e$ 和 $\phi_r$ 为用于维度扩大和缩减的 pointwise 卷积。这样的设计将 bottleneck 放弃在 residual path 两头可能缩小参数量和计算量,最重要的是,能将 shortcut 建设在维度较大的特色上。
High-dimensional shortcuts
shortcut 不再连贯低维度的 bottleneck,而是连贯维度较高的 $F$ 和 $G$。可能更好地传递信息和回传梯度。
Learning expressive spatial features
pointwise 卷积只能捕获通道间特色,不足空间特色的捕获能力。能够像 inverted residual block 那样两头应用 depthwise 卷积来显示地提取空间特色,如图 3a 所示。但因为 sandglass block 两头是 bottleneck,两头增加的 depthwise 卷积的卷积核数量很少,只能捕获大量空间信息。通过试验也发现,这样设计的准确率会比 MobileNetV2 降落 1%。
因而,sandglass block 将 depthwise 卷积置于 residual path 的结尾和结尾,如图 3b 所示,可示意为:
$\phi_{i,p}$ 和 $\phi_{i,d}$ 代表 $i$ 个 pointwise 卷积和 depthwise 卷积。比照 inverted residual block,因为当初 depthwise 卷积的输出为高维度特色,能够提取更丰盛的空间信息。
Activation layers
有钻研发现,应用线性 bottleneck 可能避免特征值变为零,缩小信息失落。依据这一倡议以及试验后果,sandglass block 仅在第一个 depthwise 卷积前面和第二个 pointwise 卷积前面增加激活层,其余的均不增加。
Block structure
sandglass block 的构造如表 1 所示,当输出和输入维度不一样时,不增加 shortcut,depthwise 卷积采纳 $3\times 3$ 卷积核,在须要的中央采纳 BN+ReLU6 的组合。
MobileNeXt Architecture
基于 sandglass block,构建了如表 2 所示的 MobileNeXt,结尾是 32 维输入的卷积,后续是 sandglass block 的重叠,最初是全局均匀池化,将二维的特色图压缩为一维,最初再由全连贯层输入每个类别的分数。
Identity tensor multiplier
只管 shortcut 连贯有助于梯度的回传,但论文通过试验发现,其实不须要放弃残缺的特色去跟 residual path 联合。为了让网络对挪动设施更敌对,论文提出超参数 identity tensor multiplier $\alpha\in[0,1]$,用于管制 shortcut 传递的特色维度。
定义 $\phi$ 为 residual path 的转换函数,原来的 residual block 计算可示意为 $G=\phi(F)+F$,加上超参数后,residual block 变为:
下标代表通道,应用较小的 $\alpha$ 有两个益处:
- 耗时的 element-wise addition 的计算将会缩小。
- 耗时的内存拜访 (MAC) 将缩小,另外因为须要缓存的 tensor 变小了,有助于将其缓存在高速内存中,能够进一步减速。
Experiment
与 MobileNetV2 在 ImageNet 上进行比照。
与其余网络在 ImageNet 上进行比照。
不同 identity tensor multiplier 的比照。
作为检测网络的骨干网络的比照。
Conclustion
论文深入分析了 inverted residual block 的设计理念和毛病,提出更适宜轻量级网络的 sandglass block,基于该构造搭建的 MobileNext。sandglass block 由两个 depthwise 卷积和两个 pointwise 卷积组成,局部卷积不需激活以及 shorcut 建设在高维度特色上。依据论文的试验后果,MobileNext 在参数量、计算量和准确率上都有更优的体现,惟一遗憾的是论文没有列出在设施上的理论用时,如果补充一下更好了。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】