LXMERT: Learning Cross-Modality Encoder Representationsfrom Transformers

LXMERT:学习Transformer的跨模态编码器表示

一、创新点

        构建了一个大规模Transformer模型,该模型由3个编码器组成:

                (1)对象关系编码器(object relationship encoder)

                (2)语言编码器(language encoder)

                (3)跨模态编码器(cross-modality encoder)

        然后用大量的 图像-句子对 对模型进行预训练 ,用来学习模态内和跨模态关系。

二、方法

三、 过程

1.Input Embeddings(输入嵌入)

        LXMERT中的输入嵌入层将输入(即图像和句子)转换为两个特征序列:单词级句子嵌入和对象级图像嵌入。这些嵌入特征将由后一编码层进一步处理。

  (1)Word-Level Sentence Embeddings

       一个句子首先被相同的WordPiece tokenizer拆分为长度为n的单词。接下来,如图1所示,通过嵌入子层将单词及其索引(index)i(在句子中的绝对位置)投影到向量上,然后添加到索引感知单词嵌入(index-aware word embeddings)中:

   (2)Object-Level Image Embeddings

       对象检测器从图像中检测m个对象(由图1中图像上的边界框表示)。每个对象由其位置特征(边界框坐标)和其2048维感兴趣区域(RoI)特征表示。我们不是直接使用RoI特征而不考虑其位置,而是通过添加2个完全连接层的输出来学习位置感知嵌入

       除了在视觉推理中提供空间信息外,我们的masked目标预测预训练任务还需要包含位置信息。由于图像嵌入层和后续的注意力层对其输入的绝对索引是不可知的,因此不指定目标的顺序。

       最后,在等式1中,在求和之前将层归一化应用于投影特征,以平衡两种不同类型特征的能量(energy)。

2.Encoders(编码器)

  (1)Background: Attention Layers

       注意力层旨在从与查询向量x相关的一组上下文向量中检索信息。它首先计算查询(query)向量x和每个上下文(context)向量之间的匹配分数。然后通过softmax标准化分数:

       注意力层的输出是上下文向量的加权和,即软最大归一化(softmax-normalized)得分:

   (2)Single-Modality Encoders(单模态编码器)

       单模态编码器中的每一层(图1中的左虚线框)包含一个自注意力(“self”)子层和一个前馈(“FF”)子层,其中前馈子层进一步由两个完全连接的子层组成。本文分别在语言编码器和对象关系编码器中采用NL和NR层,并且在每个子层之后添加了残差连接和层归一化(图1中“+”号)。

   (3)Cross-Modality Encoder(跨模态编码器)

       交叉模态编码器中的每个交叉模态层(图1中的右虚线框)由两个自注意力子层、一个双向交叉注意力子层和两个前馈子层组成。

       本文在编码器实现中,将这些跨模态层叠加Nx层(即,使用第k层的输出作为第(k + 1)层的输入)。

       在第k层中,首先应用了双向交叉注意力子层(“Cross”),它包含两个单向交叉注意力子层次:一个从语言到视觉,一个从视觉到语言。

       查询(query)向量和上下文(query)向量是第(k-1)层的输出(即语言特征和视觉特征)。

       交叉注意子层用于交换信息并在两种模态之间对齐实体,以便学习联合的交叉模态表示。为了进一步构建内部连接,然后将自注意力子层(“self”)应用于交叉注意子层的输出:

       最后,第k层输出是通过在之上的前馈子层(“FF”)产生的。然后在每个子层之后添加一个残差连接和层归一化,类似于单模态编码器。

3. Output Representations(输出表示)

       LXMERT跨模态模型分别具有语言、视觉和跨模态的三个输出。语言和视觉输出是由跨模态编码器生成的特征序列。

       对于跨模态输出,本文在句子单词之前添加了一个特殊标记[CLS](表示为图1底部分支中的顶部黄色块),语言特征序列中该特殊标记的对应特征向量被用作跨模态输出。

四、预训练

1.语言任务——Masked跨模态LM

       任务设置与BERT几乎相同:单词被概率为0.15的随机masked,模型被要求预测这些masked。除了在BERT中,从语言模态中的非masked词预测masked词,LXMERT具有跨模态模型体系结构,可以从视觉模态中预测masked词,从而解决模糊性问题。如上图2所示。很难从其语言上下文中确定masked词“胡萝卜”,但如果考虑视觉信息,则单词选择是明确的。因此,它有助于建立从视觉模态到语言模态的联系,将这项任务称为masked跨模态LM。

2.视觉任务——Masked目标预测

       通过概率为0.15的随机masked物体(即用零填充ROI特征)来预先训练视觉的一面,并要求模型预测这些masked目标的结构。与语言任务(即masked跨模态LM)相似,模型可以从可见目标或语言模态推断masked目标。从视觉方面推断目标有助于学习目标关系,从语言方面推断有助于学习跨模态对齐。因此,执行两个子任务:

        (1)RoI-Feature Regression:用L2损失回归对象ROI特征,

        (2)Detected-Label Classification:学习具有交叉熵损失的masked对象的标签。

       在“Detected-Label Classification”的子任务中,虽然大多数预训练图像都有目标级注释,但在不同的数据集中,注释目标的ground truth标签是不一致的(例如,标签类别的数目不同)。因为这些原因,采用Faster R-CNN把检测到的标签输出。

3.跨模态任务

       如上图2中最右边部分所示。为了学习一个强大的跨模态表示,本文用两个明确需要语言模态和视觉模态的任务对LXMERT模型进行了预训练。

       其中语言模态和视觉模态的任务分别为:

   (1)Cross-Modality Matching:

       对于每个句子,按照0.5的概率,用一个不匹配的句子替换它。然后,训练一个分类器来预测图像和句子是否相互匹配。这个任务是如BERT一样进行“下一句预测”。

   (2)Image Question Answering (QA):

       为了扩大预训练的数据集,预训练数据中大约1/3的句子是关于图像的问题。当图像和问题匹配时,要求模型预测这些图像相关问题的答案。实验表明,用这种图像QA进行预训练可以得到更好的跨模态表示。

五、实验结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值