BLIP:引导式语言-图像预训练实现统一的视觉-语言理解和生成.

0. TL; DR

BLIP 是一种新型的视觉语言预训练框架,能够同时处理视觉语言理解任务(如图像-文本检索、视觉问答)和生成任务(如图像标题生成)。通过引入“多模态混合编码器-解码器”(Multimodal Mixture of Encoder-Decoder, MED)架构和“标题生成与过滤”(Captioning and Filtering, CapFilt)数据增强方法,BLIP 在多个视觉语言任务上取得了 SOTA 性能。此外,BLIP 在零样本学习场景下表现出色,能够直接迁移到视频语言任务中。

1. 背景介绍

视觉语言预训练(Vision-Language Pre-training, VLP)近年来在多模态下游任务中取得了显著进展。然而,现有的预训练模型存在两大局限性:

为了解决这些问题,BLIP 提出了一个统一的 VLP 框架,通过引入新的模型架构和数据增强方法,同时提升理解任务和生成任务的性能。

2. BLIP 模型

BLIP 的核心是一个多模态混合编码器-解码器(MED)架构,能够以三种方式运行:单模态编码器、图像引导的文本编码器和图像引导的文本解码器。

BLIP 在预训练阶段联合优化三个目标:

BLIP 提出了一种新的数据增强方法 CapFilt,通过生成合成标题并过滤噪声标题来提升数据质量。具体步骤如下:

  1. 标题生成器(Captioner):使用图像引导的文本解码器,给定网络图像生成合成标题。
  2. 过滤器(Filter):使用图像引导的文本编码器,过滤掉噪声标题(包括原始网络文本和合成文本)。
  3. 数据增强:将过滤后的图像-文本对与人工标注的数据结合,形成新的预训练数据集。

3. 实验分析

BLIP 在多个视觉语言任务上进行了评估,包括:

主要实验结果:

BLIP 在零样本学习场景下表现出色,能够直接迁移到视频语言任务中,如文本到视频检索和视频问答。在 MSRVTT 数据集上,零样本 BLIP 在文本到视频检索任务上取得了 43.3%Recall@1,显著优于其他方法。