当前位置: 代码迷 >> 综合 >> 【论文】LXMERT
  详细解决方案

【论文】LXMERT

热度:5   发布时间:2023-12-13 03:40:34.0

【论文】Tan, Hao, and Mohit Bansal. Lxmert: Learning cross-modality encoder representations from
transformers. (pdf)


Why is LXMERT

和 ViLBERT 一样,LXMERT 主要也是为了解决两种模态的之间没有交互的问题。在 LXMERT 中作者通过 3 种编码器的叠加构建了一个大型的 transformer 模型,这三个编码器分别为:对象关系编码器,语言编码器和跨模态编码器。同时,作者设计了 5 种训练任务来使模型具有跨模态的能力:(1)masked crossmodality language modeling;(2)masked object prediction via RoI-feature regression;(3)masked object prediction via detected-label classification;(4)cross-modality matching;(5)image qa

Input Embeddings & Encoders

我们解释一下 object-level image embedding 的三个公式:首先,位置信息对于 masked object prediction 任务来说是十分重要的,但是 image embedding layer 和 attention layer 对位置是不敏感的,所以要融合 RoIl feature 和 position feature。同时,=考虑到两种特征的差异,先让它们各自经过一个层归一化投影到一个统一的向量上再做加和

Output Representation

如下图所示展示了 LXMERT 的预训练,LXMERT 具有分别针对语言,视觉和跨模态的 3 个输出。对于跨模态输出,我们在 words 之前附加一个特殊标记 [CLS](下图中间的输出分支的顶部黄色块),该特殊标记对应的特征向量用作跨模态输出

Pre-Training Strategies

Masked Cross-Modality LM

任务设置几乎与 BERT 相同,不过 LXMERT 具有跨模态的模型体系结构,能够通过视觉信息来辅助预测遮罩掉的词。如上图所示,很难从语言信息去推断遮罩掉的词是 carrot,但是通过视觉信息的相互作用就可以很明确知道被遮罩掉的这个词

Masked Object Prediction

通过 0.15 的概率随机遮罩图中检测到的物体(将 RoI feature 全部置为 0),模型通过视觉模态和语言模态的结合来推断出被遮蔽物体的特征和标签

这个任务分为两个子任务:

  • RoI Feature Regression,使用 L2 损失来预测被遮罩对象的 RoI feature fjf_jfj?,这一步不需要语言信息的帮助,可以使模型学习到对象之间的关系
  • Detected-Label Classification,结合了视觉信息和语义信息使用交叉熵损失预测被遮罩对象的标签,由于不同数据集对同一对象标注的 ground truth label 存在差异,所以所有的预测标签都采用 Faster RCNN 输出的标签
Cross-Modality Matching

为了判断模型文本信息与视觉信息的对齐效果,对每个句子,以 0.5 的概率用一个不匹配的句子替换它。然后,训练一个分类器来预测图像和句子是否相互匹配

Image Question Answering (QA)

在预训练的数据集中有将近 1/3 的样本是 image qa 这样的数据。作者也在后面的实验中表明 image qa 确实可以是模型具有更好的跨模态表征能力

Visualizing LXMERT Behavior

Language Encoder

下图说明了 LXMERT 的 language encoder 和 BERT encoder 有着相同的行为,对于同一句输入 “is it warm enough for him to be wearing shorts?”,第一行两个模型都将注意力放到了下一个词上,第二行两个模型都将注意力放到了上一个词上

Object-Relationship Encoder

作者根据注意力图中 attention scores 比较高的点绘出了如(b)所示的对象关系, 忽略了一些 attention scores 不高的对象。(b)图所示的关系连接精确地描绘出了一个场景图,可以认为 object-relationship encoder 还是学习到了一个不错的对象关系网络

Cross-Modality Encoder

作者做了如下的可视化结果,有 2 点发现:

  • 模型注意力通常集中在句子中的名词和代词上,这些词往往都会提供大量的信息
  • 当句子中出现不可数名词的时候,注意力往往会放到冠词上。这个行为就比较古怪,作者的解释是冠词可能像是一些 special tokens,例如 BERT 里面的 [CLS]、[SEP],提供了一个总的 attention layers 的信息