MobileNetV3论文译读笔记

论文

Searching for MobileNetV3

摘要

本文提出了新一代的MobileNets模型,基于互补搜索技术的组合,同时这也是一种新型的架构设计。(实际上就是加入了NAS方法)MobileNetv3是面向移动手机CPU而进行改进的,使用了硬件感知的网络架构搜索方法(network architecture search, NAS),以NetAdapt算法进行辅助,并通过新型的架构改进来进一步提升。本文首先探索将自动搜索算法和网络设计相结合,以利用互补的方法来提高整体先进方法的性能。通过这个过程,本文创造出两种新的MobileNet模型:MobileNetv3-Large和MobileNetv3-Small,分别面向高端和低端资源的用户场景。这些模型之后被用于目标检测和语义分割的任务中。对于语义分割的任务(或其它密集像素预测),本文提出了新的高效分割解码器 Lite Reduced Atrous Spatial Pyramid Pooling (LR-ASPP)。本文实现了移动端模型分类、检测和分割任务中新的SOTA结果。与MobileNetv2相比,MobileNetv3-Large在ImageNet数据集上精度提升3.2%,同时时延下降20%;与MobileNetv2相比,MobileNetv3-Small精度提高6.6%而时延相近。MobileNetv3-Large在检测上与MobileNetv2精度相当而速度提升25%以上。对于 Cityscapes分割任务, MobileNetV3-Large LR-ASPP比 MobileNetV2 R-ASPP速度提升34%而精度相近。

1. 引言

  高效的神经网络在移动应用程序中逐渐变得无处不在。这些模型还可以很好的保护个人隐私,允许用户从神经网络中获益而不需要将他们的数据发送到服务器去推理。神经网络效率的提高不仅通过更高的精度和更低的时延来提升用户体验,而且还可以通过降低功耗来延长电池寿命。
  本文提出了开发 MobileNetv3-Large&Small的方法,以获得下一代高精度高效率的网络模型,来支持on-device的计算机视觉任务。这种新的网络推动了前沿的发展,并且展示出如何将自动搜索和新型的架构改进相结合,来构建高效的模型。
  本文的目标是通过优化精度-速度均衡,来开发尽可能最优的移动端视觉架构。为了实现这个目标,本文提出了(1)辅助搜索技术(2)针对移动端配置、新版本高效的非线性函数,(3)新型高效的网络设计,(4)新型高效的分割解码器。本文通过实验证明了每项技术的效率和价值,在多种用例和手机端上进行了评测。
  本文的结构如下。首先在第2章中讨论了相关的工作(related work)。第3章回顾了用于移动端模型的高效构建blocks。第4章回顾了架构搜索以及MnasNet和NetAdapt互补性质。第5章描述了新型的架构设计,通过联合搜索提高了最终模型效率。第6章描述了对于分类检测和分割的扩展实验,以显示效率以及理解不同组件的贡献。第7章描述结论和未来工作(future work)。

2 相关工作

  针对精度和效率均衡的DNN结构设计,是近些年来一项活跃的研究领域。新颖的手工结构和算法神经架构搜索(NAS)都在推进这一领域的进步中发挥了重要作用。
  SqueezeNet【22_SqueezeNet】拓展性地使用 1 × 1 1\times1 1×1卷积压缩和扩展模块,主要关注于减少参数的数量。更近期的工作将注意从减少参数,转向了减少操作数和实测时延。MobileNetv1【19_MobileNetv1】采用 Depthwise Separable Convolution大幅度提高计算效率。MobileNetv2【39_MobileNetV2】将此扩展,引入了一种资源高效的block,使用 inverted residuals和 linear bottlenecks。ShuffleNet【49_】使用组卷积和Channel-Shuffle操作来进一步降低MAdds。CondenseNet【21_CondenseNet】在训练阶段学习组卷积来保持layer之间有用的密集连接,以进行特征重用。ShiftNet【46_ShiftNet】提出与逐点卷积交错的移位操作,以取代昂贵的空间卷积。
  为了将架构设计过程自动化,强化学习首次被引入用来搜索同等精度的高效架构【53_NAS_RL, 54_TransferableArchitectures, 3_DesignNN_RL, 27_ProgressiveNAS, 35_NAS_ParameterSharing】。完整的配置搜索空间可能会呈指数级增长且难以处理。因此架构搜索的早期工作聚焦于单元级结构搜索上,而且同一个单元会在所有层中重复使用。近期,【43_MnasNet】探索了block-level分层搜索空间,允许网络不同分辨率blocks使用不同的层结构。为了减少搜索的计算成本,可微分架构搜索框架被用于【28_DARTS, 5_ProxylessNAS, 45_FBNet】工作中,使用基于梯度的优化方法。关注于将已有网络适配到受限的移动平台,【48_NetAdapt, 15_ADC, 12_ChamNet】提出更加高效的自动网络简化算法。
  量化【23_Quantization_Integer_Only, 25_Quantize_CNN, 47_Quantize_CNN_Mobile, 41_Expectation_Backpropagation, 51_Incremental_Network_Quantization, 52_DoReFaNet, 37_XNORNet】是另一项重要的辅助性工作,通过降低运算精度来提升网络效率。最后,知识蒸馏【4_Model_Compression, 17_Distilling_Knowledge】提出额外的辅助方法,在大型“teacher”网络的监督下产生小型精确的“student”网络。

3. 高效移动端构建块

  移动端模型通常建立在更多更加高效的构建blocks上。MobileNetV1【19_MobileNetv1】引入深度可分离卷积作为传统卷积层的高效替换。Depthwise separable convolutions通过将空间滤波与特征生成机制分离,有效地分解了传统卷积计算。Depthwise separable convolutions的定义由两个分开的layer定义:用于空间滤波的轻量深度卷积和用于特征生成计算量高的 1 × 1 1\times1 1×1逐点卷积。
  MobileNetV2【39_MobileNetV2】引入了线性bottleneck和inverted-residual结构来构造更加高效的layer结构,利用了此问题的低秩特性。此结构如图3所示,定义为 1 × 1 1\times1 1×1扩展卷积接depthwise-convolutions和一个 1 × 1 1\times1 1×1projection-layer。
在这里插入图片描述
当输入和输出的通道数相同时,由残差连接相连。这种结构在输入和输出处保持了紧凑表示,同时在内部扩展到更高维的特征空间,从而增加了每个通道非线性变换的表达能力。(“发散-集中”的应用)
  MnasNet【43_MnasNet】是基于MobileNetV2构建,将基于SE的注意力模块引入到bottleneck结构中。请注意,SE模块被集成到跟[20_SENet]
在这里插入图片描述
  对于MobileNetV3,本文使用这些层的组合作为构建块,以建立最高效的模型。这些层也使用了最新改进的Swish非线性算子【36_Searching_Activation_Functions, 13_Sigmoid_Weighted_Linear, 16_GELU】。SE模块和Swish非线性算子都使用了Sigmoid函数,而Sigmoid函数计算效率较低,且难以在定点计算模式下保持精度,因此本文将其替换为Hard-Sigmoid函数【2_HardSwish_Segmentation, 11_BinaryConnect】,这一点将在章节5.2中探讨。

4 网络搜索

  网络搜索在发现和优化网络架构上已经展现出十分强大的能力【53_NAS_RL, 43_MnasNet, 5_ProxylessNAS, 48_NetAdapt】。对于MobileNetV3,本文使用了 platform-aware NAS优化每个block来搜索全局的网络结构。之后本文使用NetAdapt算法来 per layer搜索filters数量。这些技术都是互补的,可以结合起来,为给定硬件平台有效地找出优化模型。

4.1 针对逐块搜索平台感知的NAS

  与【 43_MnasNet】类似,本文使用平台感知的神经架构搜索方法来找出整体的网络结构。与【 43_MnasNet】一样,本文也使用了基于RNN的控制器和分解层次搜索空间,对于目标延迟80ms左右的大型移动端模型,本文搜素的结果也与【 43_MnasNet】相似。因此,本文就重用了相同的MnasNet-A1模型【 43_MnasNet】作为初始的移动端Large模型,之后采用了NetAdapt【48_NetAdapt】和基于此的其它优化。
  不过,本文发现原始的奖励设计对小型移动端模型不是最优的。具体来说,它使用了多目标奖励 A C C ( m ) × [ L A T ( m ) / T A R ] w ACC(m)\times[LAT(m)/TAR]^w ACC(m)×[LAT(m)/TAR]w来逼近Pareto-optimal解,即基于目标时延 T A R TAR TAR平衡每个模型 m m m的精度 A C C ( m ) ACC(m) ACC(m)和时延 L A T ( m ) LAT(m) LAT(m)。本文发现小模型的精度会随着时延变化得更剧烈;因此,本文需要一个较小的权值 w = − 0.15 w=-0.15 w=0.15(对比【 43_MnasNet】中的原始值 w = − 0.07 w=-0.07 w=0.07),来补偿不同时延带来的更大的精度变化。通过采用新权值 w w w来增强,本文开始了从头进行新的架构搜索已找出初始的种子模型,之后采用NetAdapt和其它优化策略俩获得最终的MobileNetV3-Small模型。

