优势
- 通用的
- 计算高效:更少的可训练参数,因为直接使用预训练好的视觉模型、大语言模型(冻结了参数)
框架
训练分为两个学习阶段:
- 视觉和语言的表示学习阶段
- 视觉到语言的生成式学习阶段
预训练好的视觉模型提供高质量的视觉表示,预训练好的大语言模型(LLM)有良好的语言生成能力和零样本迁移能力。这两个在训练时都会冻结参数。
然而,由于LLM在单模态预训练中没有看到图像,训练时冻结LLM的参数会使视觉-语言对齐特别具有挑战性。在这方面,现有的方法选择通过图像到文本的生成损失来弥补,但是这也不足以弥合模态差距。
因此为了通过冻结的单模态模型实现有效的视觉-语言对齐,该论文提出了一种采用新的两阶段预训练策略的查询变压器(Q-Former)。如图所示,Q-Former是一个轻量级的变压器,它使用一组可学习的查询向量从冻结的图像编码器中提取视觉特征。它充当了冻结的图像编码器和冻结的LLM之间的信息桥梁,为LLM提供最有用的视觉特征,以便LLM输出期望的文本。
Q-Former
第一阶段:视觉和语言的表示学习阶段
目的:使用冻结的图像编码器,使Q-former的Queries能够学习提取到文本信息最丰富的视觉表示。
Q-Former有两个Transformer子模块组成,两个子模块共享相同的自注意力层
共同优化了三个共享相同输入格式和模型参数的预训练目标。每个目标在查询和文本之间使用不同的注意力掩蔽策略来控制它们的交互。
补充:BLIP框架图
从左到右:视觉编码器、文本编码器、基于图像的文本编码器、基于图像的文本解码器(相同颜色的部分参数共享)
- 图像编码器:ViT的架构。将输入图像分割成一个个的 Patch 并将它们编码为一系列 Image Embedding,并使用额外的 [CLS] token 来表示全局的图像特征。
- 文本编码器:BERT 的架构。[CLS] token 附加到文本输入的开头以总结句子。作用是提取文本特征做对比学习。
- 基于图像的文本编码器:使用 Cross-Attention,作用是根据 ViT 给的图片特征和文本输入做二分类,所以使用的是编码器,且注意力部分是双向的 Self-Attention。添加一个额外的 [Encode] token,作为图像文本的联合特征。
- 基于图像的文本解码器:使用 Cross-Attention,作用是根据 ViT 给的图片特征和文本输入做文本生成的任务,所以使用的是解码器,且注意力部分是 Casual-Attention,目标是预测下一个 token。添加一个额外的 [Decode] token 和结束 token,作为生成结果的起点和终点。
图像文本对比学习
计算每个查询输出和文本之间的两两相似度,然后选择最高的一个作为图像-文本相似度。
为了避免信息泄漏,这里采用了一个单模态的自注意掩码,其中查询Q和文本T不允许相互查看。
基于图像的文本生成
这里使用了一个多模态的因果自注意掩模来控制查询-文本交互,Q可以看到彼此但是看不到T,T可以看到所有Q以及它之前的T。
图像文本匹配
它是一个二分类任务,即模型只需判断图像-文本对是否匹配。
这里使用了一个双向的自注意掩码,即所有的查询和文本都可以相互查看彼此。
第二阶段:视觉到语言的生成式学习阶段
目的:在生成预训练阶段,将Q-Former(附带冻结图像编码器)连接到冻结LLM,以获得LLM的语言生成能力。
首先使用了一个全连接(FC)层来将输出查询嵌入Z线性地投影到与LLM的文本嵌入相同的维度中。投影的查询嵌入预先添加到输入的文本嵌入中。它们作为软视觉提示,使LLM适应从Q-Former提取的视觉特征。
由于Q-Former已经被预先训练来提取语言信息丰富的视觉表示,它有效地作为一个信息bottleneck,在去除无关的视觉信息的同时为LLM提供最有用的信息。这减轻了LLM学习视觉-语言对齐的负担,从而减轻了灾难性的遗忘问题。