An Improved Attention for Visual Question Answering

 

An Improved Attention for Visual Question Answering

  • abstract

  • 本文考虑了可视化问答(VQA)问题。给定一个图像和一个自由形式的、开放式的、用自然语言表达的问题,VQA系统的目标是提供关于图像的这个问题的准确答案。这项工作具有挑战性,因为它需要同时和复杂的理解视觉和文字信息。注意力(Attention)捕捉了内部和模式间的依赖关系,可能成为解决这些挑战的最广泛使用的机制。在本文中,我们提出了一种改进的基于注意力的架构来解决VQA问题。我们在编码器-解码器框架中加入了注意力(AoA)模块,能够确定注意力结果和查询之间的关系。注意力模块为每个查询生成加权平均。AoA模块首先利用注意力结果和当前上下文生成信息向量和注意力门;然后再加上另一个注意事项,将两者相乘,生成最终的注意事项信息。我们还提出了多模态融合模块,以结合视觉和文字信息。这个融合模块的目标是动态地决定应该从每个模态考虑多少信息。在VQA-v2基准数据集上的大量实验表明,该方法达到了最先进的性能。
  • 一、intruduction

  • 不同的知觉模式可以捕获关于一个物体、事件或活动的各个方面的互补信息。因此,多模态表示在推理中往往表现得更好。多模态学习在计算机视觉中得到广泛应用,是许多视觉语言任务的基础,包括图像字幕\图像-文本匹配和视觉问题回答。视觉问题回答(VQA)可能是最具挑战性的,需要详细和复杂的图像和文本理解。问题可以是自由的、开放式的,这就要求VQA系统同时执行大量的人工智能任务(如细粒度识别、目标检测、活动识别、视觉常识推理等)来预测准确的答案。答案的格式也可以有不同的形式:一个单词、一个短语、是/否、多项选择或填空的。受深度神经网络优势的启发,基于注意力的方法被广泛用于解决许多计算机视觉问题,包括VQA。基于注意力的VQA方法是由Shih等人[27]首先提出的,现在它已经成为大多数体系结构的基本组件。最近的工作[17,36]包括共同注意结构,以产生视觉和文本形式的同时注意, 这提高了预测的准确性。这些更全局的共同注意方法的局限性是,它们无法建模单个图像区域和文本片段之间的交互和注意(例如,在单词标记级别)。为了解决这个问题,密集的共同注意网络
    (例如BAN [11], DCN[21])已经被提出,其中每个图像区域都能够与问题中的任何(和所有)单词进行交互。结果表明,该模型能更好地理解和推理图像问题之间的关系。这反过来又提高了VQA的性能。然而,这些密集的共同注意网络的瓶颈是在每个模态中缺乏自我注意,如图像中的区域-区域关系和问题[34]中的单词-单词关系。为了克服这个问题,Yu等人提出了[34]
  • 为了克服这个问题,Yu等人提出了一种深度模块共同注意网络(MCAN),该网络由级联模块共同注意(MCA)层组成。MCA层是由两个通用注意单元:自我注意(self - attention, SA)和引导注意(guided attention, GA)组合而成的。SA能够捕获模态内的交互(例如,区域到区域和单词到单词),而GA能够通过使用多头注意架构捕获跨模态交互(例如,单词到区域和区域到单词)。虽然这种注意力的表达和高度灵活,但仍然有局限性。具体地说, 结果总是模型所涉及的价值对的加权组合。当模型所关注的上下文中没有紧密相关的上下文时(例如,不存在上下文中单词或图像区域的单词),这可能有问题。在这种情况下,注意力会导致噪音,或者更糟糕的是,分散输出向量,从而对性能产生负面影响
  • 受Huang等人[10]的启发,本文利用注意力上的注意力(AoA)模块的思想来解决上述局限性。AoA模块经过多次级联,形成了一种新的模块化共同注意网络(MCAoAN),它是模块化共同注意网络(MCAN)[34]的改进扩展。AoA模块通过使用两个独立的类似于GLU[6]的线性变换[10]生成一个信息向量和一个注意门。注意结果与查询上下文连接在一起,通过线性变换得到一个信息向量。同样地,通过另一个线性变换再加上一个sigmoid激活函数,我们可以得到一个注意力门。通过对元素进行乘法运算,最终得到注意头之间的关联信息,并保留关联度最高的注意头,丢弃所有不相关的注意结果。因此,该模型能够预测更准确的答案。我们还提出了一种多模态融合机制,在结合图像和语言特征的同时动态调节情态重要性。
  • Contributions
    引入注意模块,形成模块化的注意网络(MCAoAN)。MCAoAN捕捉视觉和语言模态内部和之间的模态内和模态间的注意力,并且能够减轻来自无关上下文的信息流
    还提出了一种基于多模态注意力的融合机制,以融合图像和问题特征,融合网络动态地决定如何加权每个模态,以生成最终的特征表示来预测正确的答案。
    在VQA-v2基准数据集[8]上的大量实验表明,该方法优于竞争对手,建立了可视化问题回答的新水平。
  • 二、Related Works
  • 在本节中,我们首先简要描述现有的可视化问题回答方法,然后回顾融合图像和问题特征的经典方法
    • 2.1. Visual Question Answering 
    • Antol等人[2]首先引入了视觉问题回答(visual question answer, VQA)的任务,通过将计算机视觉与自然语言处理相结合,模拟人类对特定视觉环境的理解。该模型使用CNN进行特征提取,使用LSTM进行语言处理。这些特征被结合使用元素明智的乘法服务于分类答案。在过去的几年里,人们提出了大量的深度神经网络来提高VQA的性能。此外,基于注意力的方法被广泛用于解决各种序列学习任务,包括VQA。注意力模块的目标是识别图像或文本内容中最相关的部分。Yang等人[33]在图像问答任务中引入了一个支持多步推理的注意力网络。在[1]中提出了自下而上和自上而下相结合的注意机制。采用自底向上的注意机制,利用Faster R-CNN[24]构造一组显著性图像区域。另一方面,利用任务特定上下文,通过topdown机制预测图像区域上的注意分布。Shah等人提出了一个与模型无关的框架[26],该框架依赖于周期一致性来学习VQA模型。他们的模型不仅回答了提出的问题,而且根据答案生成了不同的、语义相似的问题变体。他们强制网络匹配预测的答案与原始问题的地面真实答案。Wu等人[31]提出了一种差分网络(DN),这是一种新颖的即plug - and - play模块,利用成对特征之间的差异来降低噪声和学习特征之间的相互依赖性。提取图像和文本特征分别使用Faster R-CNN[24]和GRU[5]。这两种特征都通过一个微分模块进行细化,最后结合起来预测答案。最近,基于共同注意的方法变得流行起来。联合注意模型的目标是同时学习图像和问题注意。Lu等人提出了一个共同推理的共同注意网络以图像和问题等级的方式询问注意力。
    • Yu等人[36]提出了一种将自注意应用于问题嵌入和问题条件注意应用于图像嵌入来减少无关特征的架构。[18,25]提出了多模态注意,同时关注图像、问题或答案特征。最近,[7,12,35]提出了双线性注意力来定位更精确的目标。在[20]中提出了一种多模态推理与匹配的多阶段双重注意算法。这些基于共同注意的方法的一个主要限制是缺乏不同模式之间密集的相互作用。为了克服这一限制,文献[34,11]提出了基于密集联合注意的方法。但是密集的共同注意会在与问题无关的情况下产生不相关的向量。为了克服这一问题,本文在[10]的激励下,将注意-注意(Attention-on-Attention, AoA)模块与模块化的共同注意网络相结合,对现有的架构进行改进。我们修订的注意力机制在VQA中提供了显著更好的表现。
    • 2.2. Fusion Strategies for VQA
    • 为了综合多模态特征,需要复杂的融合技术。根据融合类型的不同,现有的VQA模型可分为两类:线性和双线性[31]。线性模型使用简单的融合方法来结合图像和问题特征。[17,33]和[15,20]中分别使用了简单的元素总和和元素乘法。另一方面,双线性模型采用更细粒度的方法融合图像和问题特征。Fukui等人[7]使用外部产品融合多模态特征。Kim等人使用的是低秩投影,然后是元素乘法。在[35]中提出了一种多模态分解双线性(MFB)池化方法和联合注意学习。Wu等人[31]提出了一种基于差分网络(DN)的融合(DF)方法,该方法首先计算图像和文本特征元素之间的差异,然后结合差分表示来预测最终结果。本文提出了一种基于注意力的多模态融合方法,通过动态确定各模态的权重,将图像和问题特征结合起来;加权特征用于预测最终答案。
    • 3. Our Approach
    • 在[10]的启发下,本文提出了模块化共同关注网络(MCAoAN)模块,该模块是模块化共同关注网络(MCAN)[34]的扩展。MCAoAN由模块化的共同注意(CoAttention on Attention, MCAoA)层构成,MCAoA层由两个主要注意单元组成:自我注意(Self - Attention on Attention, SAoA)和引导注意(Guided Attention on Attention, GAoA)单元。在本节中,我们首先讨论SAoA和GAoA单元。
    • 注意块上的自注意(SAoA),对X取输入特征X,对X取输出注意特征Z;和(b)注意块上的引导注意(GAoA),它取输入特征X和Y,并对Y特征引导的输入X生成关注特征Z。这里X和Y分别代表图像特征和问题特征。图3:注意力上的模块化共同注意(MCAoA)层的示意图。它由两个注意单元组成:自我SAoA单元和GAoA单元,其中Y和X分别表示问题和图像特征。
    • 3.1. SAoA and GAoA Units
      我们的SAoA单元(见图2(a))是多头自注意机制[34]的扩展。多头注意由N个平行头组成,每个头可以表示为一个比例点积注意函数
      :
      其中注意函数f(Q, K, V)作用于Q, K和V分别对应于查询、键和值。这个注意函数的输出是加权平均向量v0。为此,我们首先计算Q和K之间的相似分数;然后用Softmax将分数标准化。然后使用归一化分数与V一起生成加权平均向量V 0。这里d是Q和K的维数;两个维度是相同的。不管是否找到Q和K/V之间的关系,多头注意力模块总是生成加权向量。所以这种方法很容易误导或产生错误的VQA答案。因此,继[10]之后,我们在多头注意力模块上加入了另一个注意力函数来测量注意力结果(V 0)和查询(Q)之间的关系。最终的AoA块将通过两个单独的线性变换生成一个信息向量(I)和一个注意门(G),可表示为
      其中WQ, WV0, WG, WG0 Rd d, bI, bG Rd. d为Q, V0的维数,其中V0 = fatt,σ为sigmoid函数。AoA块通过信息向量和注意门之间的元素乘法来增加另一个注意。SAoA在AoA块后使用点态前馈层,只考虑输入特征X = [x1, x2,…], xm) R。
      继[34]之后,我们还提出了另一个注意单元,即GAoA (guided attention on attention,引导性注意)单元(见图2(b))。与SAoA单元不同,GAoA使用AoA块和一个点前馈层,以及两个输入特征X和Y = [y1, y2,…其中X由Y引导。在这两个注意单元中,前馈层利用AoA块的输出特性,采用ReLU和dropout功能(即FC(4d))、ReLU U dropout(0.1)) FC(d))两个完全连接的层。 
    • 3.2. MCAoA layers
      模块化共同注意注意(MCAoA)层(见图3)由3.1节讨论的两个注意单元组成。这里X和Y分别代表图像和问题特征。MCAoA层设计用于处理多模态交互。我们使用级联MCAoA层,即前一个MCAoA的输出作为下一个MCAoA的输入MCAoA层。对于两个输入特性,MCAoA层首先使用两个独立的SAoA单元分别描述X和Y的模态内交互,然后使用GAoA单元捕获Y引导X特性的模态间关系。
      3.3. MCAoAN
      在本节中,我们将讨论我们提出的注意力网络上的模块化共同关注(MCAoAN)(见图4),它是由[34]驱动的。首先,我们必须对输入(即图像和查询问题)进行预处理,使之成为适当的特征表示。我们使用Faster R-CNN[24]和ResNet-101作为主干,它在视觉基因组数据集[13]上预先训练,以处理输入图像。Faster R-CNN中被检测目标的中间特征被认为是视觉特征表示。在[34]之后,我们还考虑了一个阈值来获取被检测对象的动态数量,例如xi对应于第i个对象特征。最后的图像特征由特征矩阵x表示。输入查询问题首先被标记化,然后被削减到最多14个单词。使用预先训练好的手套嵌入[22]将每个单词转换为向量表示。这将导致一个单词序列的大小最终表示为n300,其中n[1,14]表示序列中的单词数量。该算法将单词嵌入输入到一层LSTM网络[9]中,捕获所有单词的输出特征,生成最终的查询特征矩阵Y。
      这两个输入特性都传递给编码-解码器模块,该模块包含级联MCAoA层。与[34]相似,编码器通过叠加SAoA单元的L个数来学习注意力问题特征YL。另一方面,解码器利用查询特征YL对GAoA单元的L个数进行叠加,学习关注图像特征XL。
       

      图4:注意力网络上模块化共同关注(MCAoAN)的总体架构示意图。该网络以图像和问题特征作为输入。图像特征是从一个更快的R-CNN[24]模型中提取出来的中间特征,每个问题的工作通过300维手套词嵌入[22]和一个LSTM单元[9]转换为向量。这两个特征都被送入由级联MCAoA层组成的编码-解码器模块,并生成XL和YL特征表示。XL和YL分别表示图像特征和问题特征,通过多模态融合模块组合生成渴望答案。

      3.4. Multi-modal Fusion.
      输出(即图像特征XL = [x1, x2,…], xm] Rm d和问题特征YL = [y1, y2, ...., yn] Rn d)从编码器-解码器中包含有关图像和查询区域的参与信息。因此,我们需要应用一种合适的融合机制来结合这两种特征表示。在本文中,我们提出了两种多模态融合网络(见图5)来聚合这两种模态的特征:(1)多模态注意融合和(2)多模态突变融合。在[34]之后,我们首先对XL和YL使用两层MLP(即FC(d)- ReLU - Dropout(0.1) - FC(1));生成关联特征X0和Y 0如下所示:
      现在我们从这两种形态中获得了丰富的被关注特征,同时每个形态都应该用来相互产生注意以便更好地预测。因此,我们必须决定,每一种形态应该使用多少信息。在[19]之后,在多模态注意融合中,我们在X0和Y0上应用连接,然后是一系列完全连接层(即FC(1024)) Dropout(0.2)) FC(512)) Dropout(0.2) FC(2)) Softmax)(见图5 (a))。这些操作的输出是一个二维的特征向量,它对应于两个模态对答案预测的重要性。然后,我们对类似于式4和5的每个模态生成参与特征(即A和B)的加权平均。A和B结合了被关注的视觉和文字特征X0和y0。最后,将融合特征输入到分层模中为了稳定训练后的完全连接层和sigmoid激活生成预测答案z,我们使用二元交叉熵损失(BCE)来训练网络。另一方面,我们也利用一个强大的融合技术,突变融合[3],在多模态突变融合中集成图像和问题特征(见fugure 5 (b))。该网络与上面的模型相似,只是用完全连接的层(即Dropout(0.2)) FC(2)) Softmax)替换了连接到MUTAN融合的层。
       
      实验数据:
    • Experiment and Implementation Details
       
      为了评估我们的方法,我们遵循了[34]提出的实验协议。多头注意力中的头数是8个。多头和的潜在维数AoA块是512。因此,每个头的尺寸为512/8 = 64。答案词汇表的大小是3129。为了训练MCAoA网络,我们使用Adam solverβ1 = 0.9和β2 = 0.98。我们训练我们的网络到13个epoch,批量大小为64。学习率设置为min(2.5T ee 5, 1ee 4),其中T表示当前时代。每隔2个时代,学习率开始下降1/5≤10 T。
    •  
  • 总结
  • 在本文中,我们提出了一种改进的基于注意力的端到端可视化问题回答架构。本文提出的方法包括注意模块上的模块协同注意和多模态融合结构。本文提出了多模态融合的两种版本:多模态注意融合和多模态变异融合。实验结果表明,该模型的各个组成部分提高了VQA系统的性能。此外,最终的网络在VQA-v2数据集上达到了最先进的性能。

 


