关于人工智能:图像也是一门语言微软提出19亿参数的超大通用模型BEIT3刷榜多个CV和多模态任务

54次阅读

共计 4323 个字符,预计需要花费 11 分钟才能阅读完成。

【写在后面】

语言、视觉和多模态预训练的大交融正在呈现。在这项工作中,作者引入了一个通用的多模态根底模型 BEIT-3,它在视觉和视觉语言工作上都实现了最先进的迁徙性能。具体来说,作者从三个方面推动大交融:骨干架构 预训练任务 模型扩大。作者为通用建模引入了 Multiway Transformers,其中模块化架构反对深度交融和特定于模态的编码。基于共享骨干,作者以对立的形式对图像(Imglish)、文本(English)和图像 - 文本对(“parallel sentences”)进行掩码“语言”建模。试验结果表明,BEIT-3 在对象检测 (COCO)、语义宰割 (ADE20K)、图像分类 (ImageNet)、视觉推理 (NLVR2)、视觉问答 (VQAv2)、图像字幕方面取得了最先进的性能(COCO)和跨模态检索(Flickr30K,COCO)。

1. 论文和代码地址

Image as a Foreign Language: BEIT Pretraining for All Vision and Vision-Language Tasks

论文地址:https://arxiv.org/abs/2208.10442

代码地址:https://aka.ms/beit-3

2. 动机

近年来,语言、视觉和多模态预训练大交融的趋势。通过对海量数据进行大规模预训练,能够轻松地将模型迁徙到各种上游工作。能够预训练一个解决多种模态的通用根底模型,这很有吸引力。在这项工作中,作者从以下三个方面推动视觉语言预训练的收敛趋势。

首先,Transformers 的胜利是从语言翻译使用到视觉和多模态的问题 。网络架构的对立使咱们可能无缝地解决多种模态。对于视觉语言建模,因为上游工作的不同性质,有多种办法能够利用 Transformer。例如,双编码器架构用于高效检索,编码器 - 解码器网络用于生成工作,交融编码器架构用于图像 - 文本编码。然而,大多数根底模型必须依据特定架构手动转换最终工作格局。此外,参数通常不能无效地跨模态共享。在这项工作中,作者采纳 Multiway Transformers 进行通用建模,即为各种上游工作共享一个对立架构。模块化网络还综合思考了特定于模态的编码和跨模态交融。

其次,基于掩码数据建模的预训练任务已胜利利用于各种模态,例如文本、图像和图像 - 文本对。以后的视觉语言根底模型通常会同时解决其余预训练指标(例如图像 - 文本匹配),从而导致放大不敌对且效率低下。相比之下,本文只应用一个预训练任务,即 mask-then-predict,来训练一个通用的多模态根底模型。通过将图像视为一门外语(即 Imglish),作者以雷同的形式解决文本和图像,而没有根本的建模差别。因而,图像 - 文本对被用作“平行句子”,以学习模态之间的对齐。作者还表明,这种简略而无效的办法学习了弱小的可迁徙示意,在视觉和视觉语言工作上都实现了最先进的性能。显着的胜利证实了生成式预训练的优越性。

第三,扩充模型规模和数据规模普遍提高了根底模型的泛化品质,以便能够将它们转移到各种上游工作中。作者遵循这一理念并将模型规模扩充到数十亿个参数。此外,作者在试验中扩充了预训练数据的大小,同时仅将可公开拜访的资源用于学术。只管没有应用任何私人数据,但本文的办法在相当大的水平上优于依赖外部数据的最先进的根底模型。此外,扩充规模得益于将图像视为外语,因为作者能够间接重用为大规模语言模型预训练开发的管道。

在这项工作中,作者利用上述想法来预训练一个通用的多模态根底模型 BEIT-3。通过对图像、文本和图像 - 文本对执行掩码数据建模来预训练 Multiway Transformer。在预训练期间,作者随机屏蔽肯定比例的文本标记或图像块。自监督学习的指标是在给定损坏的输出的状况下复原原始标记(即文本标记或视觉标记)。该模型是通用的,因为无论输出模态或输入格局如何,它都能够从新用于各种工作。

如上图和上表所示,BEIT-3 在宽泛的视觉和视觉语言工作中实现了最先进的迁徙性能。作者在宽泛的上游工作和数据集上评估 BEIT-3,即对象检测 (COCO)、实例宰割 (COCO)、语义宰割 (ADE20K)、图像分类 (ImageNet)、视觉推理 (NLVR2)、视觉问答 (VQAv2),图像字幕(COCO)和跨模态检索(Flickr30K,COCO)。具体来说,只管作者只应用公共资源进行预训练和微调,但本文的模型优于以前的弱小根底模型。该模型也比专门的模型取得了更好的后果。此外,BEIT-3 不仅在视觉语言工作上表现出色,而且在视觉工作(如对象检测和语义宰割)上也表现出色。

3. 办法

如上图所示,BEIT-3 应用共享的 Multiway Transformer 网络通过对单模态和多模态数据的掩码数据建模进行预训练。该模型能够转移到各种视觉和视觉语言上游工作。

3.1 Backbone Network: Multiway Transformers

