论文笔记:Bilinear Attention Networks

news2024/11/16 17:44:59

更精简的论文学习笔记

1、摘要

多模态学习中的注意力网络提供了一种选择性地利用给定视觉信息的有效方法。然而,学习每一对多模态输入通道的注意力分布的计算成本是非常昂贵的。为了解决这个问题,共同注意力为每个模态建立了两个独立的注意分布,忽略了多模态输入之间的相互作用。在本文中,我们提出了双线性注意力网络(BAN),它可以找到双线性注意力分布来无缝地利用给定地视觉语言信息。BAN考虑两组输入通道之间的双线性交互,而低秩双线性池化提取每对通道地联合表示。此外,我们提出了一种多模态残差网络的变体,以有效地利用BAN的注意力图。在VQA 2.0和Flickr30k实体数据集上定量和定性地评估模型,表明BAN显著优于以前的方法,并在这两个数据集上达到了新的水平。

2、介绍

由于视觉和自然语言是人类互动的主要方式,对视觉和自然语言信息的理解和推理成为一个关键的挑战。例如,视觉问题回答涉及到视觉和语言的交叉问题。人们希望机器能够利用基于视觉的信息回答给定的问题,比如“谁戴着眼镜?”,“雨伞是不是倒了?”或者“床上有几个孩子?”。
由于这个原因,基于视觉注意力的模型已经成功地完成了多模态学习任务,在模型1定义的图像的空间地图中识别出选择性区域。此外,文本注意可以与视觉注意一起考虑。共同注意力网络的注意机制同时推断出每种模态的视觉和文本注意分布。除了部分图像区域外,共同注意网络还选择性地关注问题词。然而,共同注意忽略了单词和视觉区域之间的相互作用,以避免增加计算复杂度。
在本文中,我们将共同注意的思想扩展到双线性注意,双线性注意考虑了每一对多模态通道,如疑问词对和图像区域对。当给定问题涉及由多个词表示的多个视觉概念时,使用每个词的视觉注意分布比使用单个压缩注意分布的推理能更好地挖掘相关信息。
在这种背景下,我们提出了双线性注意力网络(BAN),在低秩双线性池化的基础上使用双线性注意力分布。BAN利用两组输入通道之间的双线性交互,而低秩双线性池化提取每对通道的联合表示。此外,提出了一种多模态残差网络(MRN)的变体,以有效地利用BAN的多个双线性注意图(通过连接被关注的特征来使用多个注意图)。由于所提出的残差学习方法利用残差求和而不是串联,因此可以有效地学习到参数高效和性能有效的八目BAN。关于双视图BAN的概述,参考图1.
在这里插入图片描述
上图中,双目BAN,采用目标检测特征和GRU隐藏向量两个多通道输入,得到双线性注意图和联合表示,供分类器使用。
提出双线性注意力网络(BAN)来学习和使用双线性注意力分布,在低秩双线性池化技术的基础上。

  • 提出一种多模态残差网络(MRN)的变体,以有效地利用我们的模型生成的双线性注意图。与以往的工作不同,我们的方法成功地利用了多达8个注意图
  • 最后,在一个大型且竞争激烈的VQA2.0数据集上验证该方法。模型达到了保持模型结构简单性的新水平。
  • 此外,在Flick30k实体上的双线性注意图的视觉基础优于先前的方法,同时,利用多通道输入的处理推理速度提高了25.37%。

3、低秩双线性池化

低秩双线性池及其在注意力网络中的应用,它使用单通道输入(问题向量)结合其他多通道输入(图像特征)作为单通道中间表示(出席特征)。

(1)低秩双线性模型

前人提出了一种低秩双线性模型,降低双线性权重矩阵Wi的秩,使其具有规律性。为此,Wi被替换为两个较小的矩阵Ui和Vi的转置的乘法。因此,这种替换使得Wi的秩最大为d<=min(N,M).对于标量输出fi(省略偏置项而不失一般性)在这里插入图片描述
在这里插入图片描述
。表示哈德曼乘积(逐元素乘法)

(2)低秩双线性池化

对于输出向量f,引入池化矩阵P
在这里插入图片描述
它允许U和V是二维张量,通过对于输出向量f引入向量P,显著减少参数的数量。

(3)单一注意力网络

注意力提供了一种有效的机制,通过选择性地利用给定的信息来减少输入通道。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果G>1,则使用多个注意头,则:
在这里插入图片描述
最后,两个单通道输入x、y可通过其他低秩双线性池化获得联合表示用于分类器。

