论文笔记 - InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning
1. Information
Title: InstructBLIP: Towards General-purpose
Vision-Language Models with Instruction Tuning
Link: InstructBLIP Paper
Source: Advances in Neural Information Processing
Systems (NeurIPS)
Date: 2023.05.11
2. Summary
- InstructBLIP 是基于 BLIP-2 预训练模型的视觉-语言指令微调(instruction tuning)框架,旨在提升模型的通用性。
- 通过对 26 个公开数据集进行指令格式转换,并采用指令感知(instruction-aware)的 Query Transformer(Q-Former)模块,使模型能根据不同指令提取特定视觉信息。
- 训练时采用 13 个数据集(held-in),零样本测试时在 13 个未见数据集(held-out)上评估。
- 结果显示 InstructBLIP 在零样本任务上显著超越 BLIP-2 和 Flamingo。
- 在具体任务(如 ScienceQA)上,InstructBLIP 经过微调后取得了 90.7% 的准确率,优于已有模型。
3. Background
在自然语言处理(NLP)领域,指令调优已被证明是一种有效的方法,能够使大型语言模型(LLM)根据自然语言指令执行多种任务。然而,将这种方法扩展到视觉-语言任务中面临诸多挑战,因为视觉输入的多样性和任务的复杂性使得模型难以泛化到未见过的任务。以往的研究主要分为两类:一是多任务学习(multitask learning),将多种任务统一为相同的输入输出格式,但这种方法在未见过的数据集和任务上泛化能力较差;二是通过图像描述数据训练视觉组件,但这些数据过于有限,无法支持需要复杂视觉理解的任务。
4. Research Objective
- 探索视觉-语言指令调优的系统化方法。
- 构建能通过自然语言指令适应多种任务的通用模型。
- 验证模型在零样本泛化和下游任务微调中的性能优势。
5. Method
5.1 模型架构
基于BLIP-2的三模块设计:
- 冻结图像编码器(如ViT-g/14)提取视觉特征。
- 指令感知Q-Former:
- 输入:图像编码特征 + 文本指令(通过共享自注意力层交互)。
- 输出:动态提取与指令相关的视觉特征(K个查询嵌入)。
- 冻结大语言模型(LLM)(如FlanT5或Vicuna):接收Q-Former的视觉特征和指令,生成文本响应。
5.2 数据集构建
- 数据来源:收集 26 个公开可用的视觉-语言数据集,并转换为指令微调格式。
- 数据集类别:涵盖 11 类任务,包括图像描述、视觉问答、视觉推理等。
- 指令模板:
- 为每个数据集手工设计 10-15 个不同的指令格式,确保模型学习通用指令跟随能力。
- 对于图像描述任务:模板可能包括“
A short image caption:”或“ Describe the content of the image.”。 - 对于视觉问答任务:模板可能包括“
{Question} Short answer:”或“ Question: {Question} Answer:”。
- 数据分割:
- 训练集(held-in):13 个数据集
- 测试集(held-out):13 个数据集,包括 4 类任务完全未见
6. Evaluation
- 零样本任务评估:
- InstructBLIP 显著优于 BLIP-2 和 Flamingo
- 在 ScienceQA 数据集(含图像)上,FlanT5-XXL 版本准确率达到 90.7%
- Vicuna 版本更适合开放式生成任务,而 FlanT5 版本更擅长多选任务
- 消融实验(Ablation Study):
- 移除 指令感知 Q-Former,性能下降 2.5%-7.6%
- 移除 数据平衡策略,整体性能下降 1%-5%
- 微调实验(Fine-tuning Study):
- 经过微调后,InstructBLIP 在多个任务上达到最优性能。
7. Conclusion
- InstructBLIP 通过 指令微调 实现了 视觉-语言任务的广泛泛化。
- 指令感知 Q-Former 使模型能适应不同任务,提取特定视觉信息。
- 数据平衡采样策略 解决了数据集规模不均的问题。
- 在 零样本评估 和 下游任务微调 方面,InstructBLIP 均达到最优。
论文笔记 - InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning
http://hellochuanyang.github.io/2025/03/10/论文笔记-InstructBLIP-Towards-General-purpose-Vision-Language-Models-with-Instruction-Tuning/