| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 2019LXMERT:Learning Cross-Modality Encoder Representations from Transformers -> 正文阅读 |
|
[人工智能]2019LXMERT:Learning Cross-Modality Encoder Representations from Transformers |
摘要? ? ? ? 视觉-语言推理不仅需要视觉概念、语言语义的理解,更需要这两个模态的对齐和关系。因此,我们提出LXMERT(从Transformers中学习跨模态编码器表示)框架来学习视觉和语言的连接。在LXMERT中,我们构建了一个大规模的Transformer模型包含三个编码器:一个对象关系编码器、一个语言编码器和一个跨模态编码器。接下来,为了赋予我们模型连接视觉和语言语义的能力,我们通过五种不同的预训练任务(掩码语言建模、掩码对象预测(特征回归和标签分类)、跨模态匹配和图像问答),用大量图像和句子对进行预训练。这些任务有助于学习模态内和跨模态关系。在对预训练好的参数进行微调后,我们的模型在两个数据集上(如VQA和GQA)取得最先进的结果。还展示了我们预训练跨模态模型的通用性,将其适应一个视觉推理任务NLVR,并提高了性能。 一、介绍? ? ? ? 我们新的跨模态模型关注学习视觉和语言交互,尤其是一个图像和它的描述性句子的表示。为更好学习跨模态对齐,我们用五个任务预训练我们的模型,这种多模态预训练允许我们的模型从同一模态的可见元素或从其他模态的对齐的组件中推断出掩蔽特征。这有助于建立模态内部和跨模态间的关系。 二、模型结构2.1 输入嵌入? ? ? ? ??? ? ? ? ?LXMERT输入嵌入层将输入转化为两个特征序列:词级句子嵌入和对象级图像嵌入。 ? ? ? ? (1)词级句子嵌入:通过WordPiece tokenizer将句子分为词,然后通过嵌入层将单词和索引投影到向量上,然后添加到具有索引感知的词嵌入中: ? ? ? ? ?(2)对象级图像嵌入:对象检测器检测m个对象,每个对象通过位置特征(边界框坐标)pj和2048维RoI特征表示fj,我们通过添加两个全连接层的输出来学习一个具有位置感知的嵌入: ?包含的位置信息不仅在视觉推理中提供空间信息,对我们的掩蔽对象预测预训练任务也是必要的。 ?2.2 编码器? ? ? ? (1)单模态编码器:在嵌入层之后,首先应用两个transformer编码器:语言编码器和对象关系编码器。一个单模态的每一层(图1中的左边虚线块)包含一个自注意力子层和一个前馈子层(FF),其中前馈子层进一步由两个全连接层子层组成,在每个子层后面我们添加了一个残余连接和层标准化。 ? ? ? ? (2)跨模态编码器:每个跨模态层(图1右边虚线块)包含两个自注意力子层、一个双向跨注意力子层和两个前馈子层。我们堆叠这些跨模态层,在第k层内,首先应用双向跨注意力子层,它包含两个单向跨注意子层:从语言到视觉和从视觉到语言。查询和上下文向量是k-1层的输出(如语言特征hik-1和视觉特征vjk-1): ?跨注意力子层用于交换信息和对齐两个模态间的实体,以学习共同跨模态表示。为建立内部连接,自注意力子层被应用带跨注意力子层的输出中: ?最后第k层输出hki和vjk由?hki和v?jk之上的前馈子层(FF)输出,我们也在每个子层后添加一个残余连接和层标准化。 ?2.3 输出表示? ? ? ? 我们的LXMERT跨模态模型由三个输出:语言、视觉和跨模态。语言和视觉输出是跨模态编码器生成的特征序列,对于跨模态输出,我们附加了一个特殊的表示[CLS](图1底部分支中的顶部黄色块)在句子词之前,以及语言特征序列中,这个特殊符号的相应特征向量用作跨模态输出。 三、预训练策略? ? ? ? 为学习一个更好的理解视觉和语言间联系的初始化。 3.1 预训练任务?3.1.1 语言任务:掩码跨模态LM? ? ? ? 任务设置与BERT几乎相同,单词被随机掩蔽,概率为0.15,模型需要与预测这些掩蔽的单词。BRET是从非掩蔽的词中预测掩蔽的词,而LXMERT由于跨模态模型结构,也可以从视觉模态中预测掩蔽的词,以解决歧义。我们将此任务成称为掩蔽跨模态LM。 ?3.1.2 视觉任务:掩码对象预测? ? ? ? 与语言任务类似,模型可以从视觉对象,也能从语言模态中推断掩蔽的对象。从视觉端推断对象有助于学习对象关系,从语言端推断有助于学习跨模态对齐,因此,我们执行两个子任务:RoI特征回归以L2损失回归对象RoI特征fj,和检测的标签分类用交叉熵损失学习掩蔽的对象标签。 3.1.3 跨模态任务? ? ? ? 为学习一个更强的跨模态表示,我们用两个明确需要语言和视觉模态的任务对LXMERT模型进行预训练。 ? ? ? ? (1)跨模态匹配:对于每个句子,其概率为0.5,用一个不匹配的句子来代替它,然后训练一个分类器以预测是否图像和一个句子匹配。 ? ? ? ? (2)图像问答(QA):为扩大预训练数据集,在预训练数据中大约1/3的句子是关于图像的问题。我们要求模型预测这些与图像相关的问题的答案,当图像和问题匹配时。我们证明,用这副图像QA进行预训练可以使得更好的跨模态表示。 3.2 预训练数据? ? ? ? 对于每个图像问答数据集,我们将问题作为从图像和句子数据对中提取的句子,将图像QA预训练任务中的答案作为标签,这提供了一个大型的数据和语言数据集,包括9.18M的图像和句子对。 3.3 预训练程序? ? ? ? 对于模型结构,设NL,NX,NR分别为9,5,5.对于图像QA预训练任务,我们创建了一个包含9500个答案候选的联合答案表,涵盖了所有三个图像QA数据集中大约90%的问题。 ?四、实验设置和结果4.1?评估的数据集? ? ? ? VQA v2数据集,GQA,和NLVR 4.2 实现细节? ? ? ? 当训练GQA时,我们只将原始问题和原始图像作为输入,没有使用其他监督(如功能程序和场景图)。因为NLVR中的每条数据有两个自然图像和一个语言陈述s,我们使用LXMERT编码这两个图像-陈述对,然后基于两个跨模态输出的连接来训练一个分类器。 4.3 比较结果? ? ? ? 我们将单模态结果与之前在VQA/GQA测试-标准集和NLVR公共测试集的最好结果比较。 ? ? ? ? ?(1)VQA:SotA结果是BAN+Counter,在最近工作(MFH,Pythia,DFAF,Cycle-Consistency)上实现了最好的准确率。LXMERT对SotA增益了2.1%。虽然LXMERT中没有明确采用计数模块,但对计数相关的问题仍然表现较好。 ? ? ? ? (2)GQA:SotA结果来自BAN,我们的LXMERT比SotA增益了3.2%,比VQA上增益更高,可能因为GQA需要更多视觉推理。并且我们的框架对开放域问题更适合。 ? ? ? ? (3)NLVR:SotA方法是MaxEnt,现有方法的失败表明,如果没有大规模的预训练,在复杂的视觉和语言任务中,视觉和语言之间的联系可能不是端到端学习的。然而,随着我们建立跨模态连接的新预训练策略,我们显著提高了22%。另一个评估consistency度量了所有被正确预测的相关图像对所在的唯一句子的比例,我们的LXMERT模型改善了一致性。 五、分析5.1 BERT vs. LXMERT? ? ? ? ?BERT+BUTD:用BERT替换掉BUTD的GRU。还将BERT编码器与LSTM编码器比较。 ? ? ? ? BERT+CrossAtt:BUTD只考虑RoI特征,我们用我们的新位置元素嵌入和跨模态层来增强BERT+BUTD。 ? ? ? ? BERT+LXMERT:将BERT参数加载进LXMERT中,并在模型训练或预训练中用到它。from scratch:模型参数是随机初始化的。 ?5.2 图像QA预训练任务的影响? ? ? ? ?比较第二行和第四行,有QA损失的预训练改善了结果,在NLVR上有2.1%的改善表明,通过图像QA预训练的表示法更强,因为NLVR中的所有数据都没有用于预训练。 ? ? ? ? DA是数据增强,我们的LXMERT框架在预训练中使用多个QA数据集,只在特定数据集上微调,因为预训练和DA的总数据量是相似的,因此公平比较这两个策略,表明我们的QA与寻来你方法优于DA。DA微调与非DA微调相比,降低了结果。 5.3 视觉预训练任务的影响? ? ? ? ?两个视觉预训练任务(RoI特征回归和检测的标签分类)各自可以得到合理的结果,共同预训练实现最好的结果。 5.4 可视化LXMERT行为六、相关工作七、结论? ? ? ? 我们提出一种跨模态框架LXMERT,以学习视觉和语言的联系。我们建立基于Transformer编码器和我们新的跨模态编码器的模型,该模型然后在一个图像和句子对的大规模数据集上用不同的预训练任务进行预训练。经过实验,我们表明在两个图像数据集上实现了最先进结果,并展示了该模型的通用性,对具有挑战性的NLVR2视觉推理数据集有22%的改进。通过详细的分析和消融研究,我们也展示了几种模型组件和训练方法的有效性。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:31:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |