用于图像描述的注意上的注意模型《Attention on Attention for Image Captioning》

《Attention on Attention for Image Captioning》

目录

一、文献摘要介绍

二、网络框架介绍

三、实验分析

四、结论


本文有点长,请耐心阅读,定会有收货。如有不足,欢迎交流, 另附:论文下载地址

一、文献摘要介绍

Attention mechanisms are widely used in current encoder/decoder frameworks of image captioning, where a weighted average on encoded vectors is generated at each time step to guide the caption decoding process. However, the decoder has little idea of whether or how well the attended vector and the given attention query are related, which could make the decoder give misled results. In this paper, we propose an “Attention on Attention” (AoA) module, which extends the conventional attention mechanisms to determine the relevance between attention results and queries. AoA fifirst generates an “information vectorand an “attention gate” using the attention result and the current context, then adds another attention by applying element-wise multiplication to them and fifinally obtains the attended information”, the expected useful knowledge. We apply AoA to both the encoder and the decoder of our image captioning model, which we name as AoA Network (AoANet). Experiments show that AoANet outperforms all previously published methods and achieves a new state-of-the-art performance of 129.8 CIDEr-D score on MS COCO “Karpathy” offlfline test split and 129.6 CIDEr-D (C40) score on the offificial online testing server.

作者认为注意力机制在当前的图像描述编码器/解码器框架中广泛使用,其中在每个时间步生成编码矢量的加权平均值以指导描述的解码过程。但是,解码器几乎不了解相关向量和给定注意力查询之间的关系或关联程度如何,这可能会使解码器给出错误的结果。在本论文中,作者提出了一个“Attention on Attention”(AoA)模块,该模块扩展了常规的注意力机制,以确定注意力结果和查询结果的相关性。AoA首先使用注意力结果和当前的上下文生成一个“信息向量”和一个“注意力门”,然后通过对它们进行逐元素乘法来增加另外一个注意力,最终获得“关注信息”,即预期的有用知识。我们将AoA应用于描述模型的编码器和解码器中,将其命名为AoA Network(AoANet)。实验表明,AoANet的性能优于以前发布的所有方法。

二、网络框架介绍

下图展示了“Attention on Attention”(AoA)模块,AoA使用注意力结果和注意力查询生成信息向量和注意力门,并通过将门应用于信息来添加另一个注意并获得关注信息。

将AoA应用于编码器和解码器,以组成AoANet,在编码器中,AoA有助于更好地建模图像中不同对象之间的关系,在解码器中,AoA过滤掉无关的注意力结果,仅保留有用的结果,下面进行详细分析该框架。

2.1Attention on Attention

        经典的注意力模块 对某些查询(queries),键(keys)和值(values) 进行操作,并生成一些加权平均向量(分别由 和 表示),如图2(a)所示。它首先测量QK之间的相似性,然后使用相似度分数计算V上的加权平均向量,这些向量可以表述为:

其中,是第\large i个查询,是第\large j个键/值对;\large f_s_i_m是一个计算每个相似性分数的函数;是查询的关注向量。

          但是经典的注意力模块存在一个问题,就是无论是否相关,关注模块都会为每个查询输出加权平均值。即使没有相关向量,注意力模块仍会生成加权平均向量,该向量可能不相关,甚至会误导信息。

         因此,作者提出了AoA模块,如图2(b)所示。来测量关注结果和查询之间的相关性。AoA模块通过两个单独的线性变换生成一个“信息向量”  和一个“注意力门”,它们都以注意力结果和当前的上下文(即查询)为条件:

其中 ,\large D的维数;是注意力结果,是注意力模块,表示sigmoid型激活函数。

          然后,AoA通过使用逐元素乘法将注意力门应用于信息向量来增加另一个注意力,并获得关注信息:

其中, 表示逐元素相乘。AoA模型整体计算公式如下:

2.2AoANet for Image Captioning

作者基于编码器/解码器框架(下图)构建图像描述模型AoANet,其中编码器和解码器都与AoA模块结合在一起。

1.Encoder with AoA

          对于图像,我们首先使用基于CNN或R-CNN的网络提取一组特征向量,其中\large k中的向量数,\large D是每个向量的维度。我们没有直接将这些向量输送给解码器,而是构建了一个包含AoA模块的网络,以优化它们的表示,如下图所示。

          编码器中的AOA模块,称为\large AoA^E,采用多头注意函数,其中是特征向量的三个单独的线性投影。AOA模块之后是残差连接和层规范化:

其中,是三个线性变换矩阵。是多头注意函数,它沿通道维度将分为\large H=8个切片,并对每一切片采用注意函数计算注意力,然后将每一片的结果连在一起,形成最终的关注向量。

          在这个优化模块中,自注意多头注意模块(self-attentive muti-head attention module)在图像中的对象之间寻找相互作用,并使用AoA来衡量它们之间的关联程度。优化后,更新特征向量。优化模块不会更改的尺寸,因此可以堆叠N次(本文中N=6)。

注意,优化模块采用与Transformer编码器不同的结构,因为前者前馈层被丢弃,而我们前馈层是可选择丢弃的,作出这一改变的原因有以下两个:1)增加前馈层以提供非线性表示,这也是通过应用AoA实现的;2)丢弃前馈层不会改变AoANet的性能,但会简化操作。

2.Decoder with AoA

        解码器(如下图所示)使用优化的特征向量来生成描述序列。

我们对上下文向量\large c_t建模,以计算词汇表上的条件概率:

其中,是要学习的权重参数,是词汇表的大小。

        上下文向量\large c_t保存了解码状态和新获取的信息,这些信息是由关注的特征向量\large LSTM的输出\large h_t生成的,其中是来自注意模块的关注结果,该模块可以具有一个或多个头。

        解码器中的LSTM对描述解码过程进行建模。它的输入包括当前时间步的输入词的嵌入,以及一个视觉向量,其中表示 \large c_t_-_1表示上一时间步长的上下文向量(\large c_t_-_1初始步长初始化为零):

其中,是用于词汇表的词嵌入矩阵,而是在时间步长t处输入单词\large w_t的one-hot编码。

如图5所示,对于AoA解码器,从AoA模块获得\large c_t,标记为\large AoA^D

其中,是LSTM和\large h_t的隐藏状态用作注意查询。

3.Training and Objectives

我们首先通过优化交叉熵(XE)损失\large L_X_E来训练AoANet:

其中表示目标ground truth 序列。

然后,我们使用自我关键序列训练(SCST)直接优化不可微指标:

其中,奖励r(.)使用某个指标的得分(例如CIDEr-D )。 梯度可以近似为:

表示从概率分布中采样的结果,而表示贪婪解码的结果。

三、实验分析

我们在ImageNet和VisualGenome上使用一个预训练Faster R-CNN模型来提取图像的自下而上的特征向量。原始向量的维数为2048,我们预测 它们以D=1024的维数映射到一个新的空间,这也是LSTM在解码器中隐藏的尺寸。对于训练过程,我们在XE损失下训练AoANet 30周期,最小批处理大小为10个,使用ADAM 优化器以2e-4初始化的学习率,每3周期进行0.8的衰减。 每5个周期我们将计划的采样概率提高0.05 。 我们使用SCST对CIDEr-D分数进行了优化,以初始学习率为2e-5的另外15个时期进行了优化,当在某些训练步骤中验证拆分的分数没有改善时,将其衰减0.5。

下表是模型的性能表现。

下表是AoANet生成的描述示例和基线模型以及相应的ground truths

下表是消融研究的设置和结果

下图是模型的可视化。

四、结论

In this paper, we propose the Attention on Attention (AoA) module, an extension to conventional attention mechanisms, to address the irrelevant attention issue. Furthermore, we propose AoANet for image captioning by applying AoA to both the encoder and decoder. More remarkably, we achieve a new state-of-the-art performance with AoANet. Extensive experiments conducted on the MS COCO dataset demonstrate the superiority and general applicability of our proposed AoA module and AoANet.

在这篇文章中,作者改善了以往的注意力机制,以解决不相关的注意问题,将AoA模型应用与编码与解码阶段,带来了最新的性能。并且具有优越性和普适性,方法和思路值得借鉴。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值