4.2 用于逐层搜索的NetAdapt方法

  在本文架构中采用的第二项技术是NetAdapt【48_NetAdapt】。此方法是对平台感知NAS方法的补充:它允许每个layers按顺序分别进行微调,而不是试图推断粗糙但全局的网络架构。有关详细信息,请参阅其原始论文。简单来说,其技术流程如下:

  1. 以平台感知NAS找出的种子网络架构作为起始;
  2. 每一步中:
    (a)生成一组新的proposals。每个proposal表示一个架构的修改,且此修改与前一步相比时延至少降低了 δ \delta δ
    (b)对于每个proposal,本文使用从前一步中获得的预训练模型,并填充成新提出的架构,再适当地进行截断和随机初始化缺失的权重。对 T T T步中的每个proposal微调,来粗略估计精度。
    (c)通过指标分数选择最好的proposal。
  3. 迭代上面的步骤知道满足目标时延。

在【48_NetAdapt】中指标分数是为了最小化精度的变化。本文修改了此项算法,来最小化时延变化跟精度变化的比值。也就是对于所有在NetAdapt步骤中产生的proposals,本文会选择一个来最大化: Δ  Acc  ∣ Δ latency ∣ \frac{\Delta \text { Acc }}{\left|\Delta\text{latency}\right|} ΔlatencyΔ Acc ,且 Δ latency \Delta\text{latency} Δlatency满足步骤2(a)中的限制条件(“时延至少降低 δ \delta δ”)。这里的想法是因为提出的proposals是离散的,本文希望这些proposals可以最大化trade-off权限的斜率。
  此过程会不断重复知道时延满足目标,之后本文会从头训练新提出的架构。本文使用的proposal生成器跟【48_NetAdapt】搜索MobileNetV2时所用的相同。具体来说,本文允许以下两种类型的proposals:

  1. 降低了任意扩展layer的size;
  2. 对于使用相同bottleneck尺寸的所有blocks,可以减少其bottleneck尺寸——以维持residual连接。

本文实验采用 T = 10000 T=10000 T=10000,发现当提高这些proposals微调的初始精度,并不会改变在从头训练时最终的精度。本文设置 δ = 0.01 ∣ L ∣ \delta=0.01|L| δ=0.01L,其中 L L L是种子模型的时延。

5 网络改进

  除了网络搜索,本文还在模型中引入了几项新的组件来进一步提升最终的模型。本文在网络的开头和末尾重新设计了计算昂贵的layers。本文还引入了一种新型的非线性函数,H-Swish,是近期提出Swish函数的改进版,H-Swish计算更快而且对量化更友好。

5.1 重新设计计算昂贵的layers

  在通过架构搜索找到优化模型后,本文观察到最后几层和前面几层layers会比其它层计算量大。本文于是对模型架构进行了修改,以在保持精度的情况下降低这些慢速层的时延。这些修改已经不在当前搜索空间的范围内了。
  第一项改进修改了网络最后几层的交互,以便更加有效地生成最终特征。之前的模型基于了MobileNetV2的InvertedBottleneck结构,且变体使用 1 × 1 1\times1 1×1卷积作为最后一层为了扩展出一个更高维的特征空间。这一层对于获得用于预测的丰富的特征至关重要。然而,这也会带来额外的时延消耗。
  为了减少时延并且保持高维特征,本文将这一层移到最终的平均池化层之后。这个特征的最终集合现在会在 1 × 1 1\times1 1×1而不是 7 × 7 7\times7 7×7的空间分辨率上计算。这种设计的结果是特征计算几乎没有任何延迟消耗。
  一旦降低了特征生成层的消耗,就不再需要之前的bottleneck投影层来减少计算了。这个发现使得可以移除之前bottleneck中的投影和滤波层,从而进一步减低计算复杂度。原始的最后stage和优化后的结构如图5所示。
