十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【MobileOne】《MobileOne: An Improved One millisecond Mobile Backbone》

【MobileOne】《MobileOne: An Improved One millisecond Mobile Backbone》 CVPR-2023https://github.com/apple/ml-mobileone文章目录1、Background and MotivationBackgroundMotivation2、Related Work3、Advantages / Contributions4、Method4.1、Metric Correlations4.2、Key Bottlenecks4.3、MobileOne Architecture4.4、Training4.5、Benchmarking5、Experiments5.1、Datasets and Metrics5.2、Image Classification on ImageNet-1K5.3、Knowledgedistillation5.4、Objectdetection on MS-COCO5.5、Semantic Segmentation on Pascal VOC and ADE20k5.6、Robustness to corruption5.7、Comparison with Micro Architectures6、Conclusionown / Future work1、Background and MotivationBackground移动端网络通常用 FLOPs 和参数量衡量效率MobileNet、ShuffleNet、EfficientNet、MobileViT 等工作主要通过降低 FLOPs、减少参数或复合缩放来提升移动端效率。这些指标不能准确代表真实设备延迟FLOPs 没有考虑内存访问开销算子的并行度分支、跳连带来的中间特征读写全局池化和复杂激活函数造成的同步开销。因此FLOPs 或参数更少的模型在手机上不一定运行得更快。论文在 iPhone 12 上的测试也发现移动端延迟与 FLOPs 仅中度相关与参数量仅弱相关。部分“提高精度”的结构会显著增加实际延迟多分支、残差连接、Squeeze-and-Excitation以及 Dynamic ReLU、Dynamic Shift-Max 等复杂激活虽然可能改善精度却会增加内存访问和同步成本。某些为特定平台设计的自定义算子也不容易迁移到其他硬件。已有结构重参数化工作提供了新思路ACNet、DBBNet、RepVGG 等证明训练时可以采用多分支结构增强优化能力推理时再将这些分支融合成简单的卷积从而兼顾训练效果和推理效率。Motivation论文希望解决的核心矛盾是怎样不再只追求“纸面上的低 FLOPs”而是在真实手机上同时获得低延迟和高精度具体包括三点直接面向真实设备优化作者以 iPhone 12 CoreML 的实测延迟为依据识别真正影响端侧速度的架构瓶颈而不是仅依赖 FLOPs 和参数量。同时解决推理和训练两类瓶颈推理瓶颈分支、跳连、复杂激活及同步操作增加内存和执行成本训练瓶颈小模型容量有限训练困难而且容易被过强的正则化进一步限制。解耦训练结构与推理结构作者希望训练时使用线性多分支和过参数化提高优化能力推理时将其重参数化为无分支、无跳连的简单前馈网络同时动态放松正则化避免小模型被过度约束。最终目标是在 iPhone 12 上实现1 ms 以内推理同时保持较高精度和跨分类、检测、分割任务的泛化能力。MobileOne 的出发点不是继续减少 FLOPs而是围绕真实硬件延迟重新设计网络并利用“训练复杂、推理简单”的结构重参数化缓解速度与精度之间的矛盾。2、Related Work轻量 CNNSqueezeNet、MobileNet、ShuffleNet、GhostNet、MixNet主要压缩参数量或 FLOPs。EfficientNet、TinyNet研究深度、宽度、分辨率的复合缩放。MNASNet、MobileNetV3、ShuffleNetV2少数直接面向真实延迟优化。移动端 TransformerMobileViT、MobileFormer尝试将 Transformer 引入移动端。问题低参数量、低 FLOPs并不必然带来低延迟真实设备上的表现可能不如 CNN。复杂算子与平台适配MobileNetV3 等使用 Hard-Swish、自定义模块提高精度。但复杂激活和平台专用算子可能增加同步开销且跨硬件迁移困难。结构重参数化ExpandNet、ACNet、DBBNet、RepVGG训练时采用多分支增强优化推理时融合为简单卷积。MobileOne沿用这一思路并引入平凡过参数化over-parameterization branches分支专门适配深度可分离卷积和小模型。直接针对真实移动端延迟追求“训练时易优化、推理时无分支”的简单网络。3、Advantages / Contributions真实延迟导向不再以 FLOPs、参数量代替速度直接在iPhone 12上分析激活函数、分支和跳连等延迟瓶颈。提出 MobileOne 架构部分版本实现1 ms 推理延迟在该速度下ImageNet Top-1 达到75.9%。训练复杂、推理简单训练时使用重参数化与额外过参数化分支提升优化能力推理时融合成无分支、无跳连的简单卷积网络。改善小模型训练通过动态放松正则化cosine避免容量有限的小模型被过度正则化。综合优势突出精度—延迟权衡更好内存访问与同步开销低主要使用基础算子部署和跨平台适配更容易能够迁移到分类、目标检测和语义分割任务。4、Method4.1、Metric Correlationspytorch-onnx- coreml packagesCore ML Tools 在 iphon12 上测延时MobileNets have lower latency for similar FLOPs and parameter count than their transformer counter partslatency ismoderately correlated with FLOPsandweakly correlated with parameter countsfor efficient architectures on a mobile device延迟平台对比指标ρp-value解读手机FLOPs0.470.03中等正相关统计上显著手机参数量0.300.18弱正相关但证据不足CPUFLOPs0.060.80几乎无相关性CPU参数量0.070.77几乎无相关性p-value 0.05有一定统计证据认为相关性存在p-value ≥ 0.05证据不足不能排除随机波动。4.2、Key Bottlenecks1Activation Functions同网络结构不同 activation function 测 latency作者 MobileOne 只用 ReLU效果比较好的 Dynamic 系列会引入 synchronization cost同步开销指硬件在执行后续计算前必须等待某些前置计算全部完成所产生的等待与调度成本2Architectural Blocks引入 SE 和 skip connections 后会增加 Memory access cost and degree of parallelism4.3、MobileOne Architecture1MobileOne Block基于 mobilenet-V1 改进推理时核心是 dw pw conv关于 over-parameterization训练时故意使用比推理所需更多的参数和并行分支让模型更容易优化推理前再把这些分支等价合并成一个卷积。k is varied from 1 to 5MobileOne 用多个卷积分支共同“训练”出一个更好的卷积部署时只保留合并后的单个卷积——即训练复杂推理简单。实验探索 k 对 ImageNet-top1 的影响网络越大over-parameterization 的作用 starts diminishing.figure4 可以看出小网络引入重参数方法后train loss 和 validation loss 都更低。引入 over-parameterization 后loss 进一步降低table5 对比的是train 时候是否用了 re-param 的技术inference 的时候同结构训练阶段的过参数化改善了优化过程而不是增加了部署时的模型容量。2Model Scalingtable4 对比了其它的重参数 / 过参数方法MobileOne-S1 variant outperforms RepVGG-B0 which is ∼3× bigger.4.4、Training相比于大模型small models need less regularization to combat overfitting作者采用的是 anneal weight decay也即让 weight decay 随训练过程逐渐减小前期较强防止过拟合稳定训练后期减弱让小模型有空间进一步拟合和提升精度。可以看到引入 annealing weight decay 后精度提升了Initial weight decay coefficient is set to 10−4 and annealed to 10−5 using the same cosine scheduleProgressive Learning渐进式学习训练过程中逐渐增加任务难度前期较低输入分辨率、较弱数据增强后期逐步提高分辨率和增强强度。MobileOne-S2 及以上的 variant 才使用该策略weight decay 就是给“大权重”加罚款让模型更简单但罚得太重小模型会学不动。EMA参数指数移动平均训练时额外维护一份平滑后的模型参数对近期多个版本的参数文中作用于 W做平滑集成4.5、BenchmarkingCPUUbuntu2.3 GHz Intel Xeon Gold 5118GPURTX 2080 Ti使用 TensorRT 8.0.1.6桌面测试执行 100 次报告中位数延迟。5、Experiments5.1、Datasets and MetricsImage Classification on ImageNet-1KTop-1Objectdetection on MS-COCOmAPSemantic Segmentation on Pascal VOC and ADE20kmIoU5.2、Image Classification on ImageNet-1Klower latency even on CPU and GPU compared to competing methods.5.3、KnowledgedistillationShen Z, Savvides M. Meal v2: Boosting vanilla resnet-50 to 80% top-1 accuracy on imagenet without tricks[J]. arXiv preprint arXiv:2009.08453, 2020.将多个强教师的平均预测作为软标签让学生模仿教师集成的完整判断而不只是学习 one-hot 标签。蒸馏后效果进一步加强进一步可以发挥过参数的优势5.4、Objectdetection on MS-COCOmobileone SSD5.5、Semantic Segmentation on Pascal VOC and ADE20kmobileone DeeplabV3 segmentation networktable115.6、Robustness to corruption不只测试干净 ImageNet而是考察模型面对图像损坏和分布偏移时的表现Clean标准 ImageNet Top-1越高越好IN-C模糊、噪声等人工损坏报告 mCE越低越好IN-A自然对抗样本越高越好IN-R绘画、卡通等不同视觉表现形式越高越好IN-SK黑白草图越高越好。Hendrycks D, Zhao K, Basart S, et al. Natural adversarial examples[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021: 15262-15271.Hendrycks D, Dietterich T. Benchmarking neural network robustness to common corruptions and perturbations[J]. arXiv preprint arXiv:1903.12261, 2019.Hendrycks D, Basart S, Mu N, et al. The many faces of robustness: A critical analysis of out-of-distribution generalization[C]//2021 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE, 2021: 8320-8329.Wang H, Ge S, Lipton Z, et al. Learning robust global representations by penalizing local predictive power[J]. Advances in neural information processing systems, 2019, 32.5.7、Comparison with Micro Architectures6、Conclusionown / Future workConclusion提出 MobileOne面向移动设备的通用高效骨干网络在真实手机上实现优秀的精度—延迟权衡。强调真实延迟FLOPs和参数量不能可靠代表实际速度模型设计应直接基于目标硬件测试。识别关键瓶颈复杂激活、多分支、跳连和同步操作会增加内存访问与实际延迟。训练与推理解耦训练时通过重参数化分支改善优化推理时融合为简单的无分支结构。泛化能力较好不仅适用于ImageNet分类也能迁移到目标检测和语义分割并在手机、桌面CPU和GPU上保持竞争力。Limitations Future Work局限MobileOne虽然在轻量网络范围内表现领先但与大型高容量模型相比绝对精度仍存在差距。未来工作继续提高轻量模型的准确率将MobileOne扩展到更多视觉任务包括光流估计深度估计3D重建进一步研究其在其他硬件和视觉应用中的快速推理能力。MobileOne证明了“真实硬件延迟导向 训练复杂、推理简单”是设计移动端网络的有效路线下一步重点是补足绝对精度并扩展应用范围。iphone12、测 latency、coreML、重参数、过参数、ImageNet 变种扩展、部署的时候还是 mobilenetv1 框架DWPW、蒸馏、动态 weight decay 正则化cosinedecreasing floating-point operations (FLOPs) and parameter count 并不等于减少了 latencyFLOPs do not account for memory access cost and degree of parallelismintroduce trivial over-parameterization branchesMemory access cost and degree of parallelism蒸馏过参数强强联合更多论文解读请参考 【Paper Reading】
返回列表