苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(1)

随着智能手机性能的提升,在手机端部署高效率、轻量化的深度学习模型具备越来越高的实用价值。近日,苹果研究团队基于 iPhone 12 手机平台,开发了一种名为“MobileOne”的轻量化神经网络架构,并在 ImageNet 数据集上获得低于 1 毫秒的推理时延,及 75.9% 的识别精度。

通常,人们在高识别精度和低时延两者之间进行取舍。因此设计同时满足高识别精度和低时延的神经网络模型充满了挑战。苹果团队在广泛研究了多种“手机友好型”神经网络模型后发现,提升模型推理效率的两大关键瓶颈,“是激活函数的选择和模型结构块的设计”。

为了缓解这些问题,该研究团队开发了一种轻量化神经网络架构“MobileOne”,将其部署在 iPhone 12 手机平台上,并用 ImageNet 数据集进行测试,获得了低于 1 毫秒的推理时延以及 75.9% 的识别精度。

相关论文以《一种改良的毫秒推理轻量化模型主干架构》(An Improved One millisecond Mobile Backbone)为题,于 2022 年 6 月 8 日提交至预印本期刊 arXiv [1]。

洞悉已有模型

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(2)

对于手机端高效神经网络架构的研究,大多聚焦于每秒浮点运算次数(Floating-point operations per second,FLOPS)或者模型参数的数量,而这两者与模型的推理效率之间并不一定明显相关。比如,每秒浮点运算量的统计通常不考虑计算并行度或内存访问行为,而某些神经网络中的无参数操作(如跳跃连接等)则会产生大量的内存访问开销。

苹果团队首先研究了一些在移动端比较流行的轻量化神经网络模型,包括 MobileViT、MobileNet、EfficientNet、和 SqueezeNet 等。较早期的 SqueezeNet 和较新的 MobileViT,其实现轻量化的方式主要是在模型的参数数量方面进行了优化;而对于每秒浮点运算量的优化,流行模型有 EfficientNet、MobileNet、ShuffleNet、GhostNet 和 MixNet 等。

较少有方法像 MobileNet-V3 和 ShuffleNet-V2 等一样,直接针对模型推理时延进行优化。学术界已有证据显示,推理时延与模型参数数量和每秒浮点运算量的相关性未必非常明显。因此,苹果团队的工作重点是在不降低甚至提升模型识别精度的条件下,减轻神经网络在手机设备上的时延。该团队认为,阻碍提升模型推理效率的两大关键瓶颈,是激活函数的选择和模型结构块的设计。

该团队研究了模型推理时延与浮点运算量及参数个数的相关性。他们开发了一个 iOS APP,能在 iPhone 12 上测量各种模型时延。研究人员发现,推理时延与每秒浮点运算量适度相关,而与模型的参数数量弱相关。

下图还可以看出,相比于其他的轻量化模型,MobileOne 模型在同等延迟下,每秒浮点运算量更多(左侧),而且模型参数数量更多(右侧),因此模型的识别精度也较高。此外,该团队还发现,不同激活函数也会对模型推理带来毫秒甚至百毫秒量级的时延,最终他们选择了时延最低的 ReLu 激活函数。

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(3)

(来源:arXiv)

开发新颖架构

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(4)

“重参数化”是一种模型压缩技术,可以理解为用一个简单的网络结构去等效替代一个较复杂的结构,其优点是可以降低模型计算开销。而 MobileOne 模型在已有的 MobileNet-V1 架构基础上,在结构块中引入了一些简单的可重参数化的分支。

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(5)

(来源:arXiv)

MobileOne 模型及其变体的架构细节如下图所示。其中,所有模型的输入图像分辨率为 224×224,卷积的通道数和结构块的个数分别由两个超参数(α,k)控制,论文中一共涉及了 S0-S4 五种变体。

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(6)

(来源:arXiv)

测试模型性能

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(7)

苹果团队首先利用 ImageNet 数据集(该图片数据集包含 1000 种目标类别,128 万张图片用于训练,5 万张图片用于测试)对 MobileOne 模型的目标分类识别能力进行评估。如下图所示,左侧表示 transformer 类模型的测试结果,表明即便是参数数量最少的 MobileViT 变体,在移动设备上的时延也高于 4 毫秒(蓝框标出)。

下图中右侧同样用蓝框圈出了 MobileOne 类模型,红框是模型的识别精度(所谓的 Top-1 即模型输出 1000 个类别对应的概率后,取概率最大的识别结果所得到的识别精度)。可以看出,尽管 MobileFormer 达到了 79.3% 的识别精度和 70.76 毫秒的时延[2],MobileOne-S4 识别精度仍然略高(79.4%),且时延仅为 1.86 毫秒,比前者快了 38 倍。

MobileOne-S3 的识别精度比 EfficientNet-B0 高 1% 而且时延降低 11%。整体来看, MobileOne 类模型平均识别精度更高且时延更低,其在 iPhone 12 上的表现,比很多流行的神经网络模型更具优越性。

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(8)

(来源:arXiv)

苹果团队在论文中进一步证实,该 MobileOne 模型架构可以推广到多种任务类型,不仅图像分类、还可用于目标检测和语义分割等任务中。

为展示 MobileOne 的多功能性,该团队在 MS-COCO 数据集上的进行了目标检测性能的测试。他们将 MobileOne 用作单阶段目标检测器 SSD 的骨干特征提取器,然后利用 mmdetection 库,基于 MS-COCO 数据集对模型进行了 200 个轮次的训练。

下图左侧部分显示的是在目标检测边框交并比阈值取不同值(0.5 到 0.95,步长 0.05)的条件下,各种模型在验证集上的平均识别精度。最佳变体 MobileOne-S4(红框)比 MNASNet 和 MobileViT 的最佳版本(两个蓝框)分别高了 27.8% 和 6.1%。

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(9)

(来源:arXiv)

此外,该团队还在 Pascal VOC 和 ADE 20 数据集上测试了模型的语义分割性能,用 MobileOne 作为 Deeplab-V3 语义模型的主干特征提取结构,按照 MobileViT 的训练过程,在增强的 Pascal VOC 和 ADE 20k 数据集上训练了 50 轮。上图右侧部分显示了模型的平均交并比,不论是 VOC 数据集还是 ADE20K,在时延较低的情况下,MobileOne 模型的整体平均性能仍然较高。

概括来说,此次苹果团队开发出了名为“MobileOne”的移动端轻量化神经网络架构,相比其他当前流行的众多轻量模型,MobileOne 具有较低时延、较高识别精度的优势。尽管其识别性能与 ConvNeXt 和 Swin Transformer 等大型网络相比仍有较大差距,但是在手机平台等移动端具有一定应用前景,为未来神经网络在手机端的高效使用提供了借鉴思路。

-End-

参考:

1. An Improved One millisecond Mobile Backbone, https://arxiv.org/abs/2206.04040

2.Mobile-Former: Bridging MobileNet and Transformer, https://openaccess.thecvf.com/content/CVPR2022/html/Chen_Mobile-Former_Bridging_MobileNet_and_Transformer_CVPR_2022_paper.html

苹果a12 神经网络速度(苹果基于iPhone12开发轻量化网络)(10)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页