| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 2021:An Improved Attention for Visual Question Answering -> 正文阅读 |
|
[人工智能]2021:An Improved Attention for Visual Question Answering |
摘要? ? ? ? 注意力捕获模态内和模态间的依赖关系,可能已经成为解决视觉问答的最广泛使用的机制。本文中,我们提出一种改善的基于注意力的结构,我们在编码器-解码器框架中加入一个Attention on Attention(AoA)模块,能够决定注意力结果和查询之间的关系,注意力模块为每个查询生成加权平均值。另一方面,AoA模块首先利用注意力结果和当前上下文生成一个信息向量和一个注意力门,然后添加另一个注意力通过将两者相乘来生成最终参与的信息。我们也提出了多模态融合模块来结合视觉和文本信息,融合模块的目标是动态决定应该从每个模态中考虑多少。在VQA v2数据集上的实验证明我们的方法相比于基线方法实现了更好的表现。 一、介绍? ? ? ? 受深度神经网络近期优点的启发,基于注意力的方法被广泛用于解决计算机视觉问题,VQA中的注意力方法现在变为大多结构的重要组成部分。[27]首先将基于注意力的方法引入VQA,[17,36]使用协同注意力,这些更全局、协同注意的方法的局限性是,它们无法建模单个图像区域和单词之间的交互和注意力。为解决此问题,密集协同注意力被提出(BAN,DCN),其中每个图像区域都能与问题中的任何单词交互,能够更好理解和推理图像-问题关系。 ? ? ? ? 然而密集协同注意力的瓶颈在于缺乏每个模态的自注意力。因此[34]提出MCAN,MCA模块级联组成。然而,虽然有表现力且高度灵活,但这种形式的注意力仍然有一个局限性。具体来说,结果总是一个模型参与的值对的加权组合,当模型参与的没有密切相关的上下文时(如没有上下文单词或图像区域存在的一个单词),可能会出现问题。在这种情况下,注意力会导致有噪声或更分散的输出向量,从而对性能产生负面影响。 ? ? ? ? 使用[10]的启发,本文我们利用AoA模块的想法来解决上述限制。AoA模块多次级联形成一个在注意力网络中的新的模块化协同注意力(MCAoAN),是对模块化协同注意力网络(MCAN)的改进扩展。AoA模块通过使用类似于GLU[6]的两个独立的线性变换生成一个信息向量和一个注意力门,注意力结果和查询上下文连接在一起,通过一个线性变化,我们可以得到一个信息向量,同样地,通过另一个sigmoid激活函数的线性变换,获得一个注意力门。通过元素乘法,我们最终得到了参与的信息,其中建立了多个注意力头的关系,只保留最相关的一个,丢弃所有不相关的注意力结果。因此,模型能够预测更准确的答案。我们还提出了一种多模态融合机制,在结合图像和语言特征时动态调节模态重要性。 ? ? ? ? 我们的贡献:(1)我们引入了Attention on Attention模块来形成一个在注意力网络上的模块化协同注意力(MCAoAN)。MCAoAN捕获视觉和语言模态的模态内和模态间的注意力,也能减轻来自不相关上下文的信息。(2)我们也提出一种基于多模态注意力的融合机制,以结合图像和问题特征。我们的融合网络动态地决定怎样对每个模态加权,生成最终的特征表示来预测正确答案。(3)在VQA-v2数据集上的实验表明,提出的方法优于竞争者,在视觉问答方面明显优于基线方法。 二、相关工作2.1 视觉问答? ? ? ? [33](2016)引入了一个注意力网络来支持图像问答任务的多步推理。[26](2019)提出了一个模型不可知框架,依赖于周期一致性来学习VQA模型。[31](2019)提出一种差分网络(DN),一种新的即插即用模块,使用成对特征间的差异来降低噪声和学习特征间的内部依赖性。 ? ? ? ? [17](2016)引入一个协同注意力网络以分层的方式共同推理图像和问题注意力。[36](2018)提出一种通过应用问题嵌入的自注意力和问题条件注意力来减少不相关特征的架构。[18(2017), 25(2017)]提出多模态注意力,同时关注图像、问题或答案特征。最近,[7(2016),12(2016),35(2017) ]提出双线性注意力来定位更准确的区域。[20](2017)提出一种对多模态推理和匹配的多步双重关注。这些基于共同注意力的方法的一个主要局限性在于缺乏不同模态间的密集交互。[34(2019),11(2018)]提出密集协同注意力方法,但在与查询不相关的情况下,密集协同注意力可以生成不相关的向量。通过[10](2019)的启发,本文我们结合AoA模块和模块化协同注意力网络来提升现有结构。 2.2 VQA的融合策略? ? ? ? 现有的VQA模型的融合可以分为两类:线性和双线性。线性模型如[17(2016),33(2016)]和[15(2016),20(2017)]分别使用了元素求和与元素相乘。双线性使用更细粒度的方法,如[7](2016)使用外积融合多模态特征,[12](2016)使用循环投影,然后是元素级乘法。[35](2017)提出一种具有协同注意力学习的多模态分解双线性池化方法(MFB)。[31](2019)提出了一种基于差分网络的融合方法,首先计算图像和文本特征元素之间的差异,然后结合差分表示来预测最终答案。 ? ? ? ? 本文提出一种基于注意力的多模态融合方法通过动态决定对每个模态分配多少权重来结合图像和问题特征,使用加权的特征来预测最终答案。 三、方法? ? ? ? MCAoAN包含MOAoA层,该层由两个主要注意力单元组成:在注意力上的自注意力(SAoA)和在注意力上的引导注意力(GAoA)单元。 3.1 SAoA和GAoA单元? ? ? ? SAoS单元是多头自注意力机制的扩充,多头注意力包含N个平行的头,每个头可以表示为一个缩放的点积注意力函数: ?Q,K,v分别对应于query,key,value,这个注意力函数的输出是加权平均向量。首先计算Q和K之间的相似性分数,使用softmax归一化,然后将标准化分数和V一起使用,生成加权平均向量V',d是Q和K的维度。 ? ? ? ? 多头注意力模块总是生成加权向量,不管在Q和K/V之间发现任何的关系,因此此方法容易误导或产生错误答案。因此我们结合另一个注意力函数来衡量注意力结果V‘和查询Q之间的关系。最终的AoA块将通过两个独立的线性变换生成一个信息向量I和注意力门G: ? ? ? ? ?AoA块通过信息向量和注意力门之间的元素乘法添加了另外的注意力,而且,SAoA在AoA块之后使用一个点状前馈层,只考虑输入特征X。 ? ? ? ? 我们也提出另一种注意力单元--在注意力中的引导注意力(GAoA)单元,与SAoA不同的是,GAoA在两个输入特征X和Y(X通过Y引导)之后使用AoA块和一个点状前馈层。在两个注意力单元中,前馈层将AoA块的输出特征应用两个全连接层以及ReLU和dropout函数(即FC(4d)-ReLU-dropout(0.1)-FC(d))。 ? ? ? ? ?SAoA将输入特征X和输出的参与特征Z作为X,GAoA将两个输入特征X和Y以及生成的参与特征Z作为由Y特征引导的输入X,X和Y分别表示图像和问题特征。 ?3.2 MCAoA层? ? ? ? MCAoA层(图3)包含两个注意力单元,MCAoA被设计为处理多模态的相互作用。我们使用级联的MCAoA层。对于两个输入特征,MCAoA层首先使用两个单独的SAoA单元来分别标注X和Y的模态内交互,然后使用GAoA单元来捕获Y引导X特征的模态间关系。 ?3.3 MCAoAN? ? ? ? 首先将输入预处理为适当的特征表示,使用将ResNet-101作为骨干在Visual Genome数据集预训练的Faster R-CNN来处理输入图像。从Faster R-CNN中检测到的对象的中间特征被认为是视觉表示。根据[34],我们考虑一个阈值来获得被检测对象的动态数量,最终图像特征由特征矩阵X表示。 ? ? ? ? 输入问题首先被标记化,然后裁剪到最多14个单词,预训练好的GloVe嵌入用于将每个词转换为一个向量表示,导致一个单词序列的大小为n*300的最终表示。将单词嵌入输入到一层LSTM网络,通过捕获所有单词的输出特征,生成最终的查询特征矩阵。 ? ? ? ? ?将两个输入特征传递给包含级联MCAoA层的编码器-解码器模块,编码器通过叠加L个SAoA单元来学习注意力问题特征YL,解码器通过使用查询特征YL堆叠L个GAoA单元来学习参与的图像特征XL。 ?3.4 多模态融合? ? ? ? 本文提出两种多模态融合网络:1)多模态注意力融合,2)多模态Mutan融合。根据[34],首先使用两层的MLP(如FC(d)-ReLU-Dropout(0.1)-FC(1)),生成参与特征X'和Y': ? ? ? ? ?现在我们有来自两个模态的丰富参与特征,同时每种模态应该使用来相互产生注意力以进行更好的预测。因此,我们需要决定,从每种模态中应该使用多少信息。根据[19],在多模态融合中,我们对X'和Y'应用连接,然后是一系列全连接层(如FC(1024)-Dropout(0.2)-FC(512)-Dropout(0.2)-FC(2)-Softmax)(图5(a))。这些操作的输出是一个二维特征向量,对应于两种模态对答案预测的重要性。在此之后,我们为每个模态生成参与特征(如A和B)的加权平均值,类似于式4和5,A和B与参与的视觉和文本特征X'和Y'结合,最后,融合的特征被送入一个LayerNorm来稳定训练,然后建立一个全连接层和sigmoid激活来生成预测答案Z。我们使用二值交叉熵损失(BCE)来训练网络。 ? ? ? ? ?另一方面,我们也利用一种强大的融合技术,MUTAN融合。这个网络与以上模型相似,但用全连接层的MUTAN融合取代了连接(如Dropout(0.2)-FC(2)-Softmax)。 四、实验4.1 数据集? ? ? ? VQA v2数据集 4.2 实验和实现细节? ? ? ? 跟随[34]的实验控制,多头注意力中头的数量是8,多头和AoA块的潜在维度均为512,因此每个头的维度为64,答案词汇表是3129. ? ? ? ??为了训练MCAoA网络,我们使用了β1=0.9和β2=0.98的Adam求解器。我们将我们的网络训练到13个epoch,批大小为64,大约需要24小时来完成训练。学习速率设置为min(2.5Te?5,1e?4),其中T表示当前epoch。当10≤T时,学习速率开始每2期衰减1/5。 4.3 消融研究? ? ? ? 级联层的数量(L):MCAoA层由L个堆叠的SAoA和GAoA单元组成。从表1中我们可以看出,最初,随着L值的增加,模型的性能也在提高,直到L=6。在那之后,性能就达到了饱和。我们在最终的模型中使用L=6。我们使用默认的[34]超参数的验证集。 ? ? ? ? ?每个单独组件的有效性:我们改进后的体系结构有两个重要的组成部分:(1)MCAoAN网络,由SAoA模块和GAoA模块以及(2)多模态融合结合图像和语言特征,在这里,我们描述了两种不同的融合机制:Mutan融合和多模式注意融合。表2在验证集上展示了单个组件的实验结果,并与MCAN比较。从表中看出,将SAoA和GAoA模块与MCAN相结合,提高了VQA系统的性能。 ? ? ? ? 此外,我们认为一种复杂的方法聚合语言和视觉特征来支持多模态推理,对于进一步提升性能至关重要。更具体地说,我们提出的具有两个多模态融合模块的MCAoAN在整个验证集上都优于基线约2%的精度,表示融合模块对于结合视觉和语言表示是重要的。多模态注意融合表现最好。我们提出的方法中的每个组件对于提高VQA系统的性能都很重要。 ?4.4 实验结果? ? ? ? 我们重新运行PyTorch实现,表3和表4分别显示了使用test-dev和test-std的实验结果。离线评估只支持验证集(如图2)。 ? ? ? ? 图6显示了使用我们的方法在验证集上的一些定性结果。从实验结果中,我们看出我们的方法优于其它基线方法。 ? ? ? ? 图7中我们还可视化了多模态融合,以比较MCAN[34]和我们提出的多模态注意融合如何能够正确地关注图像和问题元素。图像上和问题前面的分数代表每种模态的权重。我们也通过边界框和词显示注意力,图像中较亮的边界框、绿色和较深的颜色代表了更高的注意力分数。我们可以看到,我们提出的方法能够更多地关注正确的答案。此外,图8还显示了使用我们的方法进行的典型失败案例。 五、结论?? ? ? ? 本文中,我们提出一种改善的基于端到端的注意力的结构,我们提出的模型包括对具有多模态融合架构的注意力模块的模化协同注意力。在本文中,我们提出了两种版本的多模态融合:多模态注意融合和多模态mutan融合。实验结果表明,该模型中的各组件都提高了VQA系统的性能。此外,最终的网络在VQA-v2数据集上取得了显著的性能。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/27 12:49:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |