作者提出了一个框架可以将自回归模型的优势与上下文学习的视觉语言任务的具体要求无缝集成。作者尝试了多模态输入输出的上下文学习,旨在通过特定模态的量化和共享嵌入来统一视觉语言数据,然后对预先组织好的交错上下文样本序列执行自回归预测以实现上下文推理。
Towards More Unified In-context Visual Understanding
会议:CVPR 2024
论文链接:https://arxiv.org/abs/2312.02520
介绍与方法动机
随着大型语言模型的快速发展,上下文学习(ICL)逐渐成为自然语言处理(NLP)领域的一种新范式。如GPT-3中所述,给定语言序列作为通用接口,该模型可以通过使用有限数量的提示和示例,快速适应以不同语言为中心的任务。这是一种基于提示和示例的策略,通过修改演示和模板,大大简化了将任务知识集成到LLM中的过程。最近,ICL已被应用在视觉理解任务中,例如语义分割和图像字幕,在推理时表现出良好的泛化性能。 一些早期工作为将ICL应用于视觉语言(VL)任务进行了一些探索,通过将图像模态用预训练的语言模型建模以实现上下文学习。例如,Flamingo[2]将图像输入作为一个特殊的标记,以文本的形式进行交错输入提示,并将视觉信息注入到具有门控交叉注意力密集块的预训练LLM中。它展示了处理各种视觉语言任务的非凡能力。然而,基于LLM解码器设计使其只能输出文本。
后续视觉上下文学习方案中,大多采用图像修复的方式,同样将示例与输入图片表示为n宫格图像,通过修复指定的输出区域以实现上下文学习[3-5]。MAE-VQGAN[3]利用视觉相关文献中的插图和信息图,基于预训练的MAE进行图像修复,显示了基本上下文推理能力。此外,Painter[4]的研究在连续像素上使用MAE进行掩码图像建模,通过将各个视觉任务的输出统一为RGB格式的图像进行上下文学习。随后,SegGPT[5]采用类似的框架解决多样化的分割任务。但上述模型只能输出图片。
如图1所示,先前的工作通常局限于特定模态的输出。我们尝试了多模态输入输出的上下文学习,旨在通过特定模态的量化和共享嵌入来统一视觉语言数据,然后对预先组织好的交错上下文样本序列执行自回归预测以实现上下文推理。
方法
我们提出了一个框架可以将自回归模型的优势与上下文学习的视觉语言任务的具体要求无缝集成。主要分为三个流程:(1)通过组织良好的视觉语言提示,以描述基本的视觉理解任务,如分割和字幕。(2)在将输入转换为预定义的提示格式后,使用特定于模态的标记器将输入对的上下文提示量化为离散标记,然后使用通用嵌入网络将它们嵌入到统一表示中。(3)引入具有稀疏MoE的解码器transformer网络来对交织的统一表示执行生成建模。
视觉语言提示
在视觉语言提示设计,我们参考了之前的工作,对Vision-only tasks在每个图像表示前面插入一个特殊的标签"[BOI]",指代当前图像的位置;对Vision-language tasks,对于每个图像,同样在图像表示前使用特殊的“[BOI]"标签。对于文本部分,我们用它们对应的实例类别和边界框 (bbox) 来进行区域描述,例如“Category:. Bboxes: [x1,y1,x2,y2]. Caption:."其中 表示类别集合中的类索引,表示定位对象的点坐标。在每个文本的开头添加了一个特殊的标签 "[BOT]"。在上下文示例序列的每个示例结尾中,我们加入了"[EOC]"标签来表示当前上下文样本的结束。
多模态上下文统一嵌入框架
有了上下文任务的视觉语言提示后,需要解决的是如何对多模态数据进行建模,从DALLE的结构收到启发,我们多模态上下文统一嵌入框架实现对不同输入模态的表示。具体而言分为两个阶段:Stage1:多模态量化,为了支持多模态输入,采用模态特有的量化器对不同模态数据量化为离散token;Stage2:统一编码,对多模态的输入离散token通过特定的prompt组织后通过统一的embedding网络编码到统一空间。
经过这样的处理后,不同模态的数据在表示空间得到统一,方便下个阶段的学习。
稀疏MoE解码器框架
最后,为了对输入序列进行建模以实现上下文学习,我们决定采用transformer decoder-only的结构,基于next-token prediction的预测方式天然和上下文较为匹配。为了解决多模态和多任务可能带来的相互干扰,引入稀疏MoE结构替换decoder transformer块中的FFN,来对输入序列执行生成式建模。损失采用标准的交叉熵损失和MoE门控网络的辅助损失。所提出的多模态上下文统一嵌入框架和稀疏MoE解码器框架分别如图2和图3所示:
实验
实现细节
为了评估模型对上下文能力,我们设计了两个任务来验证模型的有效性。因此,我们利用语义线索重新定义传统视觉任务,强调视觉语言理解任务,例如语义分割和图像字幕,分别称为类感知上下文分割和描述(CA-ICL Segmentation、Captioning)。通过利用MS-COCO和Visual-Genome数据集分别构建类别实例池,我们为这两个任务构建了相应的训练与评估数据。
实现细节上,图片量化器我们采用了码本大小为1024的VQ-GAN,文本量化器采用码本大小为50257的GPT-2 BPE 量化器。我们使用 GPT-small架构来实现我们的模型,同时替换部分解码器层中的 FFN 为基于Uni-Perceiver v2引入的属性路由MoE,具体超参数参考补充材料。