BLIP
ICML 2022 (Spotlight)
读论文思考的问题
-
论文试图解决什么问题?写作背景是什么?
问题:
-
在视觉-语言预训练(VLP)中,如何更加高效地利用充斥着噪声的海量图文对数据,提升预训练效果?
-
如何设计模型,使得预训练后的模型在理解(understanding-based)任务和生成(generation-based)任务上都能具有较好的迁移能力和表现能力?
背景:
-
如今的大部分视觉-语言预训练模型都只能在理解和生成任务的其中之一上面表现良好
-
噪声较多的互联网上收集的图文对对于视觉-语言预训练任务来说不是很好的监督数据
-
-
文章提出了什么样的解决方法?
-
设计了一个多模态混合编解码器(MED),能够实现 3 种功能:单模态编码、基于图像的文本编码、基于图像的文本解码
-
MED 利用 3 个损失目标(ITC, ITM, LM)来分别优化 3 种功能
-
利用两个模块 Captioner 和 Filter 来实现对海量图文对数据的重新生成和清洗,其中 captioner 基于图像生成新的合适的描述文本,filter 筛选掉不匹配的图文对数据(或许可以看作是一个 knowledge distillation 的过程?)
-
-
你觉得解决方法的关键之处在哪里?
-
通过独特的结构设计,并设计不同的优化目标,统一了 understanding 和 generation 任务
-
通过自助的方式,对数据质量进行了有效的提升,大大挖掘了模型的潜能
-
-
这个解决方法的局限性在哪里?有没有更好的解决方法?
-
文章是通过设计什么样的实验来支撑其解决方法的有效性的?这些实验你觉得有效吗?
实验:
-
CapFilt 模块在检索以及 image captioning 上的消融实验
-
nucleus sampling 及其他的推导方式在生成式任务上的效果对比;attention 层是否共享参数的影响
-
image retrieval, image captioning, VQA, NLVR\({^2}\), VisDial 任务上,BLIP 与 SOTA 的效果对比
-
text-to-video retrieval 和 video
question answering 上的 zero-shot 性能
-
说明模型有效性的一些其他的消融实验
-
要点
-
模型的3种功能:
-
unimodal encoder: 和 BERT 一样的实现,只有 bi-directional self-attn,其中通过 [CLS] token 来获取整个文本句子的信息
-
image-grounded text encoder: 加入了 cross-attn 层,其中利用 [Encode] token 来获取图文对的多模态表示信息
-
image-grounded text decoder: 将 self-attn 层的 mask 替换为 causal mask,用于根据图像信息生成文本
-
-
针对模型功能的 3 种优化目标:
-
ITC: 学习图像和文本的对应关系
-
ITM: 判断文本跟当前图像是否匹配,相当于一个二分类问题
-
LM: 生成的文本跟 gt 文本之间的距离,即生成式模型的损失
-
-
captioner 和 filter 都是在 MED 基础上微调得到的
-
captioner 扮演的角色是 image-grounded text decoder,它基于 LM 目标微调,用于生成更加合适的文本
-
filter 扮演的角色是 image-grounded text encoder,它基于 ITC 和 ITM 目标进行微调,用于筛除不匹配的低质量图文对(噪声)
-
-
filter 筛选的范围:貌似是从图像对应的 web texts 以及 synthetic texts 中二选一?
问题
- Language Vision-Language 模态 Vision Language-Imagelanguage vision-language模态vision vision-language vision-language understanding enhancing advanced vision-language manipulation pre-trained open-world vision-language pre-training embodiedgpt embodied 模态language-image pre-training referring language-image language-image pre-training grounded language vision x-vision