在这里插入图片描述
优化后的最后stage减少了7毫秒的时延,即运行时间的7%,减少了3000万MAdds的操作数,而精度几乎无损。第6章描述了具体的结果。
  另一个昂贵的层是最开始的滤波器集。现有的移动端模型倾向于使用32个完整的3x3卷积滤波器,来构建用于边缘检测的初始滤波器组。本文对减少滤波器数量和使用不同的非线性激活来尝试降低冗余。本文最终选择在这些层中使用Hard-Swish作为激活函数,因为它的性能表现跟其它测试的函数一样好。于是本文将滤波器数量数量降低到了16,同时保持与32个滤波器加ReLU或Swish时同样的精度。这项改进节省了额外的2毫秒和1000万MAdds。

5.2 非线性函数

  在【36_Searching_Activation_Functions, 13_Sigmoid_Weighted_Linear, 16_GELU】中,引入了Swish非线性函数来替代ReLU函数,并且可以显著提高神经网络的精度。这种非线性函数定义为
swish x = x ⋅ σ ( x ) \text{swish}x = x \cdot \sigma(x) swishx=xσ(x)
尽管这种非线性函数可以提高精度,但在嵌入式设备上也会带来一定的计算成本,因为sigmoid函数在移动设备上计算代价很高。本文以两种方式来解决这个问题。
1. 与【11_BinaryConnect, 44_未知文献】类似,本文使用sigmoid函数的分段线性近似: ReLU6 ( x + 3 ) 6 \frac{\text{ReLU6}\left(x+3\right)}{6} 6ReLU6(x+3)来替代sigmoid函数。这里有一点不同就是本文使用的是ReLU6而不是自定义一个裁剪常数。类似地,swish的硬近似版本变为
h-swish [ x ] = x ReLU6 ( x + 3 ) 6 \text{h-swish}[x]=x\frac{\text{ReLU6}\left(x+3\right)}{6} h-swish[x]=x6ReLU6(x+3)
Hard-Swish的类似版本最近也在【2_HardSwish_Segmentation】中被提出。对于sigmoid和swish的软硬版本的比较显示在图6中。
在这里插入图片描述
本文选择常量的动机是简单,并且与原始平滑版本非常匹配。本文在实验中发现,所有这些函数的hard版本在精度上没有明显的区别,但从部署的角度来看具有多种优势。首先, ReLU6 \text{ReLU6} ReLU6在几乎所有软件和硬件框架上都有优化实现。其次,在量化模式下,它避免了由于不同近似sigmoid实现带来的潜在精度损失。最后,在实际操作中,将H-Swish实现为分段函数可以减少内存访问的数量,从而大大降低时延成本。
2. 随着网络层次越深,使用非线性函数的计算成本会下降,因为每次分辨率下降时,每个layer的激活内存减半。顺便一提的是,本文发现swish的大多数收益发生当它被使用于较深的layers上。因此,本文仅在模型的第二半部分使用 H-Swish \text{H-Swish} H-Swish函数。这里推荐在表1和2中查阅更加具体的分布结构。
在这里插入图片描述
在这里插入图片描述
  即使使用了这些优化方法, H-Swish \text{H-Swish} H-Swish仍然带来了一些延时成本。不过正如在第6节(6. 实验)中展示的那样,在没有优化的情况下 H-Swish \text{H-Swish} H-Swish对精度和时延的效果是积极的;在使用基于分段函数的优化实现时,其效果十分显著。

5.3 大的Squeeze-and-Excite

  在【43_MnasNet】中,SE bottleneck的大小跟 convolutional bottleneck有关。相反,本文将它们固定为expansion-layer通道数的1/4。本文发现这样做可以提高精度,同时稍微增加参数数量,且没有明显的时延成本。

5.4 MobileNetV3的定义

  MobileNetV3可以定义为两种模型: MobileNetV3-Large和MobileNetV3-Small。这些模型分别针对高资源和低资源的用户场景。这些模型是通过使用平台感知NAS和网络搜索NetAdapt以及结合本节中定义的网络改进来创建的。有关本文网络模型的完整规格,请参见表1和表2。

6 实验

本文展示了体现新的MobileNetV3模型有效性的实验结果。本文报告了在分类、检测和分割任务上的结果。本文还报告了各种消融实验的结果,以阐明不同设计的影响。

6.1 分类

由于ImageNet[38_ImageNet_Challenge]已成为基准,本文将用它进行所有的分类实验,并比较模型在不同资源利用率下的精度,例如:时延和 Multiply Adds (MAdds)。

6.1.1 训练设置

