摘要
在本文中,我们设计并训练了一个生成式图像到文本转换 Transformer——GIT,以统一视觉-语言任务,如图像/视频字幕生成和问答。虽然生成式模型在预训练和微调之间提供了一致的网络架构,但现有工作通常包含复杂的结构(单/多模态编码器/解码器),并依赖于外部模块,如目标检测器/标注器和光学字符识别(OCR)。在 GIT 中,我们简化了架构,仅使用一个图像编码器和一个文本解码器,并采用单一的语言建模任务。此外,我们扩大了预训练数据规模并提升了模型的大小,以增强模型性能。无需额外的复杂设计,我们的 GIT 在多个具有挑战性的基准测试中取得了大幅领先的新 SOTA(State of the Art)。例如,我们的模型在 TextCaps 任务上首次超越了人类表现(CIDEr 分数 138.2 vs. 125.5)。此外,我们提出了一种新的基于生成的图像分类和场景文本识别方案,并在标准基准测试上取得了可观的表现。
1. 简介
近年来,在视觉-语言(VL)预训练方面取得了巨大的进展,特别是在基于大规模图文对数据的研究,例如 CLIP(Radford et al., 2021)、Florence(Yuan et al., 2021)和 SimVLM(Wang et al., 2021b)。所学习的表示极大地提升了各种下游任务的性能,如图像字幕生成(Lin et al., 2014)、视觉问答(VQA)(Goyal et al., 2017)以及图文检索。
在预训练过程中,掩码语言建模(MLM)和图文匹配(ITM)任务被广泛使用(Wang et al., 2020; Fang et al., 2021c; Li et al., 2020b; Zhang et al., 2021a; Chen et al., 2020b; Dou et al., 2021; Wang et al., 2021a; Kim et al., 2021)。然而,这些损失函数与下游任务不同,因此需要进行特定任务的适配。例如,在图像字幕生成任务中移除了 ITM(Wang et al., 2021a; Li et al., 2020b),而在 VQA 任务中额外添加了一个随机初始化的多层感知机(MLP)(Wang et al., 2021b; Li et al., 2020b)。为了减少这种不匹配,最近的方法(Cho et al., 2021; Wang et al., 2021b; Yang et al., 2021b; Wang et al., 2022b)尝试设计统一的生成式模型进行预训练,因为大多数 VL 任务都可以归结为文本生成问题。这些方法通常采用多模态编码器和文本解码器,并精心设计文本输入和文本目标。为了进一步推动这一方向的发展,我们提出了一种简单的生成式图像到文本 Transformer,称为 GIT,它仅由一个图像编码器和一个文本解码器组成。预训练任务仅仅是将输入图像映射到整个关联文本描述,使用语言建模目标进行训练。尽管架构简单,GIT 在多个具有挑战性的基准测试上以较大幅度取得了新的 SOTA,如表 1 所示。
图像编码器是一个 Swin 风格的视觉 Transformer(Dosovitskiy et al., 2021; Yuan et al., 2021),基于对比学习任务(Jia et al., 2021; Radford et al., 2021; Yuan et al., 2021)在大规模图文对数据上进行预训练。这消除了对目标检测器的依赖,而目标检测器在许多现有方法中被广泛使用(Anderson et al., 2018; Li et al., 2020b; Wang et al., 2020; Zhang et al., 2021a; Chen et al., 2020b; Fang et al., 2021c)。为了将其扩展到视频领域,我们简单地提取多个采样帧的特征,并将它们拼接成视频表示。文本解码器是一个 Transformer 网络,用于预测关联文本。整个网络使用语言建模任务进行训练。对于 VQA 任务,输入问题被视为文本前缀,并以自回归方式生成答案。此外,我们提出了一种新的基于生成的 ImageNet 分类方案,其中预测标签直接来自我们的生成式模型,而无需预定义词汇表。
该方法简单,但当我们扩展预训练数据和模型规模后,性能却令人惊讶地强大。图 1 展示了 GIT 在 TextCaps 上微调后生成的字幕。示例表明,该模型在识别和描述场景文本、表格、图表、食物、纸币、标志、地标、字符、名人、产品等方面表现出色,表明我们的 GIT 模型已编码了丰富的关于视觉世界的多模态知识。
我们的主要贡献如下:
- 我们提出了 GIT,仅由一个图像编码器和一个文本解码器组成,并基于语言建模任务在 8 亿个图文对数据上进行预训练。
- 我们在多个任务上(图像/视频字幕生成和问答,见表 1)实现了新的 SOTA,而无需依赖目标检测器、目标标签和 OCR。在 TextCaps 任务上,我们首次超越了人类表现。这表明,即使是简单的网络架构,在规模扩展后也能取得强大性能。
- 我们证明了,GIT 在图文对数据上进行预训练后,即使在没有专门针对视频任务设计编码器的情况下,也能够在视频任务上实现新的 SOTA。
- 我们提出了一种新的基于生成的图像分类方案。在 ImageNet-1K 上,我们的 GIT 取得了 88.79% 的 top-1 准确率。
2. 相关工作
在 VL 预训练方面,多任务预训练被广泛用于增强网络的多种能力。例如,MLM 和 ITM 被广泛采用作为预训练任务(Li et al., 2020b; Kim et al., 2021; Zhang et al., 2021a; Wang et al., 2020; Xue et al., 2021b; Lu et al., 2019; Tan & Bansal, 2019)。最近,图文对比损失也被引入(Yu et al., 2022; Li et al., 2021a; Wang et al., 2021a)。由于大多数 VL 任务可以被表述为文本生成任务(Cho et al., 2021),一个单一的生成式模型可以被预训练以支持各种下游任务。这类方法通常通过精心设计的输入输出文本进行预训练。例如,在 Cho et al.(2021)中,文本被适当屏蔽作为网络输入,目标是恢复屏蔽的文本片段。而 SimVLM(Wang et al., 2021b)则随机拆分一个文本句子作为输入和目标输出。在这些方法中,多模态 Transformer 编码器用于在解码输出之前融合文本输入。
在图像表示方面,大多数现有方法使用 Faster RCNN 来提取区域特征(Anderson et al., 2018; Li et al., 2020b; Wang et al., 2020; Zhang et al., 2021a; Chen et al., 2020b; Fang et al., 2021c)。近年来,密集表示(dense representation)方法受到了越来越多的关注(Huang et al., 2020; Wang et al., 2021b;a; Kim et al., 2021; Fang et al., 2021b; Dou et al., 2021; Li et al., 2021a),它无需边界框标注,同时可以端到端地训练整个网络。除了来自特征图的表示之外,目标标签(Li et al., 2020b; Wang et al., 2020; Zhang et al., 2021a; Cornia et al., 2021; Fang et al., 2021b)也被用来帮助 Transformer 理解上下文,特别是新颖的目标。对于与场景文本相关的任务,OCR 通常用于生成场景文本作为额外的网络输入,例如 Hu et al.(2020)和 Yang et al.(2021c)。在文本预测方面,Transformer 网络通常被使用,它可以通过交叉注意力模块融合图像 token,例如 Cho et al.(2021)、Alayrac et al.(2022)、Yang et al.(2021b)、Yu et al.(2022),或者仅使用自注意力模块,将图像 token 与文本 token 连接,例如 Li et al.(2020b)、Chen et al.(2020b)、Zhang et al.(2021a)、Wang et al.(2020)、Fang et al.(2021b)。
在 VL 任务的扩展方向上,LEMON(Hu et al., 2021a)研究了基于检测器的字幕生成模型在 MLM 任务下的行为。CoCa(Yu et al., 2022)研究了不同的模型规模,但使用相同的预训练数据。在本论文中,我们在 9 个不同的基准(3 个在主论文,6 个在补充材料,包括图像/视频字幕生成和问答任务)上进行了全面研究,涵盖 3 种不同的模型规模和 3 种不同的预训练数据规模(每个基准 9 个数据点)。
3 生成式图像到文本转换器
在大规模图文数据的基础上,我们的目标是预训练一个简洁而高效的视觉语言(VL)模型,以提升图像/视频描述生成和问答任务的性能。由于输入是图像而输出是文本,最简化的模型结构仅需包含一个图像编码器和一个文本解码器——这也正是我们提出的 GIT(Generative Image-to-text Transformer)所采用的核心组件,如图2所示。
3.1 网络架构
图像编码器基于对比预训练模型(Yuan等,2021)。输入为原始图像,输出为紧凑的二维特征图,该特征图被展平为特征序列。通过额外的线性层和层归一化层,图像特征被投影至D维空间,作为文本解码器的输入。我们采用对比任务预训练的图像编码器,因为近期研究表明此类编码器具有更优性能(如Yuan等,2021;Dou等,2021;Alayrac等,2022)。在第4.6节和补充材料中,我们也观察到更强的图像编码器能显著提升视觉语言任务性能,这与基于目标检测方法的研究结论一致(如Wang等,2020;Zhang等,2021a)。并行研究CoCa(Yu等,2022)将对比任务和生成任务统一为单一预训练阶段,而我们的方法等效于将两者分步进行:(i) 使用对比任务预训练图像编码器;(ii) 使用生成任务联合预训练图像编码器与文本解码器。
文本解码器是用于预测文本描述的Transformer模块,由多个Transformer块组成,每个块包含自注意力层和前馈层。文本经分词并嵌入为D维向量后,与位置编码相加并通过层归一化处理。图像特征与文本嵌入向量拼接后作为Transformer模块的输入。文本以[BOS]标记起始,并以自回归方式解码直至[EOS]标记或达到最大步长。如图3所示的序列到序列注意力掩码确保文本标记仅依赖先前标记及所有图像标记,同时图像标记可相互关注——这与单向注意力掩码不同(后者不允许所有图像标记相互依赖)。
我们未对图像编码器进行精细初始化,而是随机初始化文本解码器。这一设计选择受Wang等(2020)实验研究的启发:随机初始化与BERT初始化相比性能相当,可能因为BERT初始化无法理解对视觉语言任务至关重要的图像信号。摆脱初始化依赖后,我们能更自由探索不同架构设计。并行研究Flamingo(Alayrac等,2022)采用类似的"图像编码器+文本解码器"架构,但其解码器经预训练后冻结以保留大语言模型的泛化能力;而在GIT中,所有参数均参与更新以更好适配视觉语言任务。另一种替代架构是基于交叉注意力的解码器(通过交叉注意力融合图像信号而非与自注意力拼接)。补充材料(附录G.2)的实验表明:在大规模预训练下,基于自注意力的解码器整体性能更优;而在小规模训练时,基于交叉注意力的方法更佳。合理解释是:充足训练时解码器参数能同时处理图像与文本,且自注意力机制可使图像标记在文本生成过程中更好更新;而交叉注意力会限制图像标记间的相互关注。
3.2 预训练
对于每个图像-文本对,设I表示图像, y i ( i ∈ 1 , . . . , N ) y_i(i ∈ {1, ..., N}) yi(i∈1,...,N)表示文本标记, y 0 y_0 y0为[BOS]标记, y N + 1 y_{N+1} yN+1为[EOS]标记。我们采用语言建模(LM)损失进行模型训练,即:
l = 1 N + 1 ∑ i = 1 N + 1 C E ( y i , p ( y i ∣ I , { y j , j = 0 , ⋯ , i − 1 } } ) , (1) l = { \frac { 1 } { N + 1 } } \sum _ { i = 1 } ^ { N + 1 } \mathrm { C E } ( y _ { i } , p ( y _ { i } | I , \{ y _ { j } , j = 0 , \cdots , i - 1 \} \} ) , \tag{1} l=N+11i=1∑N+1CE(yi,p(yi∣I,{yj,j=0,⋯,i−1}}),(1)
其中CE表示采用标签平滑系数为0.1的交叉熵损失函数。
另一种选择是掩码语言建模(MLM),该方法通常每次迭代预测15%的输入标记。若要预测全部标记,至少需要运行1/0.15≈6.7个训练周期。而语言建模(LM)每次迭代可预测所有标记,对于大规模预训练数据效率更高。Hu等(2021a)的消融实验也表明,LM在有限周期内能获得更优性能。由于计算资源限制,我们的大规模训练仅进行2个周期,因此选择LM。此外,近期大规模语言模型(如Brown等,2020;Chowdhery等,2022)也多基于LM架构。若去除图像输入,该模型可退化为仅含解码器的语言模型(架构类似GPT-3),这种设计未来可通过纯文本数据扩展解码器能力,我们将此留作后续工作。
3.3 微调
图像描述生成:由于训练数据格式与预训练阶段相同,我们采用相同的LM任务进行微调。
视觉问答(VQA):微调时将问题与真实答案拼接为特殊描述文本,但仅对答案及[EOS]标记计算LM损失。推理时,问题作为描述前缀,生成部分作为预测结果。相比现有VQAv2方法(Wang等,2021a;b;Zhang等,2021a;Li等,2022b),我们的生成式模型无需预定义候选答案(即使在推理阶段),这要求模型至少预测两个正确标记(答案标记与[EOS]标记)。现有方法则将问题转化为分类任务,仅需单次预测。尽管生成式方法在VQAv2上性能略逊于判别式方法,我们仍选择其自由形式答案的优势。对于场景文本相关VQA任务,现有方法(Yang等,2021c;Hu等,2020)通常依赖OCR引擎和动态指针网络,而我们的模型通过大规模预训练自主学会读取场景文本,在此类任务上达到新SOTA。
视频任务:尽管模型未专门针对视频设计,但通过简单架构调整(从视频片段采样多帧,经图像编码器独立编码后添加可学习时序嵌入,最后拼接特征)即可实现竞争力甚至SOTA性能。
图像分类:将类别名称视为图像描述,以自回归方式微调GIT进行预测。不同于现有基于预定义词表与线性分类层的方法,这种生成式方案便于新增数据和类别时无需引入新参数即可持续训练。
温馨提示:
阅读全文请访问"AI深语解构" GIT: 一个用于视觉与语言的生成式图像到文本转换 Transformer