论文:https://arxiv.org/pdf/2305.06500v1.pdf
代码:https://github.com/salesforce/LAVIS/tree/main/projects/instructblip
引言:
-
由于来自不同领域的额外视觉输入,视觉-语言任务在性质上更加多样化,构建一个能够推广到广泛的视觉-语言任务的统一模型更具挑战性
-
本文介绍了一个名为
InstructBLIP
的视觉语言指令调整框架,该框架通过一个统一的自然语言接口,使通用模型能够解决广泛的视觉任务 -
文章贡献:
-
对视觉语言指令调整进行了全面系统的研究,将26个公开数据集转换成指令调整格式并分成11个任务类别
-
提出了一种指令感知的视觉特征提取机制,可以根据给定的指令灵活且有效地提取视觉信息特征
-
模型结构:
数据构造:
-
黄色表示训练数据,白色表示测试数据
-
data balance,根据数据集量级进行采样
-
构建了10-15个不同的template,每个任务进行采样抽取
-
对于简短输出的数据集prompt添加short/briefly关键词防止模型过拟合
-
视频类型任务-均匀采样四个帧图片,抽特征,拼接query embedding传入LLM
数据集prompt构造:
BLIP-2模型框架:
InstructBLIP
模型整体框架:
可训练的Q-Former模块连接冻结的image encoder和冻结的LLM,训练分为两阶段representation learning stage和generative pre-training stage.
原始Q-Former模型:Image Encoder抽取图像特征,融合Query Embedding精炼图像信息,作为soft prompt + query text 传入LLM模型进行预测。
改进Q-Former模型:instruction text与Query Embedding先self-attention融合,再抽取图像特征,得到特定任务的图像信息,作为soft prompt + instruction text传入LLM模型进行预测
模型实验
模型实验
消融实验,Instruction和data balance的重要性
消融实验,验证多任务学习 or instruction学习哪个更重要