【论文学习】FD-MonbileNet: IMPROVED MOBILENET WITH A FAST DOWNSAMPLING STRATEGY

原文链接:https://arxiv.org/abs/1802.03750

作者介绍了一种高效且在有限运算量限制上十分准确的网络:Fast-Downsampling MobileNet(FD-MobileNet)。其中心思想是在MobileNet框架上应用一种快速下采样策略。在FD-MobileNet中,作者在12层中运行了32倍的下采样,这仅是原始MobileNet层数的一半。这样的设计有3个优点:1、它很大程度上减少了计算代价;2、它增加了信息容量并且实现了显著了性能提升;3、它工程实现十分简便,提供了快速的实践推理速度。在ILSVRC 2012和PASCAL VOC2007数据集上的实验显示FD-MobileNet比MobileNet的性能要好并且在不同的运算限制下实现了与ShuffleNet类似的结果,例如,在ILSVRC 2012上的top-1精确度比MobileNet高5.5%,在VOC 2007的12MFLOPs复杂度上mAP高3.6%。在ARM设备上,FD-MobileNet比MobileNet速度快了1.11倍,比ShuffleNet在同样的复杂度上快了1.82倍。

1、 Introduction

CNNs在已经成为了计算机视觉领域最为重要的方法之一,比如图片分类,目标检测和语义分割。然而,最先进的CNNs需要极大的计算资源和巨大的模型尺寸,这使得模型难以部署在移动或嵌入式设备上。
由于这种原因,推理时间压缩和深度神经网络加速在近些年吸引了众多深度学习团队的注意。最近的工作大致分为4类:张量分解(Tensor decomposition)方法把一个卷积层分解为一些更小的卷积层,这减少了整体的复杂度和参数量。这一类的方法传统意义上包含低等级的评估过程和一个微调过程,导致训练过程很慢。参数量化(Parameter quantization)的方法提出来优化神经网络中的低精度参数,提供显著的理论加速和巨大的内存节省。然而,目前的硬件设备对于低精度计算并没有很好的优化因此要想实现理想的加速就需要专门的硬件设备。网络剪枝(Network pruning)的方法尝试发现并缓和深度神经网络中的参数以及结构冗余。早期的剪枝方法采用一个非结构化剪枝方案致使随机内存访问,但是这个现在的硬件设备并不是很好的支持。最近网络剪枝研究主要关注点是结构化剪枝来平衡现有的硬件。最后,轻量级网络(compact networks)专门设计来在移动或嵌入式设备上采用既有准确度又有计算节省的网络。
不像其他的主要关注于压缩预训练模型的方法,轻量级网络可以由scratch方法进行训练。另外,轻量级网络和其他方法兼容,可以被更深层次的加速。鉴于这些优点,各个轻量级网络架构被提出。在这些网络中,MobileNet和ShuffleNet实现了最好的性能。
ShuffleNet由一种叫做ShuffleNet unit的bottleneck unit的变种组成。ShuffleNet unit为了更好的表示能力采用bypass connection。由于强有力的ShuffleNet unit带来的好处,ShuffleNet在以前的架构上实现了显著的性能提升。然而,bypass connection结构在计算图中引入了多种信息路径,这促使移动或嵌入式设备的工程实现中的频繁的memory/cache交换。最终导致物理设备中ShuffleNet实际的inference speed并不是十分理想。
相反,MobileNet采用深度可分离卷积(depthwise separable convolution)在简单的堆叠结构中建立块。这种设计使得内存和缓存使用更加高效。在同等的复杂度下,MobileNet的实际inference speed比ShuffleNet要快。然而,MobileNet采用一种很慢的下采样策略,这就导致在运算限制很小比如10-140MFLOPs的时候严重的性能下降。在这样的慢速下采样策略下,较多的层含有很大的特征图,因此特征表示就更加详细。然而网络的通道数目是加以限制的,因而信息容量也是很小的。如果为了要适应一种极其有限的复杂度而网络宽度要更深层次的压缩,信息容量将会变得很小,网络性能也将崩坏。
本文中,作者给出了一种十分高效且精确的Fast-Downsampling MobileNet(FD-MobileNet)网络,为了极其有限的计算资源设计(10-140MFLOPs)。作者没有采取压缩网络宽度来适应小型运算限制而是在MobileNet框架中采取一种快速下采样策略。在提出的FD-MobileNet,作者在前12个层中运行了32倍下采样,这仅是原始MobileNet层数的一半。在此之后,应用一连串的深度可分离卷积以取得更好的表示能力。由于这种快速下采样策略,FD-MobileNet有如下三个优点:1、FD-MobileNet的计算代价随着特征图的空间维度减小而下降。2、在同样的复杂度下,FD-MobileNet比MobileNet有更多的通道。这极大的增加了FD-MobileNet的信息容量,这对于小型网络性能至关重要。3、FD-MobileNet继承了MobileNet的简答架构而且在工程实现中提供了一个快速inference speed。
作者进行了很多实验来检测提出的FD-MobileNet的高效性。首先,作者在ILSVRC 2012数据集比较了FD-MobileNet和其他最先进的轻量级网络。然后作者在PASCAL VOC 2007数据集上测试了FD-MobileNet的通用性能力。实验显示提出的FD-MobileNet比MobileNet的性能好很多而且在多种运算限制下实现了和ShuffleNet相似的性能。比如,FD-MobileNet在ILSVRC 2012数据集上top-1比MobileNet精确度实现了5.5%的提升,12 MFLOPs运算限制下在VOC 2007 mAP提升了3.6%。最后,作者在ARM设备上评估了FD-MobileNet的实际inference speed。在12 MFLOPs复杂度下,FD-MobileNet比MobileNet提供了1.11倍的速度加速,比ShuffleNet速度快了1.82倍。

2、 Fast-Downsampling MobileNet

本节中,作者给出了Fast-Downsampling MobileNet(FD-MobileNet)的设计。FD-MobileNet由高效的深度可分离卷积组成并且采用了一种快速下采样策略。由于这种设计,FD-MobileNet在非常有限的运算限制时也可以实现高精度和高效性。
深度可分离卷积:FD-MobileNet由MobileNet而来,采用深度可分离卷积建立块。一个k*k的深度可分离卷积把一个k*k的标准卷积分解成一个k*k的深度卷积(depthwise convolution)和一个逐点卷积(pointwise convolution)从而在FLOPS带来了8-9的下降。在实践中,深度可分类卷积可以在运算受限的设备上提供高效性的同时实现和标准卷积类似的性能。
快速下采样策略:现代CNNs采用一个分层架构,在同一个阶段的层的空间维度保证相同,在下一个阶段的层的空间维度采用下采样的方式进行减少。鉴于有限的运算限制,轻量级网络同时受到弱特征表示和受限的信息容量的影响。不同的下采样策略在轻量级网络的详细的特征表示和大型信息容量之间给出了折中。在慢速下采样策略,下采样在网络中的较后面的层中发挥作用,因而更多层具有大的空间维度。正相反,快速下采样策略中下采样在网络的开始便发挥作用,这很大程度上减少了计算代价。于是,给定一个固定的运算限制,慢速下采样策略倾向于产生更多的细节特征然而快速下采样策略可以提升通道数目且允许更多的信息编码。
当运算限制极其小的时候,信息容量就在网络的性能方面起着很重要的作用。按照惯例,减少通道数目来使轻量级网络架构适应某种复杂性。在采用慢速下采样的情况下,网络为了能够编码大量信息而变得狭窄,这导致了严重的性能下降。例如,在12 MFLOPs,原始MobileNet架构在全局池化之前的最后一层仅有128个通道,因而信息容量十分有限。
基于这种原因,作者提出在FD-MobileNet架构中采用快速下采样策略并且推迟特征提取过程到最小的分辨率。更快的下采样通过在网络开始处连续应用大步幅的深度可分离卷积来实现。在这里作者没有采用max pooling因为作者发现这并没有获得性能提升而引入额外的运算。提出的FD-MobileNet输入一个大小为224*224的图片,在最初的两层运行4倍下采样而在12层中运行32倍下采样,然而在原始的MobileNet中运行相同的下采样层数分别是4和24。更准确而言,这12层由1个标准卷积层、5个深度可分离卷积(每一个有1个深度卷积层和一个逐点卷积层)、一个深度卷积层组成。图1给出了在140 MFLOPs运算限制下使用快速下采样策略的FD-MobileNet、MobileNet和ShuffleNet之后的比较。从图中可以看出,在特征映射到7*7之前FD-MobileNet比其他架构浅得多。
这里写图片描述
剩余层:快速下采样策略的优化显著减少了在最小的空间维度(7*7)之前的层的计算代价。在140 MFLOPs的运算限制下,MobileNet在最大的4分辨率花费了大概129 MFLOPs,然而FD-MobileNet仅花费了59 MFLOPs,这些在表1中有显示。所以,更多层和更多通道可以在提出的架构中得以平衡。在这里作者采用6个深度可分离卷积来提升生成特征的表示能力。最初的5个深度可分离卷积的输出通道是512,最后一个是1024,这是0.5*MobileNet-224(0.5是MobileNet的参数width multiplier,224是另一个参数resolution)数目的两倍。通道数目增加促使更大的信息容量,在极度有限的计算资源条件下这对网络的性能至关重要。
整体架构:FD-MobileNet的整体架构在表1中显示。FD-MobileNet采用一个简单的24层堆叠结构,包含1个标准卷积层、11个深度可分离卷积和一个全连接层。之后,在每个卷积层之后应用一个batch normalization和一个ReLU激活函数。为了方便地使FD-MobileNet适应于不同的运算限制,作者引入了一整个超参数width multiplier α来调整FD-MobileNet的宽度。作者使用一个简单的符号“FD-MobileNet αx”表示一个width multiplier α的网络,表1中的网络表示为“FD-MobileNet 1x”。
这里写图片描述
推断效率:目前的深度学习框架通过建立一个非周期计算图实现神经网络的推断。对于移动或嵌入式设备而言,内存和缓存资源是有限的。结果,复杂的计算图可能导致频繁的memory/cache交换,这使实际inference speed下降。FD-MobileNet继承了原始MobileNet的简单架构,这样在计算图中就只有一条信息路径。这使FD-MobileNet对工程实现十分友好,在物理设备上十分高效。

