SqueezeNext | 轻量级深层神经网络

SqueezeNext网络于2018粘月公开于arxiv,它号称是基于SqueezeNet进行改进的又一轻量级网络,但它之所以不叫SqueezeNet V2,个人认为究其原因还是因为SqueezeNext其实本质上和SqueezeNet关系不是很大。。。SqueezeNext文章中比较有特色的是论文从硬件角度来分析提升速度,当然本文中对这一部分不做分析。本文主要介绍SqueezeNext的网络设计和整体结构。

论文链接:https://arxiv.org/abs/1803.10615
代码链接(Caffe):https://github.com/qiu931110/SqueezeNext
代码链接(TensorFlow):https://github.com/Timen/squeezenext-tensorflow
代码链接(Pytorch):https://github.com/osmr/imgclsmob

1.SqueezeNext网络结构

SqueezeNext整体网络结构如下图所示,论文作者通过加深和加宽网络来提升网络性能,因此SqueezeNext有很多种策略。如下图是baseline(1.0_SqNxt_23)的结构图。
SqueezeNext | 轻量级深层神经网络_第1张图片
上图网络中各个层的滤波器参数具体如下:
SqueezeNext | 轻量级深层神经网络_第2张图片

网络各种变形通式:a.0_[b]_SqNxt_c_[d]_[e]
a:必选值:
1.0表示baseline。
1.5表示网络每层通道数为baseline的1.5倍。
2.0表示网络每层通道数为baseline的两倍。
b:可选值:
选G:表示G表示当前网络的block中,第一个1*1卷积,3*1卷积和1*3卷积都用到了group=2的操作。
不选:表示没有group操作。
c:必选值:
23,34,44表示了网络深度。
d:可选值:
选v5:表示网络的第一层卷积核尺寸为5*5
不选v5:表示网络的第一层卷积核尺寸为7*7
e:可选值:
选IDA:网络应用了IDA
不选:网络没应用IDA

2.SqueezeNext设计

接下来通过图文并茂的方式来解释网络是如何工作的。
SqueezeNext | 轻量级深层神经网络_第3张图片

如上图所示SqueezeNext主要提出了如下几点创新:

(1)Low Rank Filters
将3*3卷积分解为:3*1+1*3,实现低秩滤波器从而减少网络参数。

(2)SqueezeNext Block
提出了如图所示先利用两个1*1卷积核进行降维减少输入通道数,再通过两个低秩滤波器,最后通过再升维。

(3)shortcut
引入了万能提升网络效果的shortcut策略。
SqueezeNext | 轻量级深层神经网络_第4张图片
如上图所示,为SqueezeNext网络和ResNet,SqueezeNet的核心结构示意图,三者的区别和联系显而易见。

3.实验结果

下面三张图展示了各种不同变种的网络的效果对比,最终体现了SqueezeNext的优越性。关于网络的各个值代表的意思在第二部分解释了。
SqueezeNext | 轻量级深层神经网络_第5张图片
SqueezeNext | 轻量级深层神经网络_第6张图片
SqueezeNext | 轻量级深层神经网络_第7张图片

你可能感兴趣的:(深度学习论文解读)