An Improved One millisecond Mobile Backbone 论文笔记

An Improved One millisecond Mobile Backbone 论文笔记

论文链接: https://arxiv.org/abs/2206.04040

An Improved One millisecond Mobile Backbone 论文笔记_第1张图片

一、Introduction

作者在本文中探索一个新的mobile backbone,能够使得在iPhone 12上面推理不到1 ms,且在ImageNet上达到75.9%的top-1精度。

  1. 作者认为FLOPs或者参数量通常与延迟性(latency)关系不大。
  • sharing parameters leads to higher FLOPs,but smaller model size。
  • parameter-less operations like skip-connections or branching, can incur significant memory access costs。
  1. 作者认为Optimization是另一个瓶颈。
  • 作者将训练和推理的结构分开,训练的时候使用一个linearly over-parameterized 模型,然后在推理的时候re-parameterizing the linear structures。
  • 使用dynamically relaxing regularization进行训练,使得小模型过参数化。

Direction

  1. 在训练的时候引入了linear branch(over-parameterization branch),然后在推理的时候re-parameterized。
  2. 训练的时候使用dynamic relaxation of regularization。

二、Method

1. FLOPs和参数量与延迟的关系

An Improved One millisecond Mobile Backbone 论文笔记_第2张图片

作者实验分析,FLOPs和延迟性相关性中等,与参数量相关性较弱。

2. 瓶颈

1. 激活函数

作者使用相同的网络结构,除了激活函数。对比了SE-ReLU, Dynamic Shift-Max和 DynamicReLUs等。延迟性如下:

An Improved One millisecond Mobile Backbone 论文笔记_第3张图片

DynamicReLU和Dynamic Shift-Max可以在极低FLOPs的模型,像MicroNet,上得到很大的提升,但在延迟性上面会影响挺大。因此作者在MobileOne上仅使用ReLU激活函数。

2. Architectural Blocks

有两个关键因素影响运行的性能:

  • memory access cost
  • degree of parallelism

memory access cost随着multi-branch的结构增加,因为每个分支的值都需要存储起来,来计算下一个tensor。这样的存储瓶颈可以通过减少分支数量来进行优化。其次,使用Squeeze-Excite block也是会影响整体的运行时间,因为它会带来同步的成本。

An Improved One millisecond Mobile Backbone 论文笔记_第4张图片

因此,作者在推理的时候不采用分支结构,减少memory access cost。但除此之外,也会使用Squeeze-Excite blocks在大模型上提高精度。

3. MobileOne模型结构

An Improved One millisecond Mobile Backbone 论文笔记_第5张图片

首先先引入MobileOne Block,它是由3x3的depthwise和1x1的pointwise卷积组成。其次,作者引入了over-parameterization branch。结构如下图所示:

An Improved One millisecond Mobile Backbone 论文笔记_第6张图片

其中 k k k是over-parameterization参数,范围是1-5。在推理的时候,MobileOne并不存在任何分支,是个complain model。

其次,因为卷及和batchnorm在推理的时候是线性操作,因此它们可以组合在一起:
权重 W ′ ∈ R C o u t × C i n × K × K W^{'} \in \R^{C_{out} \times C_{in} \times K \times K} WRCout×Cin×K×K, bias为 b ′ ∈ R D b^{'} \in \R^D bRD。 batchnorm包括均值 μ \mu μ, 标准差 σ \sigma σ, 尺度 γ \gamma γ和bias β \beta β。所以卷积和batchnorm合在一起为:

W ^ = W ′ ∗ γ σ b ^ = ( b ′ − μ ) ∗ γ σ + β \hat{W} = W^{'} * \frac{\gamma}{\sigma} \\ \hat{b} = (b^{'} - \mu) * \frac{\gamma}{\sigma} + \beta W^=Wσγb^=(bμ)σγ+β

而re-parameterizable分支的影响如下:

An Improved One millisecond Mobile Backbone 论文笔记_第7张图片

对于较大的MobileOne模型,over-parameterization的提升就会变小。

4. 训练

小的模型需要较少的正则化来抵抗过拟合。 而且需要使用weight decay在早先训练阶段。作者发现使用annealing weight decay regularization会对小模型更有效。

An Improved One millisecond Mobile Backbone 论文笔记_第8张图片

三、Performance

An Improved One millisecond Mobile Backbone 论文笔记_第9张图片An Improved One millisecond Mobile Backbone 论文笔记_第10张图片

An Improved One millisecond Mobile Backbone 论文笔记_第11张图片

四、Conclusion

MobileOne提供了轻量型backbone的设计,分析了FLOPs和参数量对延迟的影响,在iPhone12上运行低于1ms。re-parameterization这个技术以后需要深入去看看。 个人感觉创新点不是特别大,因为MobileOne Block基于depthwise和pointwise(MobileNet-v1+RepVgg)的感觉,然后激活函数也使用较原始的ReLU。但在工程上,也值得参考,去设计轻量型Backbone。

Reference

你可能感兴趣的:(网络Backbone,深度学习,人工智能,神经网络)