由于之前的工作都是基于region特征,然后对齐region-word特征
然而基于region的存在以下限制:
- 基于region的只能关注到bounding box内的object,忽视了上下文信息
- 大部分基于区域的图像特征是通过检测模型提取的,存在质量低、噪声、过采样等问题,依赖于大规模的bounding box标注数据。
- 预定义的对象和属性类别有限
因此作者提出了将一个image作为输入,端到端的进行视觉语言预训练
主要创新:
- Visual dictionary(等同于聚类,将包含相同语义的视觉特征聚在一起)
- Masked Vision Modeling(MVM)
Method
Visual Encoder
使用一个可训练的CNN的visual encoder,将一张图像作为输入,产生一个image-level visual features,作者这里使用的是在ImageNet上预训练的ResNet,后接一个1x1卷积和2x2max pooling层
VD
给定一个visual feature vi,通过搜索D中最近邻来计算它的映射索引(就是找到矩阵D中与vi距离最近的嵌入向量)
该映射函数表示为:
使用该嵌入向量来表示visual feature
反映射函数:(给定矩阵中的索引j,找到一个batch内索引为j的visual features)
使用f(V)来表示编码的视觉特征
VD使用随机初始化,然后进一步在一个batch内进行动量更新
由于argmin操作不可微分,梯度反向传播将会在VD处停止,为了使visual encoder可训练,采用一下公式来更新f(vi)
视觉词典基于特征相似度对视觉特征图进行在线聚类,并以其聚类中心表示每个特征向量。将具有相似语义的特征向量聚合到同一个聚类中,聚类索引可视为虚拟视觉语义标签。由于聚类会受到视觉语言学习任务的影响,每个embedding向量学习到的语义更适合于跨模态理解和对齐。(简单的说就是聚类之后的特征更适合多模态任务的学习,因为视觉特征被聚类了,同一类的特征具有相似的语义信息,降低了学习的难度 )。
由于VD的嵌入向量在一开始是随机初始化的,为了避免对visual features造成影响,因此冻结了ResNet前10个epoch的参数
Pre-training Pipeline
使用2-D position embedding来编码visual token的空间信息
文本特征使用BERT进行编码
将VD嵌入和单词嵌入拼接起来输入到跨模态Transformer中,并添加了[CLS]和[SEP]
Masked Language Modeling.
预测mask掉的word
Masked visual Modeling.
预测mask掉的视觉特征
Image-Text Matching
在联合特征[CLS]上应用二分类器,预测输入的视频和文本是否匹配