视觉Backbone怎么使用1/8的FLOPs实现比Baseline更高的精度?

简介: 视觉Backbone怎么使用1/8的FLOPs实现比Baseline更高的精度?

大规模视觉预训练显著提高了大型视觉模型的性能。然而,作者观察到现有的低FLOPs模型无法从大规模预训练中受益的问题。在本文中,作者提出了一种通用的设计原则,即ParameterNet,用于在大规模视觉预训练中增加更多参数的同时保持低FLOPs。

例如,采用动态卷积技术可以为网络提供更多参数,同时仅略微增加FLOPs。提出的ParameterNet方案使得低FLOPs网络能够从大规模视觉预训练中受益。

在大规模ImageNet-22K数据集上的实验证明了作者ParameterNet方案的卓越性能。例如,ParameterNet-600M相比广泛使用的Swin Transformer具有更高的准确性(81.6%对80.9%),并且具有更低的FLOPs(0.6G对4.5G)。

1、简介

由于计算硬件和数据工程的发展,作为计算机视觉中的基础组成部分,大规模视觉预训练取得了令人瞩目的进展。预训练的视觉模型可以作为表示学习器,并迁移到下游任务中,如图像识别和目标检测。

主流的预训练视觉模型通常需要大量的资源,包括数据、参数和FLOPs。这3个关键因素严重影响着性能,并基本遵循缩放定律。大规模的预训练数据可以为表示学习提供多样化的样本。这些数据集的规模从数百万到数十亿不等,例如,广泛使用的ImageNet-22K数据集包含了1400万张图像和21841个类别。为了更好地拟合大规模数据集,模型的大小(包括参数和FLOPs)近年来越来越大,例如,ViT-G/14模型具有18亿个参数和9650亿个FLOPs。

移动设备上的视觉应用通常需要快速推理,因此由于高计算成本,很难部署现有的预训练视觉模型。为了解决这个问题,作者经验性地研究了大规模视觉预训练中FLOPs的影响。作者采用ImageNet-22K作为大规模预训练数据集,而ImageNet-1K是一个相对较小的数据集用于比较。

然后,作者对预训练的Transformer和CNN模型在ImageNet-1K上进行微调以评估性能。如图2和图3所示,当模型的FLOPs逐渐增加时,模型的准确性持续提高。对于高FLOPs的模型,22K预训练模型优于1K模型。然而,低FLOPs的模型无法从大规模预训练中获益,作者称之为低FLOPs陷阱。

在这篇论文中,作者通过增加更多的参数来构建低FLOPs的ParameterNet,同时保持低FLOPs的特性,用于大规模视觉预训练。这是一个通用的设计原则,有多种方法可以增加参数数量并保持低FLOPs。

例如,作者主要考虑高效动态卷积,它可以大幅增加参数数量而几乎不增加额外的FLOPs。ParameterNet方案可以使以前的网络从大规模视觉预训练中受益,并克服低FLOPs的陷阱。

在实验中,ImageNet-22K预训练的ParameterNets相比正常的ImageNet-1K训练可以提高约2%的性能。例如,ParameterNet-600M在ImageNet-1K验证集上实现了81.6%的top-1准确率,其FLOPs数量比Swin-T低7倍。

2、本文方法

在本节中,作者研究了大规模预训练设置下的 low-FLOPs 网络。

2.1  Architecture: Transformer vs. CNN

在这里,作者没有提出一个新的架构,而是选择了最适合大规模视觉预训练的低FLOPs网络架构。ViT及其变种在大型视觉模型领域中展示了Transformer相对于CNN的优越性。

如下图所示,当FLOPs高于5G FLOPs时,基于Transformer的模型在计算成本相似的情况下始终表现出色于CNN。

至于更小的模型,特别是在600M FLOPs范围内的移动级模型,具有局部性和平移不变性的CNN仍然占主导地位。为了构建用于视觉任务的高效Backbone模型,作者选择了CNN作为基础模型。GhostNet是代表最先进的移动模型,引入了廉价运算来简化标准卷积层。

2.2 Parameters Are All You Need

在神经网络中,参数数量和FLOPs之间存在高度的相关性。具有大量参数的模型通常拥有较高的FLOPs。考虑到大量数据需要更多的参数的直觉,作者通过增加参数数量来构建ParameterNet,同时保持低FLOPs。

作者从传统的卷积层开始。给定输入特征和权重张量,传统的卷积层的操作如下:

在这种情况下,输出特征图可以看作是卷积操作的结果,其中  表示卷积操作,并且省略了偏置项以简化表示。全连接层可以被看作是卷积核尺寸为1×1的卷积层。

