BLIP:统一视觉语言理解与生成
BLIP 是一种用于统一视觉语言理解和生成的新预训练框架,在各种视觉语言任务上取得了最先进的结果。
1. 背景
视觉和语言是人类感知世界的两种最基本方式,也是人工智能的两大关键基石。人工智能的一个长期目标是构建能够通过视觉和语言输入理解世界,并通过自然语言与人类交流的智能体。
为了实现这一目标,视觉语言预训练(Vision-Language Pre-training,VLP) 已成为一种有效的方法:深度神经网络模型在大规模图像-文本数据集上进行预训练,以提高下游视觉语言任务(例如图像-文本检索、图像描述和视觉问答)的性能。
简而言之,视觉语言预训练旨在利用图像-文本数据教会模型共同理解视觉和文本信息的能力。通过预训练,模型在微调之前已经学到了通用的多模态表示;如果没有预训练,模型需要在每个下游任务上从头开始训练,性能会显著下降。
2. 局限:大多数模型缺乏灵活性,且 Web 数据嘈杂
尽管视觉语言预训练取得了巨大成功,但现有方法存在两个主要局限:
- 模型角度:大多数现有预训练模型不够灵活,无法适应广泛的视觉语言任务。基于编码器的模型不太容易直接迁移到文本生成任务,而编码器-解码器模型尚未成功应用于图像-文本检索任务。
- 数据角度:大多数模型使用从网络自动收集的图像和替代文本对进行预训练。然而,网络文本通常不能准确描述图像的视觉内容,因此是嘈杂的监督信号。
3. 我们的解决方案:用 BLIP 翻转剧本
为了解决这些局限,我们提出了 BLIP:Bootstrapping Language-Image Pre-training,以实现视觉语言的统一理解和生成。BLIP 的贡献包括:
- 一种新的模型架构,能够比现有方法适应更广泛的下游任务;
- 一种新的数据集引导(bootstrapping)方法,用于从嘈杂的网络数据中学习。
BLIP 在七项视觉语言任务上实现了最先进的性能:
- image-text retrieval
- image captioning
- visual question answering
- visual reasoning
- visual dialog
- zero-shot text-video retrieval
- zero-shot video question answering
4. 深入探讨:BLIP 的工作原理
4.1 统一视觉语言理解与生成的模型
为了预训练具有理解和生成能力的统一视觉语言模型,BLIP 引入了编码器-解码器的多模态混合模型(Multimodal Mixture of Encoder-Decoder,MED)。这是一个多任务模型,可以在三种功能之一中运行:
- 单模态编码器:分别对图像和文本进行编码。图像编码器是一个视觉 Transformer(Vision Transformer);文本编码器与 BERT 相同。文本输入开头会添加一个
[CLS]token,用于总结句子。 - 基于图像的文本编码器:通过在文本编码器的每个 Transformer 块的自注意力层和前馈网络之间插入交叉注意力层来注入视觉信息。特定于任务的
[Encode]token 被附加到文本中,其输出嵌入用作图像-文本对的多模态表示。 - 基于图像的文本解码器:用因果自注意力层替换文本编码器中的双向自注意力层。特殊的
[Decode]token 用于表示序列的开始。
BLIP 在预训练过程中联合优化了三个目标,其中两个基于理解(ITC、ITM),一个基于生成(LM):
- 图像-文本对比损失(ITC) 激活单模态编码器,目的是对齐视觉 Transformer 和文本 Transformer 的特征空间,鼓励正图像-文本对相比负对具有更相似的表示。
- 图像-文本匹配损失(ITM) 激活基于图像的文本编码器,是一项二元分类任务,要求模型在给定多模态特征的情况下预测图像-文本对是正(匹配)还是负(不匹配)。
- 语言建模损失(LM) 激活基于图像的文本解码器,目的是生成以图像为条件的文本描述。
在不同的下游任务中,我们微调预训练模型的不同路径以实现不同目标。
5. 从嘈杂的图像-文本对中引导字幕
视觉语言预训练依赖于从网络自动收集的大规模图像-文本对。然而,文本通常不能准确描述图像的视觉内容,因此是嘈杂的监督信号。
为了解决这个问题,BLIP 通过引入两个模块来引导字幕(Caption Bootstrapping):
- 字幕生成器(Captioner):是一个基于图像的文本解码器。给定网络图像,字幕生成器会生成合成字幕作为额外的训练样本。
- 过滤器(Filter):是一个基于图像的文本编码器。它会删除与相应图像不匹配的嘈杂字幕。
6. 结果
通过引导数据集,预训练模型在下游任务上实现了显著的性能提升。
我们还发现,由于合成字幕的多样性更高,使用随机解码方法(核采样,nucleus sampling)生成字幕比使用波束搜索(beam search)更好。
下面展示了 BLIP 在图像-文本检索上的性能:在相同图像数量下,BLIP 的平均 Recall@1 比现有最先进的 ALBEF 高出 2.7%。其他任务的更多结果请参阅论文。
7. 影响
BLIP 研究对人工智能及其他领域具有积极影响:
- AI 优势:
- 为统一的基于图像的文本理解和生成任务提供了最先进的视觉语言预训练模型。
- 引入了从嘈杂网络数据中学习的新框架。
- 通过生成合成字幕作为额外训练样本,并删除嘈杂字幕来处理噪声。
- 更广泛的影响:BLIP 可以通过更好的视觉语言智能实现广泛的下游应用,例如电子商务平台中的产品推荐和分类。
总结
- 视觉语言研究是人工智能的核心问题,因为视觉和语言是世界上两种基本的信息模态;同时也是重要的应用领域,许多工业 AI 应用都由视觉语言智能驱动。
- BLIP 框架贡献了一种新的模型架构和一种新的数据集引导方法。
- BLIP 为深度学习和人工智能做出了宝贵贡献:提供简单、灵活且强大的视觉语言模型,可端到端微调;在图像-文本检索、图像描述、视觉问答、视觉推理和视觉对话方面实现最先进的性能;以零样本方式迁移到视频语言任务时表现出很强的泛化能力。
- BLIP 还可以通过更好的视觉语言智能支持广泛的下游应用,例如电子商务平台的产品推荐和分类。
8. 相关资源
8.1 ALBEF(ALign BEfore Fuse)
- 论文:Align before Fuse: Vision and Language Representation Learning with Momentum Distillation
- 博客:Align before Fuse (ALBEF): Advancing Vision-language Understanding with Contrastive Learning
8.2 BLIP
9. 附录:术语和定义
- 图像-文本数据集:数据的集合,其中每一项都是图像-文本对,即一个或多个图像加上一个或多个文本描述。
- 预训练:模型在适应(或微调)下游任务数据之前已经过训练。
- 微调:使用目标任务的数据进一步训练预训练模型。
- 端到端:模型的所有参数都可以联合训练。
- 编码器视觉语言模型:将图像-文本数据编码为特征表示的模型,通常用于执行基于理解的任务。
- 编码器-解码器视觉语言模型:首先将图像-文本编码为多模态特征,然后将特征解码为文本的模型。
- 数据集引导:一种生成额外(合成)数据供模型使用的方法。