论文深入分析了inverted residual block的设计理念和缺点,提出更适合轻量级网络的sandglass block,基于该结构搭建的MobileNext。根据论文的实验结果,MobileNext在参数量、计算量和准确率上都有更优的表现,唯一遗憾的是论文没有列出在设备上的实际用时,如果补充一下更好了
来源:晓飞的算法工程笔记 公众号
论文: Rethinking Bottleneck Structure for Efficient Mobile Network.pdf
在介绍MobileNext前,先回顾一下bottleneck结构:
尽管Inverted residual block性能不错,但中间需要将特征先降到较低的维度,会导致以下几个问题:
为了解决上述问题,论文提出了设计更优的sandglass block,结构如图3c,基于此搭建了MobileNeXt,在性能和计算量上都优于MobileNetV2。
论文的主要贡献如下:
Sandglass Block的设计核心主要基于以下两个想法,也是与其他轻量级结构的主要区别:
$\phi_e$和$\phi_r$为用于维度扩展和缩减的pointwise卷积。这样的设计将bottleneck保持在residual path中间能够减少参数量和计算量,最重要的是,能将shortcut建立在维度较大的特征上。
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卷积的输入为高维度特征,可以提取更丰富的空间信息。
sandglass block的结构如表1所示,当输入和输出维度不一样时,不添加shortcut,depthwise卷积采用$3\times 3$卷积核,在需要的地方采用BN+ReLU6的组合。
基于sandglass block,构建了如表2所示的MobileNeXt,开头是32维输出的卷积,后续是sandglass block的堆叠,最后是全局平均池化,将二维的特征图压缩为一维,最后再由全连接层输出每个类别的分数。
下标代表通道,使用较小的$\alpha$有两个好处:
与MobileNetV2在ImageNet上进行对比。
与其他网络在ImageNet上进行对比。
不同identity tensor multiplier的对比。
作为检测网络的主干网络的对比。
论文深入分析了inverted residual block的设计理念和缺点,提出更适合轻量级网络的sandglass block,基于该结构搭建的MobileNext。sandglass block由两个depthwise卷积和两个pointwise卷积组成,部分卷积不需激活以及shorcut建立在高维度特征上。根据论文的实验结果,MobileNext在参数量、计算量和准确率上都有更优的表现,唯一遗憾的是论文没有列出在设备上的实际用时,如果补充一下更好了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。