作者的设计原则是在保持低 FLOPs 的同时增加更多的参数。构建 ParameterNet 的方法有多种,例如动态卷积和重参化卷积。尽管重参化卷积在训练过程中增加了参数的数量,但其在推理阶段的参数和 FLOPs 是不变的,也就是说,模型的容量没有增加。

在本文中,作者主要考虑高效的动态卷积,它可以多倍增加参数的数量,几乎不带来额外的 FLOPs。

具有M个dynamic experts的动态卷积可以表示为:

其中是第个卷积权重张量,是对应的动态系数。系数是根据不同的输入样本动态生成的,一种典型的方法是使用MLP模块基于输入生成系数。

对于输入,作者首先进行全局平均池化将信息融合为一个向量,然后使用具有激活函数的两层MLP模块来动态生成系数:

其中 。

成分分析:

对于标准的卷积层来说,参数数量为 ,FLOPs 数量为 。动态卷积由系数生成模块、动态权重融合和卷积过程组成。

具有  个隐藏维度的系数生成模块需要  个参数和  个 FLOPs。动态权重融合是无参数的,并且有  个 FLOPs。

因此,动态卷积的总参数数目和 FLOPs 数目分别为  和 。

动态卷积与标准卷积的参数比例为:

FLOPs比率为:

因此,与标准卷积相比,动态卷积具有大约 倍的参数,并且额外的 FLOPs 可以忽略不计。

3、实验

3.1 实验设置

3.2 主要结果

3.2.1 与SOTA比较

3.2.2 推理速度

3.3 消融实验

3.3.1 dynamic experts的数量

3.3.2 Dynamic convolution vs. re-parameterized convolution

3.3.3 ParameterNet for other network architectures

4、参考

[1].ParameterNet: Parameters Are All You Need for Large-scale Visual Pretraining of Mobile Networks.

相关文章
|
算法 Go 文件存储
DAMO-YOLO: 兼顾速度与精度的新目标检测框架
我们团队最近开源了DAMO-YOLO!其效果达到了YOLO系列的SOTA,欢迎各位试用!​简介DAMO-YOLO是一个兼顾速度与精度的目标检测框架,其效果超越了目前的一众YOLO系列方法,在实现SOTA的同时,保持了很高的推理速度。DAMO-YOLO是在YOLO框架基础上引入了一系列新技术,对整个检测框架进行了大幅的修改。具体包括:基于NAS搜索的新检测backbone结构,更深的neck结构,精
1116 0
DAMO-YOLO: 兼顾速度与精度的新目标检测框架
|
5月前
|
机器学习/深度学习 计算机视觉 异构计算
【YOLOv8改进 - Backbone主干】FasterNet:基于PConv(部分卷积)的神经网络,提升精度与速度,降低参数量。
【YOLOv8改进 - Backbone主干】FasterNet:基于PConv(部分卷积)的神经网络,提升精度与速度,降低参数量。
|
2月前
|
机器学习/深度学习 PyTorch 算法框架/工具
|
7月前
|
网络架构
YOLOv5改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv5(超级轻量化精度更高)
YOLOv5改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv5(超级轻量化精度更高)
327 0
|
6月前
|
机器学习/深度学习 人工智能 编解码
Pixel Transformer:用像素代替补丁可以提升图像分类精度
**Pixel Transformer** 挑战了ViT的16×16像素块范式,将每个像素作为独立令牌,消除局部偏置。在多种任务中,包括图像分类和生成,性能显著提升,尤其是在CIFAR-100和ImageNet上。通过单像素处理,模型能捕获更精细细节,增强泛化能力。尽管计算复杂性增加,但研究表明这种方法有潜力推动视觉模型和跨模态学习的发展。[[https://avoid.overfit.cn/post/558881d4b25b4e9e944806441eaf887a]]
117 6
|
7月前
|
机器学习/深度学习 网络架构
YOLOv8改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv8(超级轻量化精度更高)
YOLOv8改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv8(超级轻量化精度更高)
499 1
|
机器学习/深度学习 计算机视觉 索引
目标检测无痛涨点新方法 | DRKD蒸馏让ResNet18拥有ResNet50的精度(一)
目标检测无痛涨点新方法 | DRKD蒸馏让ResNet18拥有ResNet50的精度(一)
561 0
|
计算机视觉
目标检测无痛涨点新方法 | DRKD蒸馏让ResNet18拥有ResNet50的精度(二)
目标检测无痛涨点新方法 | DRKD蒸馏让ResNet18拥有ResNet50的精度(二)
149 0
|
机器学习/深度学习 算法 自动驾驶
改进YOLOX | Push-IOU+Dynamic Anchor进一步提升YOLOX性能
改进YOLOX | Push-IOU+Dynamic Anchor进一步提升YOLOX性能
190 0
|
算法 计算机视觉 索引
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(二)
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(二)
360 0