作者应用 Multiway Transformers 作为骨干模型来编码不同的模态。如上图所示,每个 Multiway Transformer 模块都由一个共享的自留神模块和一个用于不同模态的前馈网络(即模态专家)池组成。依据其模式将每个输出 token 路由给专家。在本文的实现中,每一层都蕴含一个视觉专家和一个语言专家。此外,前三层有专为交融编码器设计的视觉语言专家。应用模态专家池激励模型捕捉更多特定于模态的信息。共享的自留神模块学习不同模态之间的对齐,并为多模态(例如视觉语言)工作实现深度交融。

如上图所示,对立的架构使 BEIT-3 可能反对宽泛的上游工作。例如,BEIT-3 能够用作各种视觉工作的图像骨干,包含图像分类、对象检测、实例宰割和语义宰割。它还能够微调为双编码器,用于高效的图像 - 文本检索,以及用于多模态了解和生成工作的交融模型。

3.2 Pretraining Task: Masked Data Modeling

通过对立的掩码数据建模指标对单模态(即图像和文本)和多模态数据(即图像 - 文本对)进行预训练 BEIT-3。在预训练期间,作者随机屏蔽肯定百分比的文本标记或图像块,并训练模型以复原被屏蔽的标记。对立的掩码而后预测工作不仅学习示意,还学习不同模态的对齐。具体来说,文本数据由 SentencePiece 标记器 进行标记。图像数据通过 BEIT v2 的分词器进行分词,失去离散的视觉分词作为重建指标。作者从图像 - 文本对中随机屏蔽 15% 的单模态文本标记和 50% 的图文对中的文本标记。对于图像,作者应用 BEIT 中的分块屏蔽策略屏蔽 40% 的图像块。

作者只应用一个预训练任务,这使得训练过程的扩大敌对。相比之下,以前的视觉语言模型通常采纳多个预训练任务,例如图文比照、图文匹配和单词 -patch/ 区域对齐。作者展现了一个小得多的预训练 batch 大小能够用于 mask-then-predict 工作。相比之下,基于比照的模型通常须要十分大的 batch size 进行预训练,这带来了更多的工程挑战,例如 GPU 内存老本。

3.3 Scaling Up: BEIT-3 Pretraining

Backbone Network

BEIT-3 是继 ViTgiant 搭建之后的巨型根底模型。如上表所示,该模型由一个 40 层的 Multiway Transformer 组成,具备 1408 的暗藏大小、6144 的两头大小和 16 个注意力头。所有层都蕴含视觉专家和语言专家。视觉语言专家也采纳于前三个 Multiway Transformer 层。自注意力模块在不同的模态中共享。BEIT- 3 总共由 1.9B 个参数组成,其中视觉专家参数 692M,语言专家参数 692M,视觉语言专家参数 52M,共享自注意力模块参数 317M。请留神,当模型用作视觉编码器时,仅激活与视觉相干的参数(即,与 ViT-giant 相当的大小;大概 1B)。

Pretraining Data

BEIT-3 在上表中显示的单模态和多模态数据上进行了预训练。对于多模态数据,从五个公共数据集中收集了大概 1500 万张图像和 2100 万张图文对:Conceptual 12M (CC12M)、Conceptual Captions (CC3M)、SBU Captions (SBU)、COCO 和视觉基因组 (VG)。对于单模态数据,应用来自 ImageNet-21K 的 14M 图像和来自英语 Wikipedia、BookCorpus、OpenWebText3、CC-News 和 Stories 的 160GB 文本语料库。

4. 试验

上表展现了本文办法在三个多模态数据集上的试验后果。

多模态检索数据集上的后果。

多模态检索数据集上的 Zero-shot 后果。

指标检测和实例宰割的试验后果。

语义宰割的试验后果。

图像分类的试验后果。

5. 总结

在本文中,作者提出了 BEIT-3,这是一种通用的多模态根底模型,它在宽泛的视觉和视觉语言基准测试中实现了最先进的性能。BEIT-3 的核心思想是 图像能够建模为一门外语,这样就能够对立对图像、文本和图文对进行蒙版“语言”建模。作者还展现了 Multiway Transformers 能够无效地对不同的视觉和视觉语言工作进行建模,使其成为通用建模的乏味抉择。BEIT- 3 简略无效,是扩充多模态根底模型的一个有前途的方向。对于将来的工作,作者正在致力对多语言 BEIT-3 进行预训练,并在 BEIT-3 中退出更多的模态(例如音频),以促成跨语言和跨模态的迁徙,并推动大规模预训练跨工作的大交融、语言和形式。

【技术交换】

已建设深度学习公众号——FightingCV,关注于最新论文解读、基础知识坚固、学术科研交换,欢送大家关注!!!

请关注 FightingCV 公众号,并后盾回复 ECCV2022 即可取得 ECCV 中稿论文汇总列表。

举荐退出 FightingCV交换群 ,每日会发送论文解析、算法和代码的干货分享,进行学术交流,加群请增加小助手 wx:FightngCV666,备注: 地区 - 学校(公司)- 名称

面向小白的顶会论文外围代码库:https://github.com/xmu-xiaoma666/External-Attention-pytorch

面向小白的 YOLO 指标检测库:https://github.com/iscyy/yoloair

【赠书流动】

为感激各位老粉和新粉的反对,FightingCV 公众号 将在 9 月 10 日包邮送出 4 本 《深度学习与指标检测:工具、原理与算法》 来帮忙大家学习,赠书对象为当日浏览榜和分享榜前两名。想要参加赠书流动的敌人,请增加小助手微信FightngCV666(备注“城市 - 方向 -ID”),不便分割取得邮寄地址。

本文由 mdnice 多平台公布

正文完
 0