3、 Experiments

3.1 Results on ILSVRC 2012 dataset

作者首先在ILSVRC 2012数据集上评估了FD-MobileNet的高效性。ILSVRC 2012由120万训练图片和50000个验证图片组成。在实验中,网络在训练集上使用PyTorch进行训练,90个epochs,4个GPU。Batch的大小设置为256,momentum为0.9。learning rate从0.1开始,每30epochs降低一个量级。由于网络相当小,而使用4e-5的weight decay。对于数据增强,作者采用一种稍微不太激进的多尺度增强方式而不是使用颜色抖动。在评估中报告了验证集的中心裁剪的top-1准确率。首先把每一个验证图片的边缘调整为256像素然后使用中心224*224像素裁剪进行评估。表2中是在三种运算限制下FD-MobileNet、MobileNet和ShuffleNet的top-1精确度的比较。
这里写图片描述
从表中看出,在不同的运算限制下FD-MobileNet比MobileNet实现很多提升。在140 MFLOPs的复杂度下,FD-MobileNet超过了MobileNet 1.6%,运算限制为40和12时,性能分别比MobileNet高出5.6%和5.5%。在很小的运算限制下,FD-MobileNet比MobileNet提供了更显著的提升。(40和12 MFOPs)。作者把这样的性能提升归结于FD-MobileNet中的快速下采样策略。原始的MobileNet采取慢速下采样策略因而更多层有较大特征图而且是运算集约的。要维持运算的高效性,MobileNet是有限的,这限制了信息容量。另一方面,FD-MobileNet采用一种更快的下采样策略,这使得更多的通道得以折中而且也缓和了信息容量的下降。例如,在12 MFLOPs,MobileNet最后一层的输出只有128个通道,然而在FD-MobileNet这个数目是双倍的。信息容量的提升显著增加了FD-MobileNet的性能。
与ShuffleNet相比,FD-MobileNet实现了类似的结果或者稍微较差的结果。作者推测这种差异是由于ShuffleNet unit的bypass connection结构的高效性。这样的bypass connection结构在很多计算机视觉任务中证实有效。然而,在低耗能的移动或嵌入式设备中,bypass connection结构导致频繁的memory/cache交换,也损害了实际的inference speed。另一方面,FD-MobileNet的简单架构促使了内存和缓存的高效利用。3.3节详细介绍。

