论文: 《BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models》
github: https://github.com/salesforce/LAVIS/tree/main/projects/blip2
摘要
如图2,Q-Former包括两个贡共享self-attention层的transformer子模块:图像transformer(Q-Former左半部分)与frozen image encoder相互作用提取视觉特征;文本transformer(Q-Former右半部分)可作为文本编码器,也可作为文本解码器。
可学习query embedding作为图像transformer输入,通过self-attention层相互作用,通过cross-attention层与frozen图像特征相互作用,query同时通过self-attention层与文本相互作用。根据预练习使命,作者使用差别self-attention mask控制query-text之间交互;作者使用 B E R T b a s e BERT_{base} BERTbase初始化Q-Former,cross-attention层举行随机初始化;
通过frozen图像编码器学习视觉语言表征
ITC学习对齐图像表征与文本表征,通过比较成对与非成对的图像-文本相似度实现;计算过程如下:
计算image transformer输出query表征 Z Z Z(与可学习query长度雷同)与text transformer输出文本表征 t t t 中【CLS】token相似性,选取最大值作为图像文本对相似度,为防止信息泄露,作者使用单模态self-attention mask,query与text不能互相可见,防止从文本直接学习;由于image encoder举行frozen,显存开释,可以使用batch负样本而不消像BLIP中使用队列。
基于图像文本天生(ITG)
BLIP-2使用与BLIP雷同数据,129M图片,包括COCO、Visual Genome、CC3M、CC12M、SBU,其中115M来自 LAION400M,使用CapFilt对网图举行天生caption,具体步调如下:
1、使用 B L I P l a r g e BLIP_{large} BLIPlarge天生10个caption;
2、天生10个caption+原始web caption通过CLIP ViT-L/14模子与对应图像举行相似度排序;
3、选取top2作为该图的caption,以此作为练习数据;
预练习图像编码器与LLM
两个SOTA视觉transformer预练习模子:
ViT-L/14 from CLIP、ViT-G/14 from EVA-CLIP
移除ViT末了一层,使用倒数第二层特征。
LLM模子:
无监视练习的OPT作为decoder-based LLM
基于指令练习的FlanT5作为encoder-decoder-based LLM
预练习设置