以下是一些在多模态模型中常用的图像和语言表示之间的连接方案:
- 基于对比学习的连接:
- CLIP(Contrastive Language-Image Pretraining):OpenAI 提出的 CLIP 模型,通过从互联网收集大量的(图像、文本)配对数据进行预训练。它包含图像编码器和文本编码器,将图像和文本分别映射到一个统一的特征空间,然后通过计算图像表征与文本表征之间的相似性,来对数据集中的图像与文本进行配对。在训练过程中,采用对比学习的方式,让模型学习到图像和文本之间的对应关系,从而能够在零样本的情况下完成各种下游任务,例如图像分类、文本生成与图像相关的描述等。
- 基于 Transformer 架构的连接:
- VILBERT(Vision-and-Language BERT):修改了 BERT 中 query 条件下的 key-value 注意力机制,发展成一个多模态共注意 Transformer 模块。它分别对图像和文本进行独立的特征提取,然后在多个层次上进行图像和文本特征的交互,从而建立起图像和语言之间的联系。这种方式可以让模型同时学习到图像和文本的特征表示,以及它们之间的语义关联。
- LXMBERT(Language-X Modal BERT):在 cross-attention 操作后加入一个全连接层,对融合后的图像和文字信息进一步处理。它增加了一些预训练任务目标,比如 masked cross-modality LM,并且将图像问答任务引入到预训练任务中,通过大量的预训练数据学习到更丰富的图像和语言的联合表示。
- VL-BERT(Vision-Language BERT):在 BERT 的基础上,在输入中嵌入新的视觉特征,以适应视觉相关的内容。与 BERT 类似,VL-BERT 主要由多层双向 Transformer 编码器组成,但与 BERT 只处理句子单词不同,VL-BERT 把视觉元素和语言元素都作为输入,模型分别在图像的感兴趣区域(ROIs)和输入句子中的单词上定义相应特征,从而实现图像和语言的融合。
- 基于视觉特征压缩和适配器的连接:
- Qwen-VL:阿里开源的多模态模型。它通过连接一个视觉编码器来扩展语言模型,使其具备理解和感知视觉信号的能力。为了解决长图像特征序列带来的效率问题,引入了一个位置感知的视觉-语言适配器。该适配器包含一个单层的交叉注意力模块,使用一组可训练的向量作为查询向量,将视觉编码器生成的图像特征作为交叉注意力操作的键,将视觉特征序列压缩到固定长度。同时,为了保留位置信息,在交叉注意力机制的查询-键对中引入 2D 绝对位置编码。
- 基于生成式模型的连接:
- GILL(Generating Images with Multimodal Language Models):将冻结的纯文本语言模型与预训练的图像编码器和解码器模型进行融合。通过映射它们的嵌入空间,实现处理任意交错的图像和文本输入来生成连贯的图像(和文本)输出。这种方法可以根据输入的文本描述生成相应的图像,或者根据输入的图像生成相关的文本描述,实现了图像和语言之间的双向转换。
- 基于注意力机制的连接:
- Multifusion:使用基于自回归语言模型的模块化编码器,添加图像前缀和专用 adapters 的语言模型,以实现多模态功能。图像前缀将图像映射到联合多模态输入嵌入空间中的标记嵌入序列,adapters 被添加到 Transformer 的每个注意力和前馈层,从而让模型能够关注到图像和文本的不同部分,更好地理解多模态输入之间的关系。
- 基于模型合并的连接:
- 插值方法:对于特定于模态的 Transformer,通过插值的方式将视觉、语言和跨模态的 Transformer 层按照给定的比率逐元素加权平均。例如,控制视觉和语言转换器之间的比率,并将跨模态 Transformer 的比率设置为恒定值,从而实现图像和语言特征的融合。
- 模态算术:受到任务向量概念的启发,将其扩展到学习不同模态的向量,称为模态向量。通过将所有模态向量添加到初始权重来计算包含多任务信息的合并权重,使得模型能够同时处理不同模态的信息。