一. 论文与代码
论文:https://arxiv.org/abs/2301.12597
代码:https://github.com/salesforce/LAVIS/tree/main/projects/blip2
二. 解决问题
端到端训练视觉语言模型需要大尺度模型及大规模数据,该过程成本大,本文提出方法基于现有高质量视觉模型及语言大模型进行联合训练,为减少计算量及防止遗忘,作者对预训练模型进行frozen,为了将两任务对齐,作者提出Querying Transformer (Q- Former) 预训练,如图1,其将有用视觉特征传递至LLM输出目标文本。
三. 算法架构
图一:BLIP-2的算法框架,我们训练了一个轻量级的Q-Former来对齐文本和语言两个模态的差距。第一阶段从冻结的图像编码中学习到图像的语言表征,第二阶段通过冻结的大语言模型从图像特征到语言生成。
四. 具体细节
-
表征学习阶段
左边是Q-Former的结构,用来学习图片的视觉语言表征,作者使用三个目标函数使模型学习到图片的视觉表征;右边的self-attention masking策略来控制query-text之间的交互。 -
语言生成阶段
作者将Q-Former与LLM相连,后去LLM的语言生成能力。如图,FC层映射输出的query embedding Z至LLM的text embedding;基于LLM Q-Former提取到的视觉表征作为soft visual prompt,由于Q-Former已经预训练用于提取对文本有用的视觉表征,减轻LLM学习视觉-文本对齐的负担。
作者实验两种LLM,decoder-based LLM以及encoder-decoder-based LLM。
对于decoder-based LLM,作者使用language modeling loss进行预训练,frozen LLM进行文本生成;
对于encoder-decoder-based LLM,使用prefix language modeling loss预训练,将text分为两部分,text前半部分与视觉表征concat输入LLM编码器,后半部分作为LLM解码器的生成目标。
五. 结论
BLIP-2是一种通用且计算高效的视觉语言预训练方案,使用frozen 预训练图像编码器及LLM,在多个视觉语言任务达到SOTA,也证明了其在零样本instructed image-to-text生成能力。
推荐:BLIP2-图像文本预训练论文解读