4、双线性注意力网络

在这里插入图片描述
在这里插入图片描述

5、相关工作

在这里插入图片描述

6、实验

(1)数据集

  • VQA2.0
    -评估指标考虑人与人之间的可变性,定义:
    Accuracy(ans) = min(#humans that said ans/3,1)
  • Flickr30k Entities
    它由31783张图像和244035个答案组成,将句子中的多个实体映射到图像的方框上,以指示它们之间的对应关系。任务是为每个实体定位相应的框。通过这种方式,文本信息的视觉基础得到了定量测量。根据评价指标,如果一个预测框与其中一个真实基准框的重叠区域IoU大于等于0.5,则给定实体的预测是正确的,这个指标叫做Recall@1。如果允许K个预测找到至少一个正确的,则称为Recall@K。我们通过Recall@1、5和10来比较最新的技术水平。如果检测器提出候选盒进行预测,则性能的上界取决于目标检测的性能。

(2)预处理

  • 问题嵌入
    对于VQA,我们使用Glove词嵌入和门控循环单元的输出来得到问题嵌入,将问题最多嵌入为14个单词向量,短于14个单词的向量用0补齐。对于Flickr30k,使用完整的句子长度,最大82。我们标记每个答案短语末尾的标记位置。然后,我们使用这些位置选择GRU输出通道的一个子集,使通道的数量等于句子中实体的数量。单词嵌入和GRU在训练中进行了微调。
  • 图像特征
    我们使用自底向上的注意力机制提取图像特征。这些特征是Faster R-CNN的输出,使用Visual Genome进行预训练。设置每张图的目标数目范围介于[10,100]。为避免填充部分对于模型的训练产生负面影响,在logits中的填充位置使用负无穷大的值,这样在应用softmax后,这些位置对应的概率值就会趋向于0。

(3)非线性和分类器

  • 非线性
    在这里插入图片描述
  • 分类器
    在VQA任务中,采用两层的多层感知机(MLP)作为用于生成最终联合表示的分类器,激活函数采用ReLU。分类器的输出数量由数据集中某个答案在唯一问题的最小出现次数确定,而这个答案在整个数据集中出现了9次,因此分类器的输出维度为3129。损失函数采用二元交叉熵。
    对于Flickr30k Entities任务,使用双线性注意力图的输出,采用二元交叉熵作为损失函数。

(4)超参数设置和正则化策略

在这里插入图片描述

7、VQA结果和讨论

(1)量化结果

  • 与最先进技术的比较
    表格1中的第一行展示了2017年VQA挑战的获胜架构。BAN明显优于这个基准,并成功地利用了高达八个双线性注意力图,通过注意力的残差学习来改善性能。
    在这里插入图片描述
    如表3所示,BAN在性能上远远优于使用相同bottom-up注意力特征的最新模型。BAN-Glove使用300维的Glove单词嵌入和这些嵌入的语义封闭混合的串联形式(见附录A.1)。请注意,表3中的竞争性模型中可以找到类似的方法,它们对相同的600维词嵌入采用不同的初始化策略。BAN-Glove-Counter同时使用了先前的600维词嵌入和计数模块,该模块利用来自特征提取器的检测到的对象框的空间信息。计数机制的学习表示c ∈ R^(φ+1)经过线性投影并在应用ReLU后添加到联合表示中(见附录A.2中的方程15)
    在这里插入图片描述
    在表5(附录)中,我们与VQA Challenge 2017和2018的排行榜条目进行比较,我们在提交时获得了第一名(由于挑战条目不可见,我们的条目未显示在排行榜上)。
    在这里插入图片描述
  • 去其他注意力模型的比较
    与其他注意力方法的比较。单一注意力与Kim等人的具有相似的架构,其中使用问题嵌入向量来计算图像的多个特征的注意力权重。协同注意力具有与Yu等人[39]相同的机制,类似于Lu等人,Xu和Saenko,其中多个问题嵌入通过自注意力机制组合为单个嵌入向量,然后应用单一视觉注意力。表2证实双线性注意力明显优于任何其他注意力方法。协同注意力略优于简单的单一注意力。
    在这里插入图片描述
    在图2a中,协同注意力(绿色)比其他方法更严重地受到过拟合的影响,而双线性注意力(蓝色)相比其他方法更加规范化。在图2b中,BAN是各种注意力方法中最有效的参数之一。请注意,四个glimpse的BAN比一个glimpse的BAN更节省参数的使用。
    在这里插入图片描述
    图2:(a)学习曲线。双线性注意力(bi-att)比单一注意力(uni-att)和协同注意力(co-att)更能抵御过拟合。 (b)参数数量的验证得分。误差栏表示在三个随机初始化模型之间的标准差,尽管对于超过15M个参数来说,它太小而难以注意到。 (c)用于评估的前N次glimpses(x轴)的剖析研究。 (d)四次glimpse BAN中每个注意力图的信息熵(y轴)。多个注意力图的熵趋于某些水平。

(2)注意力的残差学习

  • 与其他方法的比较
    在表2的第二部分中,注意力的残差学习明显优于其他方法,即sum和concatenation(concat)。然而,sum和concat之间的差异并不显著。请注意,concat的参数数量大于其他方法,因为分类器的输入尺寸增加了。
    在这里插入图片描述
    在这里插入图片描述

  • 消融实验
    残差学习的一个有趣特性是对于任意剖析都具有鲁棒性。为了了解相关贡献,我们观察进行增量消融时验证得分的学习曲线。首先,我们使用训练集训练{1,2,4,8,12}-glimpse模型。然后,我们使用前N个注意力图在验证集上评估模型。因此,中间表示fN直接馈送到分类器,而不是fG。如图2c所示,第一个glimpse的准确度增益最高,随着使用的glimpses数量的增加,增益逐渐减小。

  • 注意力的熵
    我们分析了四次glimpse BAN中注意力分布的信息熵。如图2d所示,验证集中每个注意力的平均熵趋于不同水平的值。这个结果在其他数量的glimpse模型中也可重复观察到。我们的猜测是,多个注意力图对模型的学习并不均等地做出相似的贡献,而是对多步骤注意力的残差学习有同样的贡献。我们认为这是一个新颖的观察,其中残差学习被用于堆叠的注意力网络。

(3)定性分析

图3展示了一个两次glimpse的BAN的可视化结果。问题是“滑板男子穿什么颜色的裤子”。问题中的关键词和内容词,例如“what”、“pants”、“guy”、“skateboarding”,以及图像中滑板者穿的裤子都受到了关注。请注意,框2(橙色)捕捉到了底部坐着的男子的裤子。
在这里插入图片描述
图3中的结果,即两次glimpse的BAN的双线性注意力图的可视化。图中左右两组分别表示第一个和第二个双线性注意力图,同时显示了可视化的图像。在每组中,右侧是对数缩放的注意力图,左侧是可视化的图像。通过边缘化确定的第一个注意力图中最显著的六个框在两个图像上都进行了可视化以进行比较。模型给出了正确的答案,即裤子的颜色是褐色。

8、Flickr30k的结果及讨论

为了检验双线性注意力图捕捉视觉-语言交互的能力,我们在Flickr30k Entities上进行了实验。我们的实验结果表明,在推理速度较高的情况下,BAN在短语定位任务上的性能远远超过了先前的最先进技术,差距达到了4.48%。

  • 性能

在表4中,我们与其他先前的方法进行了比较。我们的双线性注意力图用于预测句子中短语实体的边界框,在Recall@1取得了69.69%的新水平。考虑到BAN没有使用任何额外的特征,如边界框大小、颜色、分割或姿态估计这个结果是显著的。请注意,Query-Adaptive RCNN和我们的现成对象检测器 都是基于 Faster RCNN 并在 Visual Genome上进行预训练的。与 Query-Adaptive RCNN 相比,我们对象检测器的参数是固定的,并且仅用于提取 10-100 个视觉特征和相应的边界框提议。
在这里插入图片描述
表4:Flickr30k Entities的测试分割结果。我们报告了我们三个随机初始化模型的平均性能(R@1的标准差为0.17)。给出了目标检测器断言的性能上限。请注意,Hinami和Satoh以及我们的检测器都基于 Faster RCNN,在 Visual Genome 数据集上进行了预训练。

  • 类型

在表6中,我们报告了每种类型的Flickr30k Entities的结果。请注意,服装和身体部位的性能显著提高,分别达到了74.95%和47.23%。
在这里插入图片描述

  • 速度

我们的BAN利用多通道输入实现了更快的推理速度。与先前的方法不同,BAN能够推断句子中的多个实体,这可以准备成一个多通道输入。因此,需要推断的前向传播次数显著减少。在我们的实验中,BAN每个实体花费0.67毫秒,而将单个实体作为示例的设置花费0.84毫秒,实现了25.37%的改进。我们强调这个性质在我们的模型中是新颖的,考虑了视觉-语言多通道输入之间的每种交互。

  • 可视化

图4显示了来自Flickr30k Entities测试分割的三个例子。在图4a中,具有视觉属性的实体,例如黄色的网球服和白色的网球鞋,是正确的。然而,相对较小的对象(例如图4b中的香烟)和需要语义推断的实体(例如图4c中的男性指挥家)是不正确的。
在这里插入图片描述
图4:显示了来自Flickr30k实体测试分割的可视化示例。实线框表示预测的短语本地化,虚线框表示基本事实。如果有多个接地真值框,则显示最近的框进行调查。短语的每种颜色都与预测框和基本真值框的相应颜色相匹配。最好的彩色视图。

9、结论

BAN通过优雅地扩展单一注意力网络,利用双线性注意力图,其中使用低秩双线性池提取了多模态多通道输入的联合表示。尽管BAN考虑了每一对多模态输入通道,但由于BAN采用了矩阵链乘法进行高效计算,计算成本仍然保持在相同的数量级。所提出的注意力残差学习有效地利用了多达八个双线性注意力图,保持了中间特征的大小不变。我们相信我们的BAN为学习更丰富的多模态多通道输入的联合表示提供了新的机会,这在许多实际问题中都有应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1323335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决驱动模块Licence信息提示

一. 简介 上一篇文章挂载 驱动模块时&#xff0c;提示 驱动模块 Licence相关的信息。文章地址如下&#xff1a; 字符设备驱动的加载与卸载-CSDN博客 本文旨在 解决 "挂载字符驱动模块时&#xff0c;提示 Licence信息的提示" 这个问题。 二. 解决驱动模块Licence信…

[Toolschain cpp ros cmakelist python vscode] 记录写每次项目重复的设置和配置 不断更新

写在前面 用以前的设置&#xff0c;快速配置项目&#xff0c;以防长久不用忘记&#xff0c;部分资料在资源文件里还没有整理 outline cmakelist 复用vscode 找到头文件vscode debug现有代码直接关联远端gitros杂记repo 杂记glog杂记 cmakelist 复用 包含了根据系统路径找库…

0062-Java运算符

文章目录 1.运算符介绍2.算术运算符2.1 介绍2.2 细节说明 3.关系运算符(比较运算符)3.1 介绍3.2 细节说明 4.逻辑运算符4.1 介绍4.2 逻辑运算规则4.3 && 和 & 基本规则4.4 && 和 & 使用区别4.5 || 和 | 基本规则4.6 || 和 | 使用区别 5. ! 取反 基本规…

Jmeter实现性能测试--高并发

高并发场景 高并发场景是指系统在相对短时间内面对大量用户同时访问的情况。这种场景常见于在线服务、电商平台、社交网络、金融交易等需要处理大量并发请求的系统。以下是一些典型的高并发场景&#xff1a; 在线购物活动&#xff1a; 在特定促销或购物节期间&#xff0c;电商…

Databend 开源周报第 124 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 新增对 Delta 和…

智能优化算法应用:基于鼠群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鼠群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鼠群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鼠群算法4.实验参数设定5.算法结果6.参考文献7.MA…

VBA之Word应用:利用代码统计文档中的书签个数

《VBA之Word应用》&#xff08;版权10178982&#xff09;&#xff0c;是我推出第八套教程&#xff0c;教程是专门讲解VBA在Word中的应用&#xff0c;围绕“面向对象编程”讲解&#xff0c;首先让大家认识Word中VBA的对象&#xff0c;以及对象的属性、方法&#xff0c;然后通过实…

spring 基于注解管理bean @Autowired

搭建子模块spring6-ioc-annotation ①搭建模块 搭建方式如&#xff1a;spring6-ioc-xml ②引入配置文件 引入spring-ioc-xml模块日志log4j2.xml ③添加依赖 <dependencies><!--spring context依赖--><!--当你引入Spring Context依赖之后&#xff0c;表示将…

鉴赏 tcp vegas

优秀的 vegas 之后&#xff0c;再鉴赏一下迄今唯一像那么回事的拥塞控制算法 vegas。 从下图可看出所有的(对&#xff0c;所有的) aimd 都毫无伸缩性(z:吞吐&#xff0c;x:rtt&#xff0c;y:丢包率&#xff0c;由 buffer_size 直接决定)&#xff1a; 一下就可看出 rtt 和 bu…

关于折线回归

一、说明 今天的帖子主要是关于使用折线回归找到最佳值。即将某条曲线分解成包络线段&#xff0c;然后用分段回归方式优化。但它也涉及使用 SAS 和 R 的剂量反应研究和样条曲线。这不是第一篇关于这些主题的文章&#xff0c;但我确实想在其中添加折线。只是因为它还在使用。 二…

Axure中继器完成表格的增删改查的自定义元件(三列表格与十列表格)

目录 一、中继器 1.1 定义 1.2 特点 1.3 适用场景 二、三列表格增删改查 2.1 实现思路 2.2 效果演示 三、十列表格增删改查 3.1 实现思路 3.2 效果演示 一、中继器 1.1 定义 在Axure中&#xff0c;"中继器"通常指的是界面设计中的一个元素&#xff0c;用…

Redis 6 性能大揭秘:如何优化缓存命中率?

Redis 6的性能优化&#xff0c;特别是关于如何优化缓存命中率。 这篇文章会包含10个代码示例&#xff0c;帮助深入理解和应用相关的技巧 1、 监控缓存命中率 在优化之前&#xff0c;首先要了解当前的缓存命中率。Redis提供了INFO命令来查看性能指标&#xff0c;包括命中率。…

深度学习中的张量维度

1 深度学习中的张量 在深度学习框架中&#xff0c;Tensor&#xff08;张量&#xff09;是一种数据结构&#xff0c;用于存储和操作多维数组。张量可以被视为一种扩展的矩阵&#xff0c;它可以具有任意数量的维度。 在深度学习中&#xff0c;张量通常被用来表示神经网络的输入…

easylogging 的笔记

学习总结 应用在c的工程里 easylog是一个用于记录日志的工具&#xff0c;其中分出了7种级别&#xff1a;分别是INFO&#xff1b;DEBUG&#xff1b;WARNING&#xff1b;TRACE&#xff1b;VERBOSE&#xff1b;ERROR&#xff1b;FATAL。其中FATAL这个log的输出会导致程序运行的退…

剑指 Offer(第2版)面试题 41:数据流的中位数

剑指 Offer&#xff08;第2版&#xff09;面试题 41&#xff1a;数据流的中位数 剑指 Offer&#xff08;第2版&#xff09;面试题 41&#xff1a;数据流的中位数解法1&#xff1a;优先队列解法2&#xff1a;有序集合 双指针 剑指 Offer&#xff08;第2版&#xff09;面试题 41…

控制理论simulink+matlab

这里写目录标题 根轨迹二级目录三级目录 根轨迹 z [-1]; %开环传递函数的零点 p [0 -2 -3 -4]; %开环传递函数的系统极点 k 1; %开环传递函数的系数&#xff0c;反映在比例上 g zpk(z,p,k); %生成开环传递函数%生成的传递函数如下 % (s1) % -------------…

【HarmonyOS开发】ArkUI中的自定义弹窗

弹窗是一种模态窗口&#xff0c;通常用来展示用户当前需要的或用户必须关注的信息或操作。在弹出框消失之前&#xff0c;用户无法操作其他界面内容。ArkUI 为我们提供了丰富的弹窗功能&#xff0c;弹窗按照功能可以分为以下两类&#xff1a; 确认类&#xff1a;例如警告弹窗 Al…

GitBook安装及使用——使用 Markdown 创建你自己的博客网站和电子书

目录 前言一、依赖环境二、gitbook安装使用1.安装 gitbook-cli2.安装 gitbook3.Gitbook初始化4.创建你的文章5.修改 SUMMARY.md 和 README.md6.编译生成静态网页7.运行以便在浏览器预览8.运行效果 前言 GitBook是一个命令行工具&#xff0c;用于使用 Markdown 构建漂亮的博客网…

npm login报错:Public registration is not allowed

npm login报错:Public registration is not allowed 1.出现场景2.解决 1.出现场景 npm login登录时,出现 2.解决 将自己的npm镜像源改为npm的https://registry.npmjs.org/这个&#xff0c;解决&#xff01;

鸿蒙4.0核心技术-WebGL开发

场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理&#xff0c;比如绘制彩色图形等。 接口说明 表1 WebGL主要接口列表 接口名描述canvas.getContext获取canvas对象上下文。webgl.createBuffer(): WebGLBuffernullwebgl.bindBuffer(target: GLenum, buffer: …