GIT:视觉和语言的通用图像到文本Transformer.

0. TL; DR

本文介绍了一种名为GIT(Generative Image-to-text Transformer)的模型,旨在统一处理视觉-语言任务,如图像/视频描述生成和问答。GIT通过简化架构,仅使用一个图像编码器和一个文本解码器,并在大规模图像-文本对上进行预训练,取得了多项任务的最新最佳性能。此外,GIT还首次在TextCaps任务上超越了人类表现,并提出了一种基于生成的图像分类新方案。

1. 背景介绍

近年来,视觉-语言(Vision-Language,VL)预训练取得了显著进展,尤其是在大规模图像-文本对数据上的学习。然而,现有的生成模型通常结构复杂,依赖于外部模块(如目标检测器、OCR等)。这些模型在预训练和微调阶段的网络架构不一致,导致任务特定的适配变得复杂。为了克服这些问题,本文提出了GIT模型,它通过一个图像编码器和一个文本解码器,将输入图像映射到相关的文本描述,并通过语言建模任务进行预训练。

2. GIT 模型

GIT的架构包括一个图像编码器和一个文本解码器。图像编码器基于对比学习预训练的模型(如Florence/CoSwin),输出一个紧凑的二维特征图,然后被展平并投影到文本解码器的输入维度。文本解码器是一个自回归Transformer模块,用于预测文本描述。在预训练阶段,模型的任务是将输入图像映射到完整的相关文本描述。

GIT的预训练任务是语言建模(LM),即预测图像相关的文本描述。与掩码语言建模(MLM)不同,LM在每次迭代中可以预测所有文本标记,这在大规模预训练数据上更为高效。预训练的目标是最小化以下损失函数:

\[L=\frac{1}{N+1}\sum_{i=1}^{N+1}CE(y_i,p(y_i|I,\{y_j,j=0,\ldots,i-1\}))\]

其中,$CE$是带有标签平滑的交叉熵损失,$I$ 是输入图像,$y_i$是文本标记。

需要注意的是,在文本解码器中,图像token之间可以交换信息,但是看不到文本token,文本token只可以看到视觉token以及之前的文本token,而看不到之后的文本token,即如图所示,1代表“可看见”,0代表“不可看见”。

作者指出,除了视觉和文本token连接之外,也可以通过cross attention的方式将视觉信息注入文本。实验表明在数据较小时,cross-attention更有效,但是数据量较大的时候,图像token和文本token连接效果更好。

在微调阶段,GIT可以根据不同的下游任务进行调整。对于图像描述任务,模型直接使用语言建模任务进行微调。对于视觉问答(VQA)任务,问题被作为文本前缀,答案以自回归方式生成。此外,GIT还提出了一种基于生成的图像分类方案,将类别名称作为图像的“描述”,并直接预测类别标签。

3. 实验分析

GIT在多个图像/视频描述和问答任务上进行了评估,包括COCO、nocaps、TextCaps、VizWiz-Captions、VQAv2、TextVQA、VizWiz-VQA、ST-VQA、OCR-VQA、MSVD、MSRVTT、VATEX、TVC、MSVD-QA、MSRVTT-QATGIF-Frame等。评估指标包括CIDEr、BLEU、METEOR、ROUGE-L、SPICE等。

对于图像描述任务,在COCO数据集上,GIT取得了148.8CIDEr分数,超越了之前的最佳模型(138.7)。在nocaps数据集上,GITCIDEr分数达到了123.4,超越了人类表现(120.6)。在TextCaps任务上,GIT首次超越了人类表现,CIDEr分数为138.2,比人类的125.5高出12.7分。

对于视觉问答任务,在VQAv2任务上,GIT的准确率为78.81%,略低于最佳模型(82.3%)。然而,GITVizWiz-VQA任务上取得了67.5%的准确率,超越了之前的最佳模型(65.4%)。在ST-VQA任务上,GIT的准确率为69.6%,与最佳模型持平。

对于视频描述任务,在MSVD数据集上,GITCIDEr分数为180.2,超越了之前的最佳模型(120.6)。在MSRVTT数据集上,GITCIDEr分数为73.9,也超越了之前的最佳模型(60)。在视频问答任务MSVD-QA上,GIT的准确率为56.8%,超越了之前的最佳模型(48.3%)。

实验表明,随着预训练数据规模的增加,模型性能显著提升。例如,在TextCaps任务上,使用0.8B图像-文本对预训练的GIT模型(CIDEr分数138.2)显著优于使用10M对预训练的模型(CIDEr分数92.7)。此外,更大的模型(如GIT2,5.1B参数)在更大规模的数据(10.5B图像-文本对)上预训练时,性能进一步提升(CIDEr分数145.0)。