轻量级网络的外围是在尽量放弃精度的前提下,从体积和速度两方面对网络进行轻量化革新,本文对轻量级网络进行简述,次要波及以下网络:SqueezeNet系列ShuffleNet系列MnasNetMobileNet系列CondenseNetESPNet系列ChannelNetsPeleeNetIGC系列FBNet系列EfficientNetGhostNetWeightNetMicroNetMobileNe
轻量级网络的外围是在尽量放弃精度的前提下,从体积和速度两方面对网络进行轻量化革新,本文对轻量级网络进行简述,次要波及以下网络:
- SqueezeNet系列
- ShuffleNet系列
- MnasNet
- MobileNet系列
- CondenseNet
- ESPNet系列
- ChannelNets
- PeleeNet
- IGC系列
- FBNet系列
- EfficientNet
- GhostNet
- WeightNet
- MicroNet
- MobileNext
SqueezeNet系列
SqueezeNet系列是比拟晚期且经典的轻量级网络,SqueezeNet应用Fire模块进行参数压缩,而SqueezeNext则在此基础上退出拆散卷积进行改良。尽管SqueezeNet系列不如MobieNet应用宽泛,但其架构思维和试验论断还是能够值得借鉴的。
SqueezeNet
SqueezeNet是晚期开始关注轻量化网络的钻研之一,应用Fire模块进行参数压缩。
SqueezeNet的外围模块为Fire模块,构造如图1所示,输出层先通过squeeze卷积层($1\times 1$卷积)进行维度压缩,而后通过expand卷积层($1\times 1$卷积和$3\times 3$卷积混合)进行维度扩大。Fire模块蕴含3个参数,别离为squeeze层的$1\times 1$卷积核数$s_{1&#215;1}$、expand层的$1\times 1$卷积核数$e_{1&#215;1}$和expand层的$3\times 3$卷积核数$e_{3&#215;3}$,个别$s_{1&#215;1}<(e_{1&#215;1}+e_{3&#215;3})$
SqueezeNext
SqueezeNext是SqueezeNet实战升级版,间接和MobileNet比照性能。SqueezeNext全副应用规范卷积,剖析理论推理速度,优化的伎俩集中在网络整体构造的优化。
SqueezeNext的设计沿用残差构造,没有应用过后风行的深度拆散卷积,而是间接应用了拆散卷积,设计次要基于以下策略:
- Low Rank Filters
低秩合成的核心思想就是将大矩阵分解成多个小矩阵,这里应用CP合成(Canonical Polyadic Decomposition),将$K\times K$卷积分解成$K\times 1$和$1\times K$的拆散卷积,参数量能从$K^2$降为$2K$。
- Bottleneck Module
参数量与输入输出维度无关,尽管能够应用深度拆散卷积来缩小计算量,然而深度拆散卷积在终端零碎的计算并不高效。因而采纳SqueezeNet的squeeze层进行输出维度的压缩,每个block的结尾应用间断两个squeeze层,每层升高1/2维度。
- Fully Connected Layers
在AlexNet中,全连贯层的参数占总模型的96%,SqueezeNext应用bottleneck层来升高全连贯层的输出维度,从而升高网络参数量。
ShuffleNet系列
ShuffleNet系列是轻量级网络中很重要的一个系列,ShuffleNetV1提出了channel shuffle操作,使得网络能够纵情地应用分组卷积来减速,而ShuffleNetV2则推倒V1的大部分设计,从理论登程,提出channel split操作,在减速网络的同时进行了特色重用,达到了很好的成果。
ShuffleNet V1
ShuffleNet的外围在于应用channel shuffle操作补救分组间的信息交换,使得网络能够纵情应用pointwise分组卷积,不仅能够缩小次要的网络计算量,也能够减少卷积的维度。
在目前的一些支流网络中,通常应用pointwise卷积进行维度的升高,从而升高网络的复杂度,但因为输出维度较高,pointwise卷积的开销也是非常微小的。对于小网络而言,低廉的pointwise卷积会带来显著的性能降落,比方在ResNext unit中,pointwise卷积占据了93.4%的计算量。为此,论文引入了分组卷积,首先探讨了两种ShuffleNet的实现:
- 图1a是最间接的办法,将所有的操作进行了相对的维度隔离,但这会导致特定的输入仅关联了很小一部分的输出,阻隔了组间的信息流,升高了表达能力。
- 图1b对输入的维度进行重新分配,首先将每个组的输入分成多个子组,而后将每个子组输出到不同的组中,可能很好地保留组间的信息流。
图1b的思维能够简略地用channel shuffle操作进行实现,如图1c所示,假如蕴含$g$组的卷积层输入为$g\times n$维,首先将输入reshape()为$(g, n)$,而后进行transpose(),最初再flatten()回$g\times n$维。
ShuffleNet V2
ShuffleNetV1的pointwise分组卷积以及bottleneck后果均会进步MAC,导致不可漠视的计算损耗。为了达到高性能以及高准确率,要害是在不通过浓密卷积以及过多分组的状况下,取得输入输出一样的大维度卷积。ShuffleNet V2从实际登程,以理论的推理速度为领导,总结出了5条轻量级网络的设计要领,并依据要领提出了ShuffleNetV2,很好地兼顾了准确率和速度,其中channel split操作非常亮眼,将输出特色分成两局部,达到了相似DenseNet的特色重用成果。
ShuffeNetV1的unit构造如图3ab所示,在V1的根底上退出channel split操作,如图3c所示。在每个unit的结尾,将特色图分为$c-c^{&#8216;}$以及$c^{&#8216;}$两局部,一个分支间接往后传递,另一个分支蕴含3个输入输出维度一样的卷积。V2不再应用分组卷积,因为unit的结尾曾经相当于进行了分组卷积。在实现卷积操作后,将特色concate,复原到unit的输出大小,而后进行channel shuffle操作。这里没有了element-wise adddition操作,也节俭了一些计算量,在实现的时候将concat/channel shuffle/channel split合在一起做了,可能进一步晋升性能。
空间下采样时对unit进行了大量的批改,如图3d所示,去掉了channel split操作,因而输入大小升高一倍,而维度则会增加一倍。
MnasNet
论文提出了挪动端的神经网络架构搜寻办法,该办法次要有两个思路,首先应用多指标优化办法将模型在理论设施上的耗时融入搜寻中,而后应用合成的档次搜寻空间让网络放弃层多样性的同时,搜寻空间仍然很简洁,MnasNet可能在准确率和耗时中有更好的trade off
MobileNet系列
MobileNet系列是很重要的轻量级网络家族,出自谷歌,MobileNetV1应用深度可拆散卷积构建轻量级网络,MobileNetV2提出翻新的inverted residual with linear bottleneck单元,尽管层数变多了,然而整体网络准确率和速度都有晋升,MobileNetV3则联合AutoML技术与人工微调进行更轻量级的网络构建。
MobileNetV1
MobileNetV1基于深度可拆散卷积构建了十分轻量且提早小的模型,并且能够通过两个超参数进一步管制模型的大小,该模型可能利用到终端设备中,具备很重要的实际意义。
MobileNet通过深度可拆散卷积优进行计算量优化,将规范卷积转化为深度卷积和$1\times 1$pointwise卷积,每层前面都会接BN和ReLU。
MobileNetV2
MobileNetV2首先表明高维特色理论能够用紧凑的低维特色表白,而后提出了新的层单元inverted residual with linear bottleneck,该构造与残差网络单元相似,都蕴含shorcut,区别在于该构造是输入输出维度少,两头通过线性卷积先扩大升维,而后通过深度卷积进行特征提取,最初再映射降维,能够很好地放弃网络性能且网络更加轻量。
MobileNetV3
MobileNetV3先基于AutoML构建网络,而后进行人工微调优化,搜寻办法应用了platform-aware NAS以及NetAdapt,别离用于全局搜寻以及部分搜寻,而人工微调则调整了网络前后几层的构造、bottleneck退出SE模块以及提出计算高效的h-swish非线性激活。
CondenseNet
DenseNet基于特色复用,可能达到很好的性能,然而论文认为其内在连贯存在很多冗余,晚期的特色不须要复用到较后的层。为此,论文基于可学习分组卷积提出CondenseNet,可能在训练阶段主动稠密网络结构,抉择最优的输入输出连贯模式,并在最初将其转换成惯例的分组卷积分组卷积构造。
分组卷积的学习蕴含多个阶段,前半段训练过程蕴含多个condensing阶段,联合疏导稠密化的正则化办法来重复训练网络,而后将不重要的filter剪枝。后半部分为optimization阶段,这个阶段对剪枝固定后的网络进行学习。
ESPNet系列
ESPNet系列的外围在于空洞卷积金字塔,每层具备不同的dilation rate,在参数量不减少的状况下,可能交融多尺度特色,绝对于深度可拆散卷积,深度可拆散空洞卷积金字塔性价比更高。另外,HFF的多尺度特色交融办法也很值得借鉴 。
ESPNet
ESPNet是用于语义宰割的轻量级网络,外围在于ESP模块。如图a所示,该模块蕴含point-wise卷积和空洞卷积金字塔,别离用于升高计算复杂度以及重采样无效感触域不同的特色。ESP模块比其它卷积合成办法(mobilenet/shufflenet)更高效,ESPNet能在GPU/笔记本/终端设备上达到112FPS/21FPS/9FPS。
另外,论文发现,只管空洞卷积金字塔带来更大的感触域,但间接concate输入却会带来奇怪网格纹路。为了解决这个问题,论文提出图b的HFF操作,在concate之前先将输入进行层级相加。绝对于增加额定的卷积来进行后处理,HFF可能无效地解决网格纹路而不带来过多的计算量。另外,为了保障网络的梯度传递,在ESP模块增加了一条从输出到输入的shortcut连贯。
ESPNetV2
ESPNetv2在ESPNet的根底上联合深度拆散卷积的设计办法,进行了进一步的模型轻量化。首先将point-wise卷积替换为分组point-wise卷积,而后将计算量较大的空洞卷积替换为深度可拆散空洞卷积,最初仍然应用HFF来打消网格纹路,输入特色减少一次特征提取,失去图b的构造。思考到独自计算K个point-wise卷积等同于单个分组数为K的point-wise分组卷积,而分组卷积的在实现上更高效,于是改良为图c的最终构造。
ChannelNets
论文提出channel-wise卷积的概念,将输入输出维度的连贯进行稠密化而非全连贯,区别于分组卷积的严格分组,以相似卷积滑动的模式将输出channel与输入channel进行关联,可能更好地保留channel间的信息交换。基于channel-wise卷积的思维,论文进一步提出了channel-wise深度可拆散卷积,并基于该构造替换网络最初的全连贯层+全局池化的操作,搭建了ChannelNets。
PeleeNet
基于DenseNet的浓密连贯思维,论文通过一系列的构造优化,提出了用于挪动设施上的网络结构PeleeNet,并且交融SSD提出指标检测网络Pelee。从试验来看,PeleeNet和Pelee在速度和精度上都是不错的抉择。
IGC系列
IGC系列网络的外围在分组卷积的极致使用,将惯例卷积分解成多个分组卷积,可能缩小大量参数,另外互补性准则和排序操作可能在起码的参数量状况下保障分组间的信息流通。但整体而言,尽管应用IGC模块后参数量和计算量升高了,但网络结构变得更为繁琐,可能导致在实在应用时速度变慢。
IGCV1
Interleaved group convolution(IGC)模块蕴含主分组卷积和次分组卷积,别离对主分区和次分区进行特征提取,主分区通过输出特色分组取得,比方将输出特色分为$L$个分区,每个分区蕴含$M$维特色,而对应的次分区则分为$M$个分区,每个分区蕴含$L$维特色。主分组卷积负责对输出特色图进行分组特征提取,而次组卷积负责对主分组卷积的输入进行交融,为$1\times 1$卷积。IGC模块模式上与深度可拆散卷积相似,但分组的概念贯通整个模块,也是节俭参数的要害,另外模块内补充了两个排序模块来保障channel间的信息交换。
IGCV2
IGCV1通过两个分组卷积来对原卷积进行合成,缩小参数且放弃残缺的信息提取。但作者发现,因为主分组卷积和次分组卷积在分组数上是互补的,导致次卷积的分组数个别较小,每个分组的维度较大,次卷积核较为浓密。为此,IGCV2提出Interleaved Structured Sparse Convolution,应用多个间断的稠密分组卷积来替换原来的次分组卷积,每个分组卷积的分组数都足够多,保障卷积核的稠密性。
IGCV3
基于IGCV和bootleneck的思维,IGCV3联合低秩卷积核和稠密卷积核来形成浓密卷积核,如图1所示,IGCV3应用低秩稠密卷积核(bottleneck模块)来扩大和输出分组特色的维度以及升高输入的维度,两头应用深度卷积提取特色,另外引入松弛互补性准则,相似于IGCV2的严格互补性准则,用来应答分组卷积输入输出维度不一样的状况。
FBNet系列
FBNet系列是齐全基于NAS搜寻的轻量级网络系列,剖析以后搜寻办法的毛病,逐渐减少创新性改良,FBNet联合了DNAS和资源束缚,FBNetV2退出了channel和输出分辨率的搜寻,FBNetV3则是应用准确率预测来进行疾速的网络结构搜寻。
FBNet
论文提出FBNet,应用可微神经网络搜寻(DNAS)来发现硬件相干的轻量级卷积网络,流程如图1所示。DNAS办法将整体的搜寻空间示意为超网,将寻找最优网络结构问题转换为寻找最优的候选block散布,通过梯度降落来训练block的散布,而且能够为网络每层抉择不同的block。为了更好地预计网络的时延,事后测量并记录了每个候选block的理论时延,在估算时间接依据网络结构和对应的时延累计即可。
FBNetV2
DNAS通过训练蕴含所有候选网络的超网来采样最优的子网,尽管搜寻速度快,但须要消耗大量的内存,所以搜寻空间个别比其它办法要小,且内存耗费和计算量耗费随搜寻维度线性减少。为了解决这个问题,论文提出DMaskingNAS,将channel数和输出分辨率别离以mask和采样的形式退出到超网中,在带来大量内存和计算量的状况下,大幅减少$10^{14}$倍搜寻空间。
FBNetV3
论文认为目前的NAS办法大都只满足网络结构的搜寻,而没有在意网络性能验证时的训练参数的设置是否适合,这可能导致模型性能降落。为此,论文提出JointNAS,在资源束缚的状况下,同时搜寻最精确的训练参数以及网络结构。FBNetV3齐全脱离了FBNetV2和FBNet的设计,应用的准确率预测器以及基因算法都曾经在NAS畛域有很多利用,次要亮点在于将训练参数退出到了搜寻过程中,这对性能的晋升非常重要。
EfficientNet
论文对模型缩放进行深入研究,提出混合缩放办法,该办法能够更优地抉择宽度、深度和分辨率的维度缩放比例,从而使得模型可能达到更高的精度。另外,论文通过NAS神经架构搜寻提出EfficientNet,配合混合缩放办法,可能应用很大量的参数达到较高的准确率。
GhostNet
训练好的网络个别都有丰盛甚至冗余的特色图信息来保障对输出的了解,类似的特色图相似于对方的ghost。但冗余的特色是网络的要害个性,论文认为与其防止冗余特色,不如以一种cost-efficient的形式承受,于是提出能用更少参数提取更多特色的Ghost模块,首先应用输入很少的原始卷积操作(非卷积层操作)进行输入,再对输入应用一系列简略的线性操作来生成更多的特色。这样,不必扭转其输入的特色图数量,Ghost模块的整体的参数量和计算量就曾经升高了。
WeightNet
论文提出了一种简略且高效的动静生成网络WeightNet,该构造在权值空间上集成了SENet和CondConv的特点,在激活向量前面增加一层分组全连贯,间接产生卷积核的权值,在计算上非常高效,并且可通过超参数的设置来进行准确率和速度上的trade-off。
MicroNet
论文提出应答极低计算量场景的轻量级网络MicroNet,蕴含两个外围思路Micro-Factorized convolution和Dynamic Shift-Max,Micro-Factorized convolution通过低秩近似将原卷积分解成多个小卷积,放弃输入输出的连接性并升高连接数,Dynamic Shift-Max通过动静的组间特色交融减少节点的连贯以及晋升非线性,补救网络深度缩小带来的性能升高。
MobileNext
论文深入分析了inverted residual block的设计理念和毛病,提出更适宜轻量级网络的sandglass block,基于该构造搭建的MobileNext。sandglass block由两个depthwise卷积和两个pointwise卷积组成,局部卷积不需激活以及shorcut建设在高维度特色上。依据论文的试验后果,MobileNext在参数量、计算量和准确率上都有更优的体现。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】