0. 前言
【参考】多模态论文串讲
基于2021年之前的研究,有几个大趋势:
(1)模型的视觉能力应该强于文本提取能力
(2)模型融合应该有更加复杂的设计,而不只是简单的点积运算(clip)
(3)损失函数的选择上:① ITC ②MLM ③ITM
之所以放弃WPA损失函数,是因为他给训练带来了比较大的成本。(参考ViLT)
1.介绍
1.1 挑战
(1)图像特征和单词标记嵌入存在于它们自己的空间中,难以建模两者之间关系
(2) 对象检测器标注和计算成本过高
(3)ALT数据集噪声影响训练(网络爬取的数据集大部分都是以关键词为主,不能很好的描述)
1.2 本文核心贡献
- 提出了ALign BEfore Fuse(ALBEF)
- 提出了动量蒸馏(MoD)
2. ALBEF
2.1 模型架构
- 视觉编码器:使用12层VIT-base
- 文本编码器:BERTbase[40]模型的前6层
- 多模式编码器:BERTbase的最后6层
图片来自VILT
2.2 预训练的三个损失函数
在单模态编码器上的图像-文本对比学习(ITC)、在多模态编码器上的掩蔽语言建模(MLM)和图像-文本匹配(ITM)。
2.2.1 图像-文本对比学习(ITC)
常规的Softmax:
这篇论文中的Softmax:
论文中引入了可学习的温度参数T
通过one-hot分布的图像文本相似性和softmax相似性获得交叉熵衡量
2.2.2 掩蔽语言建模(MLM)
经典bert训练方式。因为以15%的概率随机屏蔽输入tokens,所以这里需要第二次前向传递
2.2.3 图像-文本匹配(ITM)
提出了一种策略,以零计算开销采样ITM任务的hard negtivate数据进行训练:使用图像-文本对比学习中获得的Softmax相似性采样一个与图像(或文本)有较高相似性的文本(或图像)。
2.3 Momentum Distillation 动量蒸馏
这个想法的提出基于 网络爬取的图片文本对中文本不一定能充分描述图片。
动量模型:单一模态和多模态编码器的指数移动平均(EMA)组成
三.代码
代码部分参考【读论文看代码】多模态系列-ALBEF。足够详细就不重复造轮子了