### Cross Attention Mechanism Improvements and Research in Deep Learning Cross attention mechanisms have become a cornerstone in various deep learning architectures, especially within transformer-based models. These mechanisms allow for capturing dependencies between two different sequences or modalities by attending over one sequence while processing another. #### Enhanced Feature Interaction through Multi-Scale Fusion One improvement involves multi-scale fusion where cross attention operates across multiple scales of features extracted from convolutional neural networks (CNNs). This approach enhances the ability to capture both local and global context information effectively[^3]. By integrating CNN-derived hierarchical features with self-attention layers, this method can better handle complex patterns found in images or other types of structured data. #### Adaptive Cross Modal Attention Networks Another advancement includes adaptive cross-modal attention networks that dynamically adjust weights based on the relevance between paired elements from distinct domains such as vision and language tasks. Such adaptivity ensures more precise alignment during training phases which leads to improved performance when dealing with multimodal inputs like image captioning or visual question answering systems[^4]. #### Lightweight Parameter Sharing Schemes To address computational efficiency concerns associated with large scale applications involving extensive parameter sets required by standard implementations; researchers propose lightweight schemes utilizing shared parameters among encoder-decoder pairs along with sparse connections designed specifically around key query value projections used inside each layer's computation graph structure[^2]. ```python import torch.nn.functional as F def cross_attention(query, key, value): """ A simple implementation of cross-attention. Args: query: Tensor of shape [batch_size, seq_len_q, d_model] key: Tensor of shape [batch_size, seq_len_k, d_model] value: Tensor of shape [batch_size, seq_len_v, d_model] Returns: Context tensor after applying scaled dot-product attention. """ scores = torch.matmul(query, key.transpose(-2, -1)) / math.sqrt(key.size(-1)) attn_weights = F.softmax(scores, dim=-1) output = torch.matmul(attn_weights, value) return output ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值