多模态学习——【NeurIPS 2019】ViLBERT

2021-09-10 11:29:26 浏览数 (1)

本文提出的ViLBERT是一个能够从视觉-语言数据集中学习到任务无关的视觉基础知识的联合模型。ViLBERT扩展了BERT模型以共同推理文本和图像。本文的关键创新点在于提出一种双流机制,即分别面向视觉和语言的流。该双流能够在共注意力transformer层进行交互:

可以看到上图,绿色是图像模态,紫色是文本模态。TRM,即 transformer block;Co-TRM 即 co-attentional transformer layer。

本文主要注意一下几点:

1、图像Embedding

本文基于一个预训练的目标检测网络生成图像区域特征及其视觉特征。与文本中的词不同,图像区域是天然无序的。为此本文使用了一个5维的向量对区域位置编码,从而实现图像空间位置的编码。这5个维度分别是归一化后的bounding boxes的左上角和右下角的坐标以及图像区域的覆盖占比。然后通过映射将其维数与视觉特征的维数相匹配,并对它们进行求和。此外,将特定的IMG token作为图像区域序列的起始,并用IMG token最后的输出表征整个图像。换句话说,带有空间位置编码信息的视觉特征的均值池化表征整个图像。

2、 文本模态流

文本模态流中,作者认为文本语义比图像更难理解,所以在Co-TRM之前会先经过 L−k个TRM的特征抽取

3、Co-TRM

ViLBERT修改BERT中query条件下的key-value注意力机制,将其发展成一个多模态共注意transformer模块:

4、预训练

训练ViLBERT时采用了2个预训练的任务:

遮蔽多模态建模任务

如上图a所示:遮蔽输入的15%,遮蔽的可能是图片,也可能是文字,用剩余部分对其进行预测,遮蔽图片时有90%的情况用0填充,10%的情况下该区域不变,模型根据语义预测图片区域的分布,使用最小化KL距离方法衡量预测的分布和真实分布的关系,这是由于语言常常能反应图片的高级语义,但无法描述精确的信息。

预测多模态对齐任务

多模态对齐任务如b所示,其目标是预测图像-文本对是否匹配对齐,即本文是否描述了图像。以图像特征序列的起始IMG token和文本序列的起始CLS token的输出作为视觉和语言输入的整体表征。借用vision-and-language模型中另一种常见结构,将IMG token的输出和CLS token的输出进行element-wise product作为最终的总体表征。再利用一个线性层预测图像和文本是否匹配。

思考

本文的思想给Transformer系提供了模态融合以及预训练的方案。不仅是文本和图像,如在表格数据模态上建模的AutoInt模型,在用户行为序列模态上建模的BST模型都可以尝试利用本文的方案~~

0 人点赞