《Attention on Attention for Image Captioning》
Tiám青年 2019-11-17 23:21:10 2108 收藏 5 分类专栏: 计算机视觉 VQA 最后发布:2019-11-17 23:21:10 首次发布:2019-11-17 19:32:31 版权目录
本文有点长,请耐心阅读,定会有收货。如有不足,欢迎交流, 另附:论文下载地址
一、文献摘要介绍
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 vector” and 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)所示。它首先测量Q和K之间的相似性,然后使用相似度分数计算V上的加权平均向量,这些向量可以表述为:
其中,是第个查询,和是第个键/值对;是一个计算每个和相似性分数的函数;是查询的关注向量。
但是经典的注意力模块存在一个问题,就是无论和是否相关,关注模块都会为每个查询输出加权平均值。即使没有相关向量,注意力模块仍会生成加权平均向量,该向量可能不相关,甚至会误导信息。
因此,作者提出了AoA模块,如图2(b)所示。来测量关注结果和查询之间的相关性。AoA模块通过两个单独的线性变换生成一个“信息向量” 和一个“注意力门”,它们都以注意力结果和当前的上下文(即查询)为条件:
其中 ,是和的维数;是注意力结果,是注意力模块,表示sigmoid型激活函数。
然后,AoA通过使用逐元素乘法将注意力门应用于信息向量来增加另一个注意力,并获得关注信息:
其中, 表示逐元素相乘。AoA模型整体计算公式如下:
2.2AoANet for Image Captioning
作者基于编码器/解码器框架(下图)构建图像描述模型AoANet,其中编码器和解码器都与AoA模块结合在一起。
1.Encoder with AoA
对于图像,我们首先使用基于CNN或R-CNN的网络提取一组特征向量,其中,是中的向量数,是每个向量的维度。我们没有直接将这些向量输送给解码器,而是构建了一个包含AoA模块的网络,以优化它们的表示,如下图所示。
编码器中的AOA模块,称为,采用多头注意函数,其中、和是特征向量的三个单独的线性投影。AOA模块之后是残差连接和层规范化:
其中,是三个线性变换矩阵。是多头注意函数,它沿通道维度将、和分为个切片,并对每一切片采用注意函数计算注意力,然后将每一片的结果连在一起,形成最终的关注向量。
在这个优化模块中,自注意多头注意模块(self-attentive muti-head attention module)在图像中的对象之间寻找相互作用,并使用AoA来衡量它们之间的关联程度。优化后,更新特征向量。优化模块不会更改的尺寸,因此可以堆叠N次(本文中N=6)。
注意,优化模块采用与Transformer编码器不同的结构,因为前者前馈层被丢弃,而我们前馈层是可选择丢弃的,作出这一改变的原因有以下两个:1)增加前馈层以提供非线性表示,这也是通过应用AoA实现的;2)丢弃前馈层不会改变AoANet的性能,但会简化操作。
2.Decoder with AoA
解码器(如下图所示)使用优化的特征向量来生成描述序列。
我们对上下文向量建模,以计算词汇表上的条件概率:
其中,是要学习的权重参数,是词汇表的大小。
上下文向量保存了解码状态和新获取的信息,这些信息是由关注的特征向量和的输出生成的,其中是来自注意模块的关注结果,该模块可以具有一个或多个头。
解码器中的LSTM对描述解码过程进行建模。它的输入包括当前时间步的输入词的嵌入,以及一个视觉向量,其中表示 和表示上一时间步长的上下文向量(初始步长初始化为零):
其中,是用于词汇表的词嵌入矩阵,而是在时间步长t处输入单词的one-hot编码。
如图5所示,对于AoA解码器,从AoA模块获得,标记为:
其中,是LSTM和的隐藏状态用作注意查询。
3.Training and Objectives
我们首先通过优化交叉熵(XE)损失来训练AoANet:
其中表示目标ground truth 序列。
然后,我们使用自我关键序列训练(SCST)直接优化不可微指标:
其中,奖励使用某个指标的得分(例如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模型应用与编码与解码阶段,带来了最新的性能。并且具有优越性和普适性,方法和思路值得借鉴。