3.2 Results on PASCAL VOC 2007 dataset

作者也在PASCAL VOC 2007 检测数据集上做了大量实验来检测提出的FD-MobileNet的通用能力。PASCAL VOC 2007数据集包含有被分为三个集合(train/val/test)的大约10000张图片。在实验中,检测器在VOC 2007 trainval set上进行训练,在VOC 2007test set上的单模型结果也有显示。作者采用了Faster R-CNN检测流水线,比较了三种运算限制(140、40和12MFLOPs)的FD-MobileNet和600分辨率的MobileNet的性能。检测器进行训练,15epochs,batch size是1。Learning rate从1e-3开始,每5个epochs处以10。Weight decay设置为4e-5。其他超参数设置和原始的Faster R-CNN相同。在测试的时候,300 proposals送到R-CNN subnet以生成最终的预测。
结果的比较在表3中显示。在不同的运算限制下,FD-MobileNet比MobileNet实现了显著提升。在140 MFLOPs的运算限制下,FD-MobileNet检测器mAP超过了MobileNet1.6%。复杂度降低,之间的差距就增大。当复杂度限制到40和12MFLOPs时,FD-MobileNet比MobileNet mAP分别好了2.8%和3.6%。更准确地说,在单类结果上,FD-MobileNet在大多数类的识别上都比MobileNet性能好。在表3中,运算限制更小的时候,FD-MobileNet比MobileNet的性能提升十分显著。例如,运算限制是12MFLOPs时,FD-MobileNet在MobileNet难以识别的类上都实现了较好的提升,比如水瓶(bottle)、椅子(chair)、船(boat)。这样的提升证明FD-MobileNet对于transfer learning有很强的通用能力。
这里写图片描述

3.3 Actual Inference Time Evaluation

为了探讨在物理设备上的性能,作者在ARM设备上比较了FD-MobileNet、MobileNet和ShuffleNet的实际inference speed。实验在一个使用优化的NCNN框架的i.MX 6系列CPU上进行。
表4显示了三种轻量级网络分别在140、40、12MFLOPs的运算限制下的inference time。与MobileNet相比,FD-MobileNet三种运算限制实现了大约1.1倍的加速。这些改进归功于FD-MobileNet快速下采样架构的高效性。与ShuffleNet相比,FD-MobileNet提供了更快的inference speed。当运算限制是140和40MFLOPs,FD-MobileNet比ShuffleNet分别实现了1.33倍和1.47倍的加速。在12MFLOPs的复杂度下,加速有所提高:FD-MobileNet比ShuffleNet速度快了1.82倍。在140和40MFLOPs下,ShuffleNet模型比FD-MobileNet副本的FLOPs更少,但是他们更慢。这种慢速现象由ShuffleNet unit的bypass connection结构的非高效性导致。在低耗能设备上,bypass connection结构导致频繁的memory/cache交换,这降低了实际inference speed。相反,简单的堆叠架构使得FD-MobileNet更加高效的平衡内存和缓存,这样使实际的inference speed更快。这些结果表明FD-MobileNet在实际的移动或嵌入式设备中十分高效。
这里写图片描述

4、 Conclusion

本文中,作者给出了Fast-Downsampling MobileNet(FD-MobileNet),一种在十分有限的运算限制上十分高效且准确的网络。FD-MobileNet通过在现在最先进的MobileNet框架中采用一种快速下采样策略而建立。与原始MobileNet相比较,快速下采样策略方法的使用允许有更多通道,这增加了网络的信息容量,也增加了网络的性能。在ILSVRC 2012分类数据集和PASCAL 2007检测数据集上的实验显示FD-MobileNet在不同的运算限制下性能比MobileNet要好。实际inference time评估显示FD-MobileNet在ARM设备上同样的复杂度下比ShuffleNet实现了显著的加速。未来工作,作者计划在其他的轻量级网络上例如ShuffleNet采用快速下采样策略以获得更好的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值