视觉语言建模将语言理解建立在相应的视觉输入上,这对于开发重要的产品和工具 很有用。例如,图像字幕模型根据对给定图像的理解生成自然语言描述。虽然这种跨模态工作面临着各种挑战,但由于采用了有效的视觉语言预训练 (VLP),过去几年在视觉语言建模方面取得了重大进展。这种方法旨在从视觉和语言输入中学习单个特征空间,而不是学习两个单独的特征空间,一个用于视觉输入,另一个用于语言输入。为此,现有的 VLP 通常利用对象检测器(如Faster R-CNN),在标记的对象检测数据集上进行训练以隔离感兴趣区域 (ROI),并依靠特定于任务的方法(即特定于任务的损失函数)来联合学习图像和文本的表示。这类方法需要带注释的数据集或时间来设计特定于任务的方法,因此可扩展性较差。
为了应对这一挑战,在“ SimVLM:带有弱监督的简单视觉语言模型预训练”中,我们提出了一种简约而有效的 VLP,即 SimVLM,即“简单视觉语言模型”。SimVLM 以统一的目标(类似于语言建模)在大量弱对齐的图像-文本对(即,与图像配对的文本不一定是图像的精确描述)上进行端到端训练。SimVLM 的简单性使其能够在如此扩展的数据集上进行高效训练,从而帮助模型在六个视觉-语言基准测试中取得最佳性能。此外,SimVLM 学习了一种统一的多模态表示,无需微调或仅对文本数据进行微调即可实现强大的零样本跨模态传输,包括开放式视觉问答、图像字幕和多模态翻译等任务。
模型和预训练过程
与采用类似于掩蔽语言建模的预训练程序的现有 VLP 方法(例如BERT)不同,SimVLM 采用序列到序列框架,并使用单前缀语言模型 (PrefixLM) 目标进行训练,该目标接收序列的前导部分(前缀)作为输入,然后预测其延续。例如,给定序列“一只狗正在追逐一个黄球”,该序列被随机截断为“一只狗正在追逐”作为前缀,模型将预测其延续。前缀的概念类似地适用于图像,其中图像被分成多个“块”,然后将这些块的子集按顺序输入到模型作为输入 - 这称为“图像块序列”。在 SimVLM 中,对于多模态输入(例如图像及其标题),前缀是编码器接收的图像块序列和前缀文本序列的串联。然后,解码器预测文本序列的延续。与之前的 VLP 模型结合多个预训练损失相比,PrefixLM 损失是唯一的训练目标,大大简化了训练过程。SimVLM 的这种方法最大限度地提高了其灵活性和通用性,可以适应不同的任务设置。
最后,由于 Transformer 架构在语言和视觉任务(如BERT和ViT)方面都取得了成功,我们采用Transformer架构作为模型的骨干,与之前基于 ROI 的 VLP 方法不同,它使模型能够直接将原始图像作为输入。此外,受CoAtNet的启发,我们采用由ResNet的前三个块组成的卷积阶段来提取上下文化补丁,我们发现这比原始 ViT 模型中的简单线性投影更有优势。整体模型架构如下所示。
SimVLM 模型架构概述。
该模型在大型网络数据集上进行了预训练,既有图文输入,也有纯文本输入。对于联合视觉和语言数据,我们使用ALIGN的训练集,其中包含约 1.8B 个嘈杂的图像文本对。对于纯文本数据,我们使用T5推出的Colossal Clean Crawled Corpus (C4)数据集,共计 800G 网络爬取文档。
基准测试结果
预训练之后,我们在以下多模态任务上对模型进行了微调:VQA、NLVR2、SNLI-VE、COCO Caption、NoCaps和Multi30K En-De。例如,对于 VQA,模型获取一张图像和关于输入图像的相应问题,并生成答案作为输出。我们按照与 ViT 相同的设置评估了三种不同大小的 SimVLM 模型(基本:86M 参数、大:307M 和巨大:632M)。我们将结果与现有的强大基线进行了比较,包括LXMERT、VL-T5、UNITER、OSCAR、Villa、SOHO、UNIMO、VinVL,发现 SimVLM 尽管简单得多,但在所有这些任务中都实现了最佳性能。
由于 SimVLM 已在大量视觉和文本模态数据上进行训练,因此值得一问的是,它是否能够执行零样本跨模态迁移。为此,我们在多个任务上测试了该模型,包括图像字幕、多语言字幕、开放式 VQA 和视觉文本补全。我们采用预先训练的 SimVLM,并直接将其解码为多模态输入,仅对文本数据进行微调或完全不进行微调。下图给出了一些示例。可以看出,该模型不仅能够生成高质量的图像字幕,还能生成德语描述,同时实现跨语言和跨模态迁移。
SimVLM 零样本泛化的示例。( a ) 零样本图像字幕:给定一张图片和文本提示,预训练模型无需微调即可预测图像内容。( b ) 德语图像字幕的零样本跨模态迁移:尽管该模型从未在德语图像字幕数据上进行过微调,但它可以生成德语字幕。( c ) 生成式 VQA:该模型能够生成原始 VQA 数据集候选之外的答案。( d ) 零样本视觉文本补全:预训练模型根据图像内容完成文本描述;( e ) 零样本开放式 VQA:在WIT数据集上继续预训练后,该模型为有关图像的问题提供事实答案。图像来自 NoCaps,来自CC BY 2.0 许可下的Open Images数据集。
为了量化 SimVLM 的零样本性能,我们采用预先训练的冻结模型,并在COCO Caption和NoCaps基准上对其进行解码,然后与监督基线进行比较。即使没有监督微调(在中间行),SimVLM 也可以达到接近监督方法质量的零样本字幕质量。
零样本图像字幕制作结果。此处“Pre.”表示模型是预先训练的,“Sup.”表示模型是在特定任务的监督下进行微调的。对于 NoCaps,[In、Near、Out] 分别指域内、近域和域外。我们比较了BUTD、AoANet、M2 Transformer、OSCAR和VinVL的结果。上面使用的指标(越高越好):BLEU-4 (B@4)、METEOR (M)、CIDEr (C)、SPICE (S)。对于 NoCaps,报告了 CIDEr 数字。
结论
我们为 VLP 提出了一个简单而有效的框架。与使用对象检测模型和特定于任务的辅助损失的先前工作不同,我们的模型使用单个前缀语言模型目标进行端到端训练。在各种视觉语言基准测试中,这种方法不仅获得了最先进的性能,而且在多模态理解任务中表现出有趣的零样本行为。
致谢
我们要感谢 Jiahui Yu、Adams Yu、Zihang Dai 和 Yulia Tsvetkov 准备 SimVLM 论文,感谢 Hieu Pham、Chao Jia、Andrew Dai、Bowen Zhang、Zhifeng Chen、Ruoming Pang、Douglas Eck、Claire Cui 和 Yonghui Wu 提供的有益讨论,感谢 Krishna Srinivasan、Samira Daruki、Nan Du 和 Aashi Jain 提供的数据准备帮助,感谢 Jonathan Shen、Colin Raffel 和 Sharan Narang 在实验设置方面的协助,以及 Brain 团队其他成员在整个项目过程中提供的支持。
评论