1.BLIP
BLIP的第一个共享是将图像文本理解与图像文本生成任务进行了统一,形成了多模态统一模型,模型在ITC任务上的效果也比CLIP更好。
1.1任务
ITC:就是CLIP中的图像文本对比学习任务
ITM:针对ITC任务中匹配不正确的样本,单独进行一个Image-Text二分类任务,使得模型对齐效果更好。因为来源于网络的弱监督文本存在噪声,会使得ITC阶段的监督出现一些错误,噪声举例:
这个二分类任务的目的是让图像和文本做到细节上的对齐。
LM:基于图像,用GPT的生成任务与生成对图像的自然语言理解。
1.2网络
上图中,最左侧的image encoder还是常见的VIT等操作。
右侧的三个模型的结构很相似,其中颜色相同的部分参数也是共享的,颜色不同的部分参数不是共享的:
其中ITC和ITM的text encoder前面加上了“CLS” 和 “encoder”关键字,代表他们是处理不同任务的编码。第一步都是Bert中的BI-SELF-ATTENTION。
LM的text前加了“decoder”标记,预测过程也是GPT中一个个step逐字生成。
1.3 数据
BLIP的另外一大贡献在于:解决了来源于网络的弱监督文本的噪声问题,并且对部分图片重新生产文本。
网络数据噪声举例:
上述数据处理方法描述:
(1)红色的代表互联网上有噪声的样本,绿色的代表人类标注的真实样本。
(2)基于预训练的模型用人类标注的样本进行ITC和ITM的finetune得到更准确的模型。用新老模型分别去做推理可以过滤掉一些图文不匹配的样本。
(3)用人类标注的数据去finetune第三个LM任务,可以为一些噪声样本生成匹配的Text。
2.BLIP-2
分两个阶段:
(1)第一阶段是训练一个桥接组件,将image的embedding对齐到LLM的embedding的text空间。
(2)第二阶段相当于将image作为一个prompt给LLM,让LLM生成对图像的描述。