【论文阅读笔记】【多模态-Vision-Language Pretraining】 BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation

发布时间 2023-12-14 10:38:33作者: PanSTARRS

BLIP
ICML 2022 (Spotlight)

读论文思考的问题

  1. 论文试图解决什么问题?写作背景是什么?

    问题:

    • 在视觉-语言预训练(VLP)中,如何更加高效地利用充斥着噪声的海量图文对数据,提升预训练效果?

    • 如何设计模型,使得预训练后的模型在理解(understanding-based)任务和生成(generation-based)任务上都能具有较好的迁移能力和表现能力?

    背景:

    • 如今的大部分视觉-语言预训练模型都只能在理解和生成任务的其中之一上面表现良好

    • 噪声较多的互联网上收集的图文对对于视觉-语言预训练任务来说不是很好的监督数据

  2. 文章提出了什么样的解决方法?

    • 设计了一个多模态混合编解码器(MED),能够实现 3 种功能:单模态编码、基于图像的文本编码、基于图像的文本解码

    • MED 利用 3 个损失目标(ITC, ITM, LM)来分别优化 3 种功能

    • 利用两个模块 Captioner 和 Filter 来实现对海量图文对数据的重新生成和清洗,其中 captioner 基于图像生成新的合适的描述文本,filter 筛选掉不匹配的图文对数据(或许可以看作是一个 knowledge distillation 的过程?)

  3. 你觉得解决方法的关键之处在哪里?

    • 通过独特的结构设计,并设计不同的优化目标,统一了 understanding 和 generation 任务

    • 通过自助的方式,对数据质量进行了有效的提升,大大挖掘了模型的潜能

  4. 这个解决方法的局限性在哪里?有没有更好的解决方法?

  5. 文章是通过设计什么样的实验来支撑其解决方法的有效性的?这些实验你觉得有效吗?

    实验:

    1. CapFilt 模块在检索以及 image captioning 上的消融实验

    2. nucleus sampling 及其他的推导方式在生成式任务上的效果对比;attention 层是否共享参数的影响

    3. image retrieval, image captioning, VQA, NLVR\({^2}\), VisDial 任务上,BLIP 与 SOTA 的效果对比

    4. text-to-video retrieval 和 video

      question answering 上的 zero-shot 性能

    5. 说明模型有效性的一些其他的消融实验

要点

  1. 模型的3种功能:

    1. unimodal encoder: 和 BERT 一样的实现,只有 bi-directional self-attn,其中通过 [CLS] token 来获取整个文本句子的信息

    2. image-grounded text encoder: 加入了 cross-attn 层,其中利用 [Encode] token 来获取图文对的多模态表示信息

    3. image-grounded text decoder: 将 self-attn 层的 mask 替换为 causal mask,用于根据图像信息生成文本

  2. 针对模型功能的 3 种优化目标:

    1. ITC: 学习图像和文本的对应关系

    2. ITM: 判断文本跟当前图像是否匹配,相当于一个二分类问题

    3. LM: 生成的文本跟 gt 文本之间的距离,即生成式模型的损失

  3. captioner 和 filter 都是在 MED 基础上微调得到的

    • captioner 扮演的角色是 image-grounded text decoder,它基于 LM 目标微调,用于生成更加合适的文本

    • filter 扮演的角色是 image-grounded text encoder,它基于 ITC 和 ITM 目标进行微调,用于筛除不匹配的低质量图文对(噪声)

  4. filter 筛选的范围:貌似是从图像对应的 web texts 以及 synthetic texts 中二选一?

问题