【计算机视觉 | ViT-G】谷歌大脑提出 ViT-G:缩放视觉 Transformer,高达 90.45% 准确率

简介: 谷歌大脑提出 ViT-G:缩放视觉 Transformer,高达 90.45% 准确率

论文地址为:

https://arxiv.org/pdf/2106.04560.pdf

一、简介

视觉 Transformer(ViT) 等基于注意力的神经网络最近在许多计算机视觉基准测试中取得了最先进的结果。比例是获得出色结果的主要因素,因此,了解模型的 scaling 属性是有效设计的关键。

虽然已经研究了扩展 Transformer 语言模型的规律,但尚不清楚 Vision Transformers 如何扩展。

为了解决这个问题,作者向上和向下扩展 ViT 模型和数据,并描述错误率、数据和计算之间的关系。

在此过程中,作者改进了 ViT 的架构和训练,减少了内存消耗并提高了结果模型的准确性。

结果,作者成功地训练了一个具有 20 亿个参数的 ViT 模型,该模型在 ImageNet 上达到了 90.45% 的 Top-1 准确率。该模型在小样本学习上也表现良好,例如,在 ImageNet 上每类只有 10 个 examples 的情况下可以达到 84.86% 的 Top-1 准确率。

在这个过程中,研究者创建了一个改进的大规模训练方案,探索了训练超参数以及发现微妙的选择,大幅改善小样本迁移性能。具体来说,研究者发现非常强的 L_2正则化,仅应用于最终的线性预测层,导致学习到的视觉表征具有很强的小样本学习能力。

例如,在 ImageNet 数据集(有 1000 个类)上,每个类只有一个示例,该研究的最佳模型达到 69.52% 的准确率;如果每个类有 10 个示例,准确率达到了 84.86%。此外,该研究大大减少了提出的原始 ViT 模型的内存占用,通过特定于硬件的体系架构更改和不同的优化器来实现这一点。

结果表明,该研究训练了一个具有 20 亿个参数的模型,在 ImageNet 数据集上达到了新的 SOTA 性能 90.45% 的准确率。可以看到,在 SOTA 基准排行榜上,ViT-G/14 模型的 Top-1 准确率已经超越了谷歌之前提出的 Meta Pseduo Labels 模型。
image.png

二、如何做到的?

研究者展示了对 ViT 模型及训练的改进,这些改进大多数易于实现,并显著提升了内存使用率和模型质量。如此一来,研究者可以单独使用数据并行化训练 ViT-G/14 模型,并在单个 TPUv3 上实现整个模型拟合。

三、扩展数据

该研究使用专有的 JFT-3B 数据集,它是 JFT-300M 数据集的更大规模版本,在之前的许多大型计算机视觉模型工作中使用过 [31, 18, 11]。该数据集由近 30 亿张图像组成,标注为包含 30K 类别的层级类别,并且由于采用半自动标注,所以标注是有噪音的。所有的测试数据也均从 JFT-3B 中移除。

下图展示了数据集从 JFT-300M 到 JFT-3B 过程中对模型性能的影响。可以观察到,更大规模的 JFT-3B 数据集可以得到更好的模型,所以 JFT-300M 数据集的过拟合并不是实现性能提升的唯一原因。
image.png

四、「head」 的解耦权重衰减

权重衰减对低数据情况下的模型自适应具有重大影响。

研究者在中等规模程度上研究了这一现象,并发现可以从模型中最终线性层(「head」)和剩余权重(「body」)的权重衰减强度解耦中获益。

下图展示了这一效果。研究者在 JFT-300M 上训练了一个 ViT-B/32 模型,每个单元格对应不同 head/body 权重衰减值的性能。

他们观察到的有趣的一点是:尽管提升了迁移性能,但 head 中高权重衰减却降低了预训练(上游)任务的性能。
image.png

五、通过移除 [class] token 节省内存

对于 ViT 模型,当前的 TPU 硬件将 token 维数填充为 128 的倍数,这可能导致高度 50% 的内存开销。

为了解决这一问题,研究者尝试探索「使用额外 [class] token」的替代方法。

具体地,他们对全局平均池化( GAP)和多头注意力池化(MAP)进行评估以聚合来自所有 patch token 的表示,并将 MAP 中 head 的数量与模型其他部分中注意力 head 的数量设为相同。

为了进一步简化 head 设计,研究者原始 ViT 论文中出现的、最终预测层之前的最终非线性映射。

为了选择最佳 head,研究者对 [class] token 和 GAP / MAP head 进行了并排比较,结果如上图(右)所示。他们发现,所有 head 的表现类似,同时 GAP 和 MAP 由于进行了填充(padding)考虑,因而具备更高的内存效率。

此外,非线性映射还可以安全地进行移除。因此,研究者选择了 MAP head,这是因为其表现力最强,并且能够生成最统一的架构。

六、实验结果

在接下来的实验中,研究者在多达 30 亿个弱标记图像上训练了几个 ViT 模型。

研究者改变架构大小、训练图像的数量和训练持续时间。所有模型都在 TPUv3 上训练,因此总计算量是以 TPUv3 核每天(core-days)数来衡量的。

为了评估由模型学习的表征的质量,研究者进行了一下测量:

(i)通过在固定权值上训练线性分类器来进行小样本迁移;

(ii)通过对所有数据的整个模型进行微调,将其传递给多个基准测试任务。

6.1 将计算、模型和数据一起扩展

下图显示了在 ImageNet 上的 10-shot 线性评估和微调评估,并进行了高层级的观测。

首先,将计算、模型和数据一起扩展可以提高表征质量。

第二,模型尺寸会影响表征质量。

第三,大型模型受益于额外的数据,甚至超过 1B 图像。
image.png
下图显示了在预训练期间「可见」的图像总数(批大小乘以 step 数)的表征质量。

除了在公共验证集上进行 ImageNet 微调和线性 10-shot 结果外,研究者还报告了在 ImageNet-v2 测试集上的 ImageNet 微调模型的结果,作为鲁棒泛化的指标。

下图中展示了对 30 亿张图像进行预训练的三个 ViT 模型。
image.png
实验可得,有足够的数据,以较少的步骤训练一个更大的模型是可取的。

6.2 ViT-G/14 结果

该研究训练了一个大型的视觉 Transformer,ViT-G/14,它包含近 20 亿个参数。

实验评估了 ViT-G/14 模型在一系列下游任务中的应用,并将其与 SOTA 结果进行了比较。研究者在 ImaegNet 上进行微调,并报告 ImageNet、ImageNet-v2、ReaL 和 ObjectNet 的准确率。此外,该研究还报告了在 VTAB-1k 基准上的迁移学习效果,该基准包括 19 个不同的任务。

显示了在 ImageNet 上进行小样本学习(few-shot learning)结果。由结果可得,ViT-G/14 比以前最好的 ViT-H/14 模型表现优异(超过 5%),达到 84.86% 的准确率,每类 10 个例子。
image.png
下表展示了其他基准上的结果。

ViT-G/14 在 ImageNet 数据集上实现了 90.45% 的 Top-1 准确率,成为新的 SOTA。

此外,在 ImageNet-v2 上,ViT-G/14 比基于 EfficientNet-L2 的 Noisy Student 模型提升了 3%。

在 ReaL 数据集上,ViT-G/14 略微优于 ViT-H 和 BiT-L,再次表明 ImageNet 分类任务性能可能达到了饱和点。

在 ObjectNet 数据集上,ViT-G/14 大幅度优于 BiT-L,较 Noisy Student 模型提升 2%,比 CLIP 落后约 2%。
image.png

相关文章
|
3月前
|
人工智能 并行计算 PyTorch
AI计算机视觉笔记十八:Swin Transformer目标检测环境搭建
本文详细记录了Swin Transformer在AutoDL平台上的环境搭建与训练过程。作者从租用GPU实例开始,逐步介绍了虚拟环境的创建、PyTorch安装、mmcv及mmdetection的配置,并解决了安装过程中遇到的各种问题,如cython版本冲突等。最后,通过修改代码实现目标检测结果的保存。如需了解更多细节或获取完整代码,请联系作者。原文链接:[原文链接](请在此处插入原文链接)。
|
3月前
|
人工智能 计算机视觉 Python
AI计算机视觉笔记十九:Swin Transformer训练
本文介绍了使用自定义数据集训练和测试目标检测模型的步骤。首先,通过安装并使用标注工具labelme准备数据集;接着修改配置文件以适应自定义类别,并调整预训练模型;然后解决训练过程中遇到的依赖冲突问题并完成模型训练;最后利用测试命令验证模型效果。文中提供了具体命令及文件修改指导。
|
4月前
|
机器学习/深度学习 人工智能 监控
探索视觉AI:超越计算机视觉的边界
【8月更文挑战第20天】
69 2
|
6月前
|
编解码 机器人 测试技术
2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等
6月还有一周就要结束了,我们今天来总结2024年6月上半月发表的最重要的论文,重点介绍了计算机视觉领域的最新研究和进展。
159 8
|
7月前
|
机器学习/深度学习 算法 数据挖掘
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
762 1
|
5月前
|
机器学习/深度学习 人工智能 固态存储
深度学习在计算机视觉中的应用:重塑视觉感知的未来
【7月更文挑战第1天】深度学习重塑计算机视觉未来:本文探讨了深度学习如何革新CV领域,核心涉及CNN、RNN和自注意力机制。应用包括目标检测(YOLO、SSD等)、图像分类(VGG、ResNet等)、人脸识别及医学影像分析。未来趋势包括多模态融合、语义理解、强化学习和模型可解释性,推动CV向更高智能和可靠性发展。
|
7月前
|
编解码 边缘计算 自然语言处理
2024年5月计算机视觉论文推荐:包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题
五月发布的计算机视觉领域重要论文涵盖了扩散模型、视觉语言模型、图像生成与编辑及目标检测。亮点包括:1) Dual3D提出双模式推理策略,实现高效文本到3D图像生成;2) CAT3D利用多视图扩散模型创建3D场景,仅需少量图像;3) Hunyuan-DiT是多分辨率的中文理解扩散Transformer,可用于多模态对话和图像生成;4) 通过潜在扩散模型从EEG数据重建自然主义音乐,展示复杂音频重建潜力。此外,还有关于视觉语言模型和图像编辑的创新工作,如BlobGEN用于合成具有控制性的图像。
279 3
|
6月前
|
机器学习/深度学习 算法框架/工具 计算机视觉
ViT模型的出现标志着Transformer架构在计算机视觉中的成功应用
ViT模型的出现标志着Transformer架构在计算机视觉中的成功应用
79 2
|
6月前
|
机器学习/深度学习 算法 计算机视觉
计算机视觉是一门研究如何使计算机“看”的技术,其目标是让计算机能够像人类视觉一样理解和解释视觉信息。
计算机视觉是一门研究如何使计算机“看”的技术,其目标是让计算机能够像人类视觉一样理解和解释视觉信息。
|
6月前
|
传感器 监控 自动驾驶
计算机视觉(Computer Vision,CV)是一门研究如何使机器“看”并理解视觉世界的科学与技术。
计算机视觉(Computer Vision,CV)是一门研究如何使机器“看”并理解视觉世界的科学与技术。

热门文章

最新文章