【论文笔记】LanguageBind: Extending Video-Language Pretraining to N-modality by Language-based Semantic Alignment
【论文笔记】LanguageBind: Extending Video-Language Pretraining to N-modality by Language-based Semantic Alignment
小嗷犬基本信息
标题: LanguageBind: Extending Video-Language Pretraining to N-modality by Language-based Semantic Alignment
作者: Bin Zhu, Bin Lin, Munan Ning, Yang Yan, Jiaxi Cui, HongFa Wang, Yatian Pang, Wenhao Jiang, Junwu Zhang, Zongwei Li, Wancai Zhang, Zhifeng Li, Wei Liu, Li Yuan
发表: ICLR 2024
arXiv: https://arxiv.org/abs/2310.01852
摘要
视频语言(VL)预训练在多个下游任务中取得了显著的进步。
然而,当前的VL预训练框架难以扩展到多个模态(N模态,N≥3),超出视觉和语言之外。
因此,我们提出了LanguageBind,将语言作为不同模态之间的纽带,因为语言模态得到了充分探索且包含丰富的语义。
具体来说,我们冻结了VL预训练获得的语言编码器,然后使用对比学习训练其他模态的编码器。
结果,所有模态都被映射到一个共享的特征空间,实现了多模态语义对齐。
虽然LanguageBind确保我们可以将VL模态扩展到N模态,但我们还需要一个高质量的包含语言为中心对齐数据的语料库。
因此,我们提出了包含1000万个数据的VIDAL-10M,其中包括视频、红外、深度、音频及其相应的语言。
在我们的VIDAL-10M中,所有视频都来自短视频平台,具有完整的语义,而不是来自长视频的截断片段,并且所有视频、深度、红外和音频模态都与它们的文本描述对齐。
LanguageBind在涵盖视频、音频、深度和红外等多个模态的15个基准测试中取得了优异的性能。
此外,多项实验为LanguageBind在实现不同模态之间的间接对齐和互补的有效性提供了证据。
代码地址:https://github.com/PKU-YuanGroup/LanguageBind
主要贡献
- 我们提出了基于语言的跨模态预训练方法LanguageBind。在预训练过程中,所有模态通过对比学习逐渐与语言模态对齐,并在共享嵌入空间中统一。
- 我们引入了VIDAL-10M,这是一个大规模的五模态视频数据集,包含1000万个数据对,具有对齐的VL、IL(infrared-language)、DL(depth-language)和AL(audio-language)模态。据我们所知,VIDAL-10M是第一个包含深度和红外模态的大规模视频数据集。
- 大量实验验证了我们的数据集和方法的有效性,在视频和其他模态理解任务中取得了显著性能。
方法
本节中,我们介绍了LanguageBind,这是一种多模态预训练方法,旨在对齐不同模态的语义并增强跨模态检索和零样本分类。
如图3所示,LanguageBind由三部分组成:
- 多模态编码器
- 语言编码器
- 多模态联合学习
多模态编码器
除了语言之外的其他模态,我们使用24层、1024维度的ViT,其patch大小为14。
编码器从OpenCLIP-large初始化。
深度和红外被视为RGB图像,在通道维度上重复3次以与RGB图像对齐。
在ImageBind之后,音频数据被转换为时长为10秒(128 mel-bins)的频谱图,并重复和填充频谱图。例如,4秒的频谱图将被重复两次,然后填充零以增加额外的2秒。同样,我们在通道维度上也重复3次。如果时长超过10秒,我们将从原始音频的前1/3、中1/3和后1/3中随机采样三个10秒的音频片段,并将它们堆叠在一起。
Patch masking: 为了解决在编码器中处理所有token的效率低下问题,我们将图像划分为patch,并通过编码器掩码取一小部分patch,遵循 MAE。
LoRA fine-tuning: 使用LoRA微调Encoder。
Modality extending: 扩展到N个模态。
语言编码器和多模态联合学习
对于语言编码器,我们使用了一个12层的Transformer模型,该模型具有768维,并从OpenCLIP进行初始化。
对于给定的文本,我们最初使用BPE分词器将单词分割成相对常见的子词。每个子词对应一个唯一的token,这些token嵌入在词嵌入层中。
最终,token由语言编码器编码,以获得文本logit,其中 表示序列的长度。
为了确保不同模态之间的对齐,我们使用了对比学习。这种方法的目标是增加配对数据的相似性,使它们更接近相同的语义空间,同时最小化未配对数据的相似性。我们利用对比学习将各个模态与语言绑定。
其中 是第 个模态数据, 是第 个文本,它们的特征被归一化。 和 分别是批次大小和温度。每个模态 与语言 的直接对齐使我们能够显著提高零样本分类和检索任务的性能。
THE VIDAL-10M DATASET
实验
总结
在这项工作中,我们提出了基于语言的语义对齐方法LanguageBind,用于多模态预训练。
我们采用对比学习方法,在语言模态与其他所有模态之间建立模态语义对齐。
为了提高模态完整性,我们还构建了第一个与语言模态直接对齐的大规模多模态数据集VIDAL-10M,包含1000万个对齐的VL、IL、DL和AL对。
广泛的实验结果,包括零样本X语言理解和不同模态之间的间接对齐,证明了LanguageBind的多模态对齐和互补能力的有效性,以及VIDAL-10M的有效性。