Flamingo: a Visual Language Model for Few-Shot Learning
Alayrac et al. (DeepMind)
在 frozen LLM 里插入 cross-attention 层让它看见图像和视频——首个真正的 GPT-3 for vision,开启 in-context VQA。
arXiv:2204.14198核心贡献
- 01Perceiver Resampler 把任意分辨率/帧数视觉输入压成固定 64 token
- 02Gated Cross-Attention Dense 层插入冻结 LLM 各层之间
- 03Tanh gating 初始化为 0,保证训练初期等价 frozen LLM
- 0416-shot ICL 在 VQAv2/OK-VQA 等 16 个 benchmark 上 SOTA
Flamingo 把图像/视频通过 ViT + Perceiver Resampler 编码成 64 个紧凑 token,然后在 frozen LLM (Chinchilla) 的若干层之间插入新的 Gated Cross-Attention Dense 层,让文本流可以 attend 到视觉 token。Gating 用 tanh 初始化为 0,训练初期等价 frozen LLM,避免破坏语言能力。
Flamingo vs BLIP-2 vs LLaVA? 三种主流"接入"方式:Flamingo 插 cross-attn 层、BLIP-2 用 Q-Former 投影、LLaVA 用 MLP 直接拼到 LLM 输入。LLaVA 简单 + 可 scale 数据成主流。Perceiver Resampler 是什么? 类似 Q-Former,用 learnable query + cross-attn 把变长视觉输入压成固定长度。Tanh gating 为什么初始化 0? 保证训练开始时网络等价于 frozen LLM,避免新加模块破坏预训练;类似 LoRA 的 ΔW=BA 初始化 B=0。多图 ICL 是什么意思? prompt 里可以放 多张图 + 文本交错("图1:…图2:…"),模型 attention 自然处理。为什么必看? 是 2022 年开启 VLM in-context learning 的开山作。