Q-Former技术详解
Q-Former(Querying Transformer)是BLIP-2模型的核心组件,本质是一个轻量级的可训练信息瓶颈 。它的主要作用是在冻结(参数不参与训练)的预训练图像编码器和大型语言模型(LLM)之间搭建一座桥梁,实现跨模态的信息对齐与交互。
这种方法避免了昂贵的端到端重训练,也防止了模型在学习新任务时遗忘已有知识。
1. 核心架构:基于BERT的"双模块"设计
Q-Former的架构基于BERT_base进行初始化,参数量约为1.88亿。它主要由以下部分构成:
两个共享自注意力的Transformer子模块:
图像Transformer(Image Transformer):负责与冻结的图像编码器交互。
文本Transformer(Text Transformer):既可作文本编码器,也可作文本解码器。
可学习的查询向量(Learnable Query Vectors) :这是一组32个 、维度为768的可训练参数。它们如同"问题模板",在训练中不断优化,学会从图像中提取不同类型的关键信息。
交叉注意力层(Cross-Attention Layer):图像Transformer独有的层,用于查询向量与图像特征进行交互。
2. 工作原理:两阶段预训练策略
Q-Former的训练分为两个阶段:
第一阶段:视觉-语言表示学习
此阶段的目标是让Q-Former学会提取与文本最相关的视觉特征。通过联合优化以下三个任务来实现:
图像-文本对比学习(ITC):拉近匹配图文对的表示,推远不匹配的。为防止信息泄露,查询和文本在此任务中互相"不可见"。
图像-文本匹配(ITM):一个二分类任务,判断图像和文本是否匹配,建模多模态的细粒度关联。
基于图像的文本生成(ITG):以自回归方式,让Q-Former在给定图像的条件下生成文本描述。
第二阶段:视觉到语言的生成学习
此阶段将训练好的Q-Former连接到冻结的LLM上。Q-Former的输出会通过一个全连接层,投影到与LLM文本嵌入相同的维度,作为"软视觉提示"输入给LLM。LLM根据这个提示和可能的文本指令,生成最终的文本。
3. 技术精要:作为"信息瓶颈"的Q-Former
Q-Former的一个关键设计是充当信息瓶颈。它需要将图像编码器生成的高维特征(如257×1024),通过32个查询向量"蒸馏"压缩成低维的固定表示(32×768)。这种设计带来了三大好处:
计算高效:无论输入图像多大,输出维度固定,极大降低LLM的计算负担。
自动过滤:强制模型聚焦于与语言最相关的视觉信息,过滤无关细节。
强制对齐:迫使模型学习视觉与语言间的语义对应关系。
任务表现示例:视觉问答(VQA)
Q-Former的高效性在视觉问答(VQA)任务上体现得尤为突出。
零样本(Zero-shot)VQAv2基准测试 :BLIP-2取得了65.0% 的准确率。
与Flamingo80B对比 :BLIP-2以少54倍 的可训练参数,在零样本VQAv2任务上超越了拥有800亿参数的Flamingo80B模型8.7个百分点。
工作流程举例
假设我们向BLIP-2输入一张"一只金毛犬在公园里接飞盘 "的图片,并提问"这只狗在做什么?"。
图像编码:冻结的图像编码器将图片处理成高维的视觉特征。
Q-Former查询 :32个可学习的查询向量作为"提问者",通过交叉注意力机制与图像特征交互,提取出"金毛犬 "、"接住 "、"飞盘"等关键信息,并压缩成固定长度的表示。
信息传递:Q-Former的輸出被转换成LLM能理解的"软提示"。
LLM生成 :冻结的LLM接收到"软提示"和用户的文本问题"这只狗在做什么?",最终生成回答:"这只金毛犬正在跳跃接住一个飞盘。"
整个过程,只有Q-Former的参数被训练,而庞大的图像编码器和LLM始终保持冻结,从而实现了高效的多模态理解。