Video-LLaMA: An Instruction-tuned Audio-Visual Language Model for Video Understanding
video-LLaMA 一种用于视频理解的指令调整视听语言模型
引言
Video-LLaMA 一个使大型语言模型(LLM)能够理解视频中的视觉和听觉的内容的多模态框架。它从冻结的预训练的视觉和音频encoder以及冻结的LLM中引导跨模态训练。
与之前专注于静态图像的视觉LLM不同,如(MiniGPT-4/LLaVA),Video-LLaMA主要解决了两个挑战
- 捕捉视觉场景中的时间变化
- 提出一种视频QFormer,将预训练的图像编码器组装到我们的视频编码器中,并引入视频到文本生成任务来学习视频语言对应关系。
- 整合视听信号。
- 利用ImageBind,这是一种将多个模态对齐的通用嵌入模型,作为预训练的音频编码器,并在ImageBind之上引入音频Q-Former,以学习LLM模块的合理听觉查询嵌入。
- 为了使视觉和音频编码器的输入与LLM的嵌入空间对齐,使用大量指令调整(instruct-tuned)数据集训练Video-LLaMA。
介绍
基于大量文本数据训练的LLM模型,表现非凡,尽管它们取得了很大成功,但大多数用户只能通过文本去与LLM进行交互。为了最大化发掘其潜力,将视觉理解能力加入LLM成为趋势。
BLIP-2,由于其从冷冻的图像encoder与文本decoder引导视觉语言预训练而备受关注。但是难以准确理解非平稳的视觉场景,缓解视频与文本之间的模态间隙比图像和文本更具挑战性。
本文的工作力图攻克视频转文字,并非采用外部感知模型将视觉与听觉信号转换为文本信号。而是构建一个端到端模型,可以在一个框架内处理来自多个模态的数据。
- 使用预训练的视觉encoder来处理帧率表示
- 引入一个用于注入时间信息的帧嵌入层与一个用于生成视觉查询token的视频Q-Former。
- 利用预训练的音频encoder与音频Q-Former生成器来学习合理的听觉嵌入。
- 为了使文本输出与视频保持一致,设计了多分支跨模型预训练来学习视频语言对应和音频语言对应。
- 视觉-语言,首先在大规模的视频字幕数据集上预训练视觉相关组件,并执行视频剪辑到文本生成任务。为了增强对静态视频概念的理解,还在这个预训练阶段添加了图片说明数据。之后,在基于视频的对话数据集上继续微调这些组件,以进行视觉instruct-tuned。
- 音频-语言,利用imagebind 作为encoder,它在将不同模态和公共嵌入空间对齐方面表现很好。而且鉴于音频文本数据有限,我们利用视觉文本数据来训练音频相关组件。这些组件的学习将imagebind提供的公共嵌入空间与LLM的嵌入空间对齐。
- 尽管没有使用音频文本数据进行明确训练,但是Video-LLaMA在推理过程中表现出非凡的zero-shot音频理解能力。
总结我们这篇论文的贡献:
- 提出了Video-LLaMA,实现视频与文本之间的桥梁
- 提出的多分枝跨模型预训练框架,实现视觉语言对齐和音频语言对齐,增强了LLM的视频理解能力。
- 代码开源且有demo
总结一下我的理解:与最新的多模态文本生成思想类似,整体结构相较于BLip2增加了一个音频处理的encoder与Q-former。处理上进行多分枝跨模态框架进行对齐,然后帧部分加强处理。
方法论
模型结构
视觉分支结构
由一个用于从视频帧中提取特征的冻结视觉encoder,一个用于将时间信息注入视频帧的位置嵌入曾,一个聚合帧表示的视频Q-Former和一个将输出视频表示映射到LLM的线性层。
给定N个帧组成视频,Visual Encoder首先将每个帧映射到个图像嵌入向量中,产生视频帧表示为V = [v1,v2,v3,vN],其中
是对应于第i个帧的df维图像嵌入的集合。
来自冻结图像编码器的帧表示 是在不考虑任何时间信息的条件下进行计算的,因此需要加入位置嵌入作为帧的事件表示。然后将位置编码的帧表示送入视频Q-Former以获得维度为
添加一个线性层,将视频嵌入转化为视频Query查询,Query查询向量与LLM文本嵌入维度相同,以便输入。在前向传递过程中,连接到输入文本嵌入作为视频prompt,引导冻结的LLM生成相关文本。
实现上:
- 冻结visual-encoder使用blip2的组件,包括eva-clip的vit-G/14和预训练的Q-Former
- 其余组件,位置嵌入,视频Q-Former和线性层,被随机初始化和优化。
音频分支结构
和视觉很类似
- 预训练的冻结音频encoder,使用imagebind
- 对视频2s短音频片段的M个片段进行均匀采样,然后使用128梅尔频谱图仓将每个2s音频片段转换为频谱图。获得输入音频的声谱图列表后,音频encoder将其转换为向量。
- 位置嵌入算位置
- 音频Q-Former
- 线性层
多分枝跨模态训练
分别训练视觉与音频分支,第一阶段,使用大规模的视觉字幕数据集进行训练,第二阶段,使用高质量的指令跟随数据集进行微调。
视觉分支训练
- 数据集
- Webvid-2M,大规模短视频数据集,文本描述来源库存网站
- CC595k,图片说明数据集,来自CC3M
- 训练
- 给定视频的表示,用prompt提示冻结的LLM生成对应的文本描述。
- 效果不如人意,但是本阶段目标是利用大量数据学到尽可能多的视觉知识,为下一阶段视觉文本对齐和指令跟随作准备。
- 微调
- 使用高质量的instruction-data进行微调。集成了Mini-GPT4的图像细节描述数据集,LLaVA图像指令数据集和视频聊天的视频指令数据集。
- 微调使其能力提升。
音频分支训练
- 使用视觉文本数据训练音频语言分支
- 由于音频文本数据很稀缺
- imagebind具有强大的将不同模态的嵌入对齐到一个公共空间的非凡能力
相关工作
- LLM模型
- 我们的工作基于这些出色的LLM,并提供即插即用的插件,使他们能够理解视频中的视觉与听觉内容。
- 多模态LLM模型(两类)
- 使用LLM作为控制器,并使用现有的多模态模型作为工具。当接受到指令时,LLM识别用户意图并决定调用哪些工具。最后结合多模态模型的结果来生成综合响应。如chatgpt等
- 训练基本的大规模多模态模型,关键思想为将其他模态预训练模型与文本LLM对齐,如BLIP2,visualGLM,引入Q-Former将学习到的图像查询映射到LLM的文本嵌入空间。
- Video-LLaMA限制
- 感知能力有限
- 处理长视频能力有限
- 幻觉问题,继承了冻结LLM的幻觉问题。
- 句法和语义正确但是与现实完全脱节,基于错误假设的模型生成的输出,会导致伦理问题,道德问题。
- 原因
- 过拟合
- encode和decode错误
- 训练数据的偏差,以及训练数据缺乏多样性。
文章出处登录后可见!