低算力也有甜头!ParameterNet:0.6G即可超越SwinT(CVPR'24)

‍作者 | 科技猛兽  编辑 | 极市平台

点击下方卡片,关注“自动驾驶之心”公众号

更多戳我领取自动驾驶全栈资料

>>点击进入→自动驾驶之心BEV感知技术交流群

本文只做学术分享,如有侵权,联系删文

导读

 

本文作者提出了一种 ParameterNet 的方案来解决低 FLOPs 陷阱的通用设计原则,ParameterNet-600M 可以达到比 Swin Transformer 更高的精度 (81.6% v.s. 80.9%),并且 FLOPs 要低得多 (0.6G v.s. 4.5G)。 

本文目录

1 ParameterNet:低计算量小模型也能从视觉大规模预训练中获益
(来自北京华为诺亚方舟实验室)
1 论文解读
1.1 大规模视觉预训练技术
1.2 端侧模型的视觉预训练的问题:低 FLOPs 陷阱
1.3 ParameterNet:小模型从大规模预训练中获益的方法
1.3.1 模型选择
1.3.2 ParameterNet
1.3.3 复杂度分析
1.4 实验结果

太长不看版

大规模的视觉预训练可以提高视觉大模型的性能,但是本文作者观察到:这个良好的性质对于低 FLOPs 的小模型并不适用,并将这种观察到的现象命名为 low FLOPs pitfall。为了解决这个问题,本文提出了一种通用设计原则 ParameterNet,即:对小模型进行大规模视觉预训练时,在保持小模型的低 FLOPs 的同时为模型添加更多参数。那么如何做到这一点,比如可以通过动态卷积,在只略微增加 FLOPs 的情况下为网络加入更多的参数。ParameterNet 使得低 FLOPs 网络也能够从大规模视觉预训练中受益。比如,ParameterNet-600M 可以达到比 Swin Transformer 更高的精度 (81.6% v.s. 80.9%),并且 FLOPs 要低得多 (0.6G v.s. 4.5G)。

1 ParameterNet:低计算量小模型也能从视觉大规模预训练中获益

论文名称:ParameterNet: Parameters Are All You Need for Large-scale Visual Pretraining of Mobile Networks

论文地址:

https://arxiv.org/pdf/2306.14525.pdf

代码地址:

https://github.com/huawei-noah/Efficient-AI-Backbones

1.1 大规模视觉预训练技术

由于近些年来硬件算力的提升和数据工程的发展,我们的训练数据越来越多了,算力越来越强了,大规模视觉预训练技术取得了令人瞩目的进展。预训练的视觉基础模型可以视为是一个表征学习器,它可以比较方便地迁移到图像识别和检测等下游任务上面。

大规模视觉预训练技术通常需要大量的资源,这些资源包括:

  • 数据

  • 参数

  • FLOPs

这三个关键因素基本根据 Scaling Law[1] 决定着预训练模型的性能。大规模视觉预训练技术也在不断发展,之前大家使用 1000 类,包含约 1.3M 张图的 ImageNet-1K 预训练视觉模型,并在下游任务上面微调。随着 21841 类,包含约 14M 张图片的 ImageNet-22K[2] 的提出,大家在训练视觉模型的时候一般先在 ImageNet-22K 上预训练,再在 ImageNet-1K 和下游任务数据集上做微调。为了更好地拟合大数据集,近年来模型大小 (包括参数和 FLOPs) 也越来越大,例如 ViT-G/14 模型有 1.8B 参数和 965B FLOPs。

在移动设备上的视觉应用通常需要模型具有快速推理的属性,因此不希望这些模型的 FLOPs 过大,因为过大 FLOPs 的模型在端侧很难有较快的推理速度。作者在本文里面就是去研究低 FLOPs 的端侧模型的视觉预训练。

1.2 端侧模型的视觉预训练的问题:低 FLOPs 陷阱

大规模视觉预训练技术的流程是: 模型选择 Transformer 和 CNN 模型,先在 ImageNet-22K 上做大规模预训练,再在 ImageNet-1K 上做微调得到最终的模型。端侧模型的视觉预训练的问题可以归结为图1和2所示。

如下图1所示是 Swin Transformer[3] (一种代表性的视觉 Transformer) 的结果,作者在 ImageNet-22K 和 ImageNet-1K 上预训练不同 FLOPs 的 Swin Transformer。可以看到,当模型 FLOPs 逐渐增加时,模型精度持续增加。对于高 FLOP (>10G) 模型,22K 预训练模型优于 1K 模型。然而,低 FLOPs (<4G) 模型不能从大规模预训练中受益

0c1d6d2fd7f2e74c5c3e73252b401d22.png
图1:ImageNet-1K 验证集上的 Swin Transformer 结果。红色和蓝色线分别表示 ImageNet-21K 和 ImageNet-1K 预训练的精度

如下图2所示是 EfficientNetV2[4] (一种代表性的 CNN) 的结果,作者在 ImageNet-22K 和 ImageNet-1K 上预训练不同 FLOPs 的 EfficientNetV2。可以看到,当模型 FLOPs 逐渐增加时,模型精度持续增加。同时也可以观察到与 Swin Transformer 相似的趋势,比如在 ImageNet-22K 上的 2G FLOPs 预训练的 EfficientNetV2 模型精度不如在 ImageNet-1K 上预训练的精度。

从 Transformer 和 CNN 网络的观察中,我们得出了一个经验结论,即:低 FLOP 模型无法从大规模预训练中受益,作者将这种现象命名为低 FLOPs 陷阱 (low FLOPs pitfall)

05c6d967f5954df5d31926a18dbae58d.png
图2:ImageNet-1K 验证集上的 EfficientNetV2 结果。红色和蓝色线分别表示 ImageNet-21K 和 ImageNet-1K 预训练的精度

1.3 ParameterNet:小模型从大规模预训练中获益的方法

1.3.1 模型选择

作者从 2023.6 的 Paperwithcode 网站上收集到了一系列具有 ImageNet-22K 预训练和 ImageNet-1K 微调的 ImageNet-1K 验证集精度结果,如下图3所示。可以看到,当 FLOP 高于 5G FLOPs 时,基于 Transformer 的模型始终优于具有相似计算成本的 CNN。对于较小的模型,尤其是 600M FLOPs 内的移动级模型,基于 CNN 的模型,因其归纳偏置,即局部性和平移等变性的作用始终优于具有相似计算成本的 Transformer。

57f1b13eb3d4b393326199a01ec6bc38.png
图3:带有 ImageNet-22K 预训练和 ImageNet-1K 微调的 ImageNet-1K 验证集精度曲线

1.3.2 ParameterNet

本文作者提出了一种 ParameterNet 的方案来解决这个低 FLOPs 陷阱 (low FLOPs pitfall) 的通用设计原则,即:在为模型添加更多的参数的同时尽量维持其低 FLOPs 的特性。有各种各样的方法具有更多的参数和较低的FLOPs。例如,这里主要考虑高效的动态卷积 (Dynamic Convolution),它可以增加参数的数量,而几乎没有带来额外的 FLOPs。

设输入特征是  ,权重特征是  ,卷积操作可以写成:

55b6686445cbc4c672da42598a3afb7d.png

式中, 是输出特征。

具有  个动态专家的动态卷积操作可以写成:

40e63723caaa1ca00f7fead6571b7a4e.png

式中,  是第  个动态卷积核的参数,  是对应的动态超参数, 随不同的输入而动态地生成。典型的生成策略是使用下面的模块来生成, 即:对于输入 , 应用全局平均池化将信息融合到一个向量中, 然后使用具有 softmax 激活的两层 MLP 模块动态生成系数。

8ae37933532de0cff0b23748fe060167.png

式中, 。

1.3.3 复杂度分析

计算动态卷积和普通卷积的参数量之比:

9780afb015e6b06f3347d168819b2ec5.png

计算动态卷积和普通卷积的 FLOPs 之比:

363bb6ee59dc6008a3b5247434ed26cd.png

可以看到,动态卷积和普通卷积的参数量之比是  ,而动态卷积和普通卷积的 FLOPs 基本一致。这说明,每个动态卷积的参数量大约为常规卷积的  倍,且计算量的增加可以忽略不计。

1.4 实验结果

训练策略

如下图4所示是本文实验的预训练策略。ImageNet-1K 训练直接300 Epochs,ImageNet-22K 预训练先训练90 Epochs,再在 ImageNet-1K 上面微调30 Epochs,遵循 Swin 等的做法。

8a945c3ca7ec763c7c7e9790f8531334.png
图4:训练策略

实验结果

模型基于 GhostNet-300M,是 GhostNet 1.45× 的版本,ParameterNet-300M 是通过将 GhostNet-300M 中传统的卷积层替换为动态卷积构造的。动态卷积专家的数量默认设置为 4。对于 GhostNet,在 ImageNet-22K 上进行预训练无助于性能提升,ImageNet-22K 预训练 ParameterNets 与常规 ImageNet-1K 训练相比可以将性能提高约 +2%,如下图5和6所示。

6fbfa11b4a7ef0b0702b88d6aaf7db0c.png
图5:ImageNet-1K 精度,原始的 GhostNet 存在低 FLOPs 陷阱。所提出的 ParameterNet 克服了这个问题
4926eea0ce831d4d7438909a7ccf7acd.png
图6:ImageNet-1K 精度,原始的 GhostNet 存在低 FLOPs 陷阱。所提出的 ParameterNet 克服了这个问题

与 SOTA 对比

作者将 ParameterNet 与其他在 ImageNet-22K 或更大的数据集 (如 JFT-300M[5]和 IG-1B-Targeted[6]) 上预训练的代表性模型进行比较。从图7中的结果可以看出,ParameterNet 的 FLOPs 较少,但优于其他在大规模数据集上预训练的模型。例如,ParameterNet-600M 实现了 81.6% 的 top-1 准确率,其 FLOPs 比 ResNet50 或 Swin-T 低约 7 倍。

8cd9b8e2777a739932297b85a5da405b.png
图7:与 SOTA 对比结果

推理速度

作者评估了 ParameterNet 和其他代表性模型的推断速度进行比较。作者使用 ONNX 工具包在具有单线程模式的 Intel Xeon Platinum 8378C CPU 上运行模型。如图8所示,ParameterNet 的性能优于广泛使用的 ResNet 和 Swin Transformer,以获得更好的精度-延迟权衡。

ed705960cbb0f696ab191038795f7f4f.png
图8:推理速度比较结果

参考

  1. ^Scaling Vision Transformers

  2. ^ImageNet Large Scale Visual Recognition Challenge

  3. ^Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

  4. ^EfficientNetV2: Smaller Models and Faster Training

  5. ^Revisiting Unreasonable Effectiveness of Data in Deep Learning Era

  6. ^Billion-scale semi-supervised learning for image classification

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

ad244edac675a505ae3ce817cab0cb96.png

网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内最大最专业,近2700人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

0483f6b6051173f1c9f8a0b49b075b58.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦2D/3D目标检测、语义分割、车道线检测、目标跟踪、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、在线地图、点云处理、端到端自动驾驶、SLAM与高精地图、深度估计、轨迹预测、NeRF、Gaussian Splatting、规划控制、模型部署落地、cuda加速、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

211bbdc2d6346902d1eb30e3d840efe5.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

7e8b879f9b5904366884c284990511ae.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值