本文在  4 × 4 4\times4 4×4 TPU-Pod【24_TPU】上使用同步训练设置来训练本文的模型,且使用标准的带有0.9动量TensorFlow-RMSPropOptimizer进行训练。本文使用的初始学习率为0.1,batch-size为4096(每个芯片上128张图像),且学习率衰减率为0.01每3个epochs。本文使用dropout为0.8,L2-weight-decay为1e-5,且使用和Inception【42_Inception】相同的预处理。最后本文使用了衰减0.9999的Exponential-Moving-Average(EMA)。所有本文的卷积层使用BN,且average-decay为0.99。

6.1.2 测量设置

为了测量时延,本文使用了标准的Google-Pixel手机,并使用标准的TFLite-Benchmark-Tool来运行所有的网络。在所有的测试中本文使用了单线程的大核。本文没有报告多核的推理时间,因为发现这种设置对移动端应用不是十分很适用。本文为TensorflowLite贡献了H-Swish的原子运算符,现在它是最新版本中的默认配置。本文在图9中展示了优化后的H-Swish的效果。
在这里插入图片描述

6.2 结果

  如图1所示,本文的模型超越了现有的SOTA模型,例如:MnasNet【43_MnasNet】、ProxylessNas【5_ProxylessNAS】和MobileNetV2[39_MobileNetV2]。本文报告了在不同Pixel手机上浮点运算的性能结果,如表3所示。
在这里插入图片描述
本文总结了量化后的结果在表4中。
  在图7中本文展示了MobileNetV3作为平衡放大器和分辨率函数时的均衡性能。
在这里插入图片描述

注意MobileNetV3-Small在放大器的缩放作用下其性能可以超越MobileNetV3-Large达到3%左右。另一方面,分辨率比放大器提供了更好的均衡性。然而,值得注意的是,分辨率常常由任务决定(例如,分割和检测任务通常需要更高的分辨率),因此无法总是用作可调的超参数。

6.2.1 消融实验

非线性函数的影响  在表5中本文研究了在哪些地方插入 H-Swish \text{H-Swish} H-Swish函数的选择,以及使用优化实现对比于原始实现带来的提升。可以看到使用 H-Swish \text{H-Swish} H-Swish的优化实现可节省6ms(大于10%的运行时间)。优化后的 H-Swish \text{H-Swish} H-Swish相较于ReLU只会额外增加1ms。
  图8展示了基于非线性函数选择和网络宽度的 efficient frontier。MobileNetV3在网络的中间部分使用了 H-Swish \text{H-Swish} H-Swish,并且明显优于ReLU。有趣的是,可以看到在整个网络中加入 H-Swish \text{H-Swish} H-Swish会比使用加宽网络后的 interpolated frontier效果略微好一些。
在这里插入图片描述
其它组件的影响  在图9中展示了引入不同组件后在latency/accuracy曲线上移动的情况。
在这里插入图片描述

6.3 检测

  本文使用MobileNetV3作为SSDLite[39_MobileNetV2]中主干特征提取器的替代,在COCO[26_COCO]数据集上与其它主干网络进行比较。
  参照MobileNetV2[39_MobileNetV2],本文将SSDLite的第一个layer接到主干网络步长16的输出层,第二个layer接到步长32的输出层。根据已有的检测文献,本文将这两个特征提取层分别称为 C 4 C4 C4 C 5 C5 C5。对于MobileNetV3-Large, C 4 C4 C4是第13个bottleneck块的扩展层。对于MobileNetV3-Small, C 4 C4 C4是第9个bottleneck块的扩展层。对于两种网络来说, C 5 C5 C5是池化之前的那个layer。
  本文还将所有 C 4 C4 C4 C 5 C5 C5间特征层的通道数除以了2。这是因为MobileNetV3的最后几层是调整到输出1000类,这些迁移到COCO的90个类上会有些冗余。
  在COCO测试集上的结果显示在表6中。通过减少通道,MobileNetV3-Large比MobileNetV2加快27%,而mAP几乎一样。MobileNetV3-Small在减少通道后比MobileNetV2和MnasNet的mAP分别高2.4和0.5,而且速度加快35%。对于所有MobileNetV3模型来说,通道缩减策略可以在没有mAP损失的情况下减少15%的时延,说明Imagenet分类任务和COCO目标检测任务可能对特征提取器的形状有不同的偏好。

6.4 语义分割

  在本节中,本文使用MobileNetV2[39_MobileNetV2]和提出的MobileNetV3作为网络骨干来进行移动端语义分割的任务。除此之外,本文还比较了两种 segmentation heads。第一种,被称为R-ASPP,在MobileNetV2[39_MobileNetV2]被提出。R-ASPP是一种对 Atrous Spatial Pyramid Pooling模块[7_DeepLabV2, 8_DeepLabV3, 9_DeepLabV3+]的精简设计,它只使用了由一个 1 × 1 1\times1 1×1卷积和一个GAP操作[29_ParseNet, 50_PSPNet]构成的两个分支。本文提出另一种轻量的分割head, Lite R-ASPP,在R-ASPP上进行改进,以类似于SE模块的方式[20_SENet]的方式实现了 Global-Average Pooling,其中使用了带有大步长(为了节省运算)的大池化核并且在模块中只含有一个 1 × 1 1\times1 1×1卷积。本文将 atrous convolution (稀疏卷积)[18_Algorithm_With_Wavelet_Transform, 40_OverFeat, 33_Local_And_Global_Deformations, 6_DeepLabV1]用于MobileNetV3的最后一个block来提取更加密集的特征,从而进一步增加从低层特征的skip-connection[30_FCN]来捕获更加细节的信息。
  本文在Cityscapes数据集[10_Cityscapes_Dataset]上进行实验,评价指标使用mIOU[14_VOC_Dataset],且仅使用“fine”标注。本文采用了与8_DeepLabV3, 39_MobileNetV2]相同的训练流程。所有使用MobileNetV3的模型都是scratch训练而没有在ImageNet上预训练[38_ImageNet_Challenge],并使用单尺度输入进行评测。与目标检测类似,本文发现可以将主干网络最后一个block的通道减少2倍,而性能不会有严重损失。本文认为这是因为主干网络是为ImageNet图像分类[38_ImageNet_Challenge]的1000类设计的,而在Cityscapes中仅有19个类,这意味着主干网络中有一些通道冗余。
  本文在表7中报告了Cityscapes验证集的结果。
在这里插入图片描述
如表格所示,本文发现:(1)将主干最后一个block通道减少2倍会大幅度提高速度且维持类似的性能(row 1 vs. row 2, and row 5 vs. row 6);(2)提出的分割head组件LR-ASPP比R-ASPP39_MobileNetV2稍微快一点,而且性能提高了(row 2 vs. row 3, and row 6 vs. row 7);(3)将分割head滤波器从256减到128提高了速度,性能有轻微下降(row 3 vs. row 4, and row 7 vs. row 8);(4)当使用相同设置时,MobileNetV3模型变体获得了与MobileNetV2同类模型相似的性能,而速度略快(row 1 vs. row 5, row 2 vs. row 6, row 3 vs. row 7, and row 4 vs. row 8);(5)MobileNetV3-Small获得了与MobileNetV2-0.5相似的性能而速度更快;(6)MobileNetV3-Small比MobileNetV2-0.35好很多而且速度相近。
  表8展示了本文Cityscapes测试集的结果。
在这里插入图片描述
本文以MobileNetV3为主干的分割模型超出了ESPNetV2[32_ESPNetV2]6.4%,超出CCC2[34_CCC2]10.6%,以及超出ESPNetV1[32_ESPNetV2]12.3%,同时在MAdds上更快。当在MobileNetV3最后一个block中不使用稀疏卷积提取密集特征图时,性能略微下降了0.6%,但是速度提升至1.98B(使用一半分辨率输入),比ESPNetV2快1.36倍,比CCC2快1.59倍,比ESPNetV1快2.27倍。此外,本文使用MobileNetV3-Small作为主干网络的模型仍然比所有模型至少高出 2.1%。

7 结论和未来工作

  本文提出了MobileNetV3-Large和-Small模型,在移动端分类、检测和分割任务上表现出SOTA的效果。本文描述了利用多种网络架构搜索算法和网络设计创新来实现下一代的移动端模型的过程。本文还展示了如何修改如Swish的非线性函数以及以良好友好和高效的方式引入SE模块,将他们用于移动端领域中作为有效的工具。本文还介绍了一种新形式的轻量级分割解码器,称为LR-ASPP。虽然,如何最好地将自动搜索技术与人类直觉相结合仍然是悬而未决的问题,本文已展出了第一个积极的结果,并将在未来的工作中继续改进方法。
  致谢:本文感谢 Andrey Zhmoginov、Dmitry Kalenichenko、Menglong Zhu、Jon Shlens、Xiao Zhang、Benoit Jacob、Alex Stark、Achille Brighton和 Sergey Ioffe的有益反馈和讨论。

A. 不同分辨率和multipliers的性能表

  本文给出了具体的表格包含multiply-adds、精度、参数数量和时延,如表9所示。
在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值