BLIP/BLIP2多模态理解与生成统一
BLIP和BLIP2是统一多模态理解和生成的代表性模型。请解释BLIP的MED架构、字幕过滤机制,以及BLIP2的Q-Former如何桥接视觉和语言模型。
回答
编译有声
BLIP(Bootstrapping Language-Image Pre-training)由Salesforce于2022年提出,BLIP2在2023年进一步优化。
BLIP核心——MED(Mixture of Encoder-Decoder)架构: 单个模型统一三种功能:
- 编码器(Unimodal Encoder):独立编码图像和文本(类似双塔)→ 用于理解任务。
- 图像条件文本编码器(Image-grounded Text Encoder):通过交叉注意力融合图像信息到文本编码 → 用于ITM(图像-文本匹配)。
- 图像条件文本解码器(Image-grounded Text Decoder):用因果注意力生成文本 → 用于LM(语言模型)和字幕生成。
三个功能共享相同的Transformer层,只是注意力掩码不同——这一设计与Unified Transformer理念一致。
字幕过滤(Caption Filtering)机制:
- 问题:从网络收集的图文对噪声很大(文本可能不能准确描述图像)。
- BLIP使用字幕器(Captioner)为图像生成新字幕 + 过滤器(Filter)筛选高质量字幕。
- Bootstrapping过程:
- 在干净数据集上预训练MED。
- 用字幕器为网络图像生成合成字幕。
- 用过滤器打分,保留高置信度的合成字幕(人工作品/机器生成中选好的)。
- 将精选的合成数据加入训练集。
- 循环迭代。
- 效果:大幅提升数据质量,在零样本任务上提升显著。
BLIP2——Q-Former(Querying Transformer): 核心思想:冻结预训练图像编码器(如ViT)和语言模型(如LLaMA/OPT),用轻量Q-Former桥接两者,高效训练。
Q-Former架构:
- 可学习的Query向量:一组固定的可学习token(如32个),类似DETR的Object Queries。
- 双注意力机制:
- 每个Query通过自注意力与其他Query交互。
- 通过交叉注意力从冻结的图像编码器提取视觉特征。
- 与LLM的连接:Query的输出线性投影后作为视觉前缀(Visual Prefix)输入到冻结的语言模型。
三阶段训练:
- 第一阶段:在冻结图像编码器上训练Q-Former(用ITC, ITM, MLM目标)。
- 第二阶段:将Q-Former连接到冻结的LLM,训练视觉-语言投影(生成任务)。
- 无需重新训练大模型,计算成本极低。
效果:BLIP2在多项VQA和图像描述任务上达到SOTA,同时参数量远小于端到端训练的大模型。