1

Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Caption...

 2 years ago
source link: https://bacterous.github.io/2018/09/13/Knowing-When-to-Look-Adaptive-Attention-via-A-Visual-Sentinel-for-Image-Captioning/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

论文链接:https://arxiv.org/abs/1612.01887

Abstract

基于注意力的神经编码-译码框架(Attention-based neural encoder-decoder frameworks)已经在图像标注任务中广泛采用。大部分方法在生成词语时,强行令视觉注意信息发挥效力。然而,译码器在预测诸如“the”和“of”等“非视觉”(non-visual)词汇时,可能几乎不需要从图片中获取视觉信息。其它看上来像视觉词汇的词语,例如在“behind a red stop”之后的“sign”,或者“talking on a cell”之后的“phone”,经常可依赖语言模型进行可靠的预测。在本文中,我们提出了一个新的带视觉哨兵(visual sentinel)的自适应注意力模型(adaptive attention model)。在预测的每一步,我们的 模型会决定是注意图像(如果是,具体到哪块区域),还是注意视觉哨兵。模型决定了是否要聚焦于图像以及其具体区域,以为序列词语的生成提取出有效信息。在COCO和Flickr30K上的测试结果显示,我们的方法以显著优势重置了新的state-of-the-art水准。


1. Introduction

自动生成图像标注问题,在学界和工业界已经成为一个著名的跨学科研究问题。它可以帮助视障人群,相对容易地去组织和浏览大量的典型非结构化的视觉数据。为了生成高质量的摘要,模型需要从图像中结合细粒度的视觉线索。最近,随着基于注意力的视觉神经编码-译码模型的研究,引入注意力机制,生成一个空间图(spatial map),标识了与每个生成的词语相关的图像区域。

在图像标注与视觉问答任务中,大部分注意力模型在每一步预测时都在关注图像,根本不考虑下一个预测(emitted)的是哪个词。然而,标注里不是所有的词都有对应的视觉信息。拿图1中的例子来说,所示图像生成的标注为“A white bird perched on top of a red stop sign”。“a”和“of”没有对应的典型视觉信息。另外,在生成诸如跟在“perched”之后的“on”和“top”时,或者跟在“a red stop”之后的“sign”时,语言之间的关联性会使预测过程不怎么需要视觉信息。事实上,非视觉词汇的梯度,会误导和减弱视觉信息在控制标注语句生成过程的整体效果。

在本文中,我们提出了一个自适应注意力编码-译码框架,能够自动决定何时依赖视觉信息、何时依赖语言模型。当然,在依赖视觉信息时,模型也决定了具体应该关注图像的哪块区域。为了提取空间图像特征,我们首次提出了一个新型的空间关注模型。然后,正如我们提出的自适应注意力机制,我们采用了一个新的LSTM扩展方法,能够生成一个额外的视觉哨兵向量,而不是一个单一的隐藏状态。视觉哨兵是一个额外的对译码器存储的隐式表示,为译码器提供了一个回退选项。我们进一步设计了一个新的哨兵门(sentinel gate),决定了译码器在生成下一词语时从图像中获取信息的多寡,而不是依赖视觉哨兵。例如图1所示,我们的模型在生成诸如“white”、“bird”、“red”和“stop”的词语时,更多地关注图像;在生成诸如“top”、“of”和“sign”时,更多地依赖视觉哨兵。

总的来说,本文的主要贡献如下:

  • 我们提出了一个自适应编码-译码框架,在生成词语时自动决定何时关注图像,何时依赖语言模型;
  • 我们首次提出了一个新的空间关注模型,并依赖它来设计了我们带视觉哨兵的新型自适应注意力模型;
  • 在COCO和Flicker30K上,我们的模型明显优于其它state-of-the-art方法;
  • 对我们自适应注意力模型我们做了扩展分析,包括词语的视觉基础概率(visual grounding probabilities)和生成的注意力图(attention maps)的弱监督定位(weakly supervised localization)。

2. Method

在2.1节,首先介绍了图像标注问题的普通神经编码-译码框架。在2.2和2.3节中介绍我们提出的基于注意力的图像标注模型

2.1. Encoder-Decodedr for Image Captioning

我们先简要描述编码-译码图像标注框架。在给定图像和其对应标注的情况下,编码-译码模型直接最大化下式的目标:
θ∗=argmaxθ∑(I,y)logp(y|I;θ)
其中θ是模型的参数,I为图像,y={y1,…,yt}是对应的标注。使用链式法则,联合概率分布的数似然可以分解成有序的条件概率:
logp(y)=T∑t=1logp(yt|y1,…,yt−1,I)
为了方便起见,我们丢弃了对模型参数的依赖。

在编码-译码框架中,RNN网络下,每个条件概率定义如下:
logp(yt|y1,…,yt−1,I)=f(ht,ct)
其中f是一个非线性函数,输出概率yt 。ct是t时刻从图像I中提取的视觉上下文(visual context)向,ht是RNN在t时刻隐藏状态。本文的RNN采用了LSTM,在各种序列模型任务中已被证明有着不错(state-of-the-art)的表现。ht定义为:
ht=LSTM(xt,ht−1,mt−1)
其中xt是输入向量,mt−1是t−1时刻的存储单元向量。

一般来讲,上下文向量ct在神经编码-译码框架中是个重要因素,为标注生成提供了视觉依据。构建上下文向量的不同方法就划分出:普通编码-译码结构和基于注意力的编码译码框架:

  • 首先,在普通的编码-译码框架中,ct仅依赖于编码器CNN。输入图像I被输入CNN网络,将最后一个全连接层提取作为整体图像的特征。在生成词语的整个过程中,上下文向量ct保持不变,也不依赖于译码器的隐藏状态。
  • 然后在基于注意力的框架中,ct同时依赖编码器和译码器。在t时刻,在隐藏状态的基础上,译码器能够关注图像的特定区域,并利用CNN网络中的一个卷积层的空间图像特征来计算ct。注意力模型能明显提升图像标注的性能。

为了计算上下文向量ct,在2.2节首先提出我们的空间注意力模型,之后在2.3节扩展模型,构建自适应的注意力模型。

2.2. Spatial Attention Model

首先,为了计算上下文向量 ct提出了一个空间注意力模型,定义如下:
ct=g(V,ht)
其中g是注意力函数,V=[v1,…,vk],vi∈Rd是空间图像特征,每个都是对对应图像部分的d维表示。ht是RNN在t时刻的隐藏状态。

给定空间图像特征V∈Rd×k和LSTM的隐藏状态ht∈Rd,我们将其供给一个单层神经网络,在其后连接了一个softmax函数,这样就生成了图像k个区域的注意力分布:
zt=wThtanh(WvV+(Wght)IT)

αt=softmax(zt)

其中I∈Rk是所有元素都为1的向量,Wv,Wg∈Rk×d和wh∈Rk为要训练的参数,α∈Rk是V中特征的注意力权重。在得到注意力分布的基础上,上下文向量ct可由下式得到:
ct=k∑i=1αtivti
然后便可利用式3来结合ct和ht,去预测下一个词语yt+1。

不同于《Show, attend and tell: Neural image caption generation with visual attention》一文提出的结构,如图2所示,我们利用当前的隐藏状态ht来判断看向哪(如:生成上下文向量ct),然后结合两者信息来预测下一个词语。我们这样设计是由于《Deep captioning with multimodal recurrent neural networks》一文中显示的残差网络(residual network)的优越性能。生成的上下文向量ct可被看作当前隐藏状态ht的剩余视觉信息(residual visual information),削弱了不确定性并为预测下一词语补充了当前隐藏状态的信息量。由实验结果来看(如表1所示),我们的空间注意力模型性能更优。

2.3. Adaptive Attention Model

在基于空间注意力的译码器被证明在图像标注问题上有效之后,它还不能决定何时依赖视觉信息,何时依赖语言模型。在这一节,受《Pointer sentinel mixture models》一文启发,我们提出了一个新概念——视觉哨兵, 潜在表示了译码器已经知道的信息。利用视觉哨兵,我们扩展了空间注意力模型,并提出了一个自适应模型,在预测下一词语时能够决定是否需要关注图像。

什么是视觉哨兵呢?译码器的存储区保存了长期和短期内的视觉和语义信息,我们的模型学习从这些信息中提取一个新的组件(component)。当选择不关注图像时,模型可以回退。这个新的组件就被称为视觉哨兵,决定是关注图像信息还是视觉哨兵的门就是哨兵门。当译码器RNN是LSTM时,我们认为这些信息保留在了它的存储细胞元中,因此,为了得到视觉哨兵向量st,我们将LSTM作以下扩展:
gt=σ(Wxxt+Whht−1)

st=gt⨀tanh(mt)

其中,Wx和Wh是要训练的权重参数,xt是t时刻LSTM的输入,gt是在存储单元mt上的控制门。σ表示经过logistic sigmoid激活操作,⨀表示元素积操作。

基于视觉哨兵,我们提出了一个自适应注意力模型来计算上下文向量。在我们提出的架构(见图3),我们新的自适应上下文向量定义为ˆct,由模型生成,是空间注意力图像特征(如空间注意力模型的上下文向量)和视觉哨兵向量的结合。译码器存储中已知不少信息(如视觉哨兵),网络需要考虑到底从图像中获取多少新信息,上下文向量就权衡了这个问题。组成方式定义如下:
ˆct=βtst+(1−βt)ct
其中,βt是t时刻新的哨兵门。在结合模型中(mixture model)中, βt生成一个[0,1]之间的标量。当取值为1时,表示在生成下一词语时,只使用视觉哨兵信息;当值为0时,只使用空间图像信息。

为了计算新的哨兵门βt,我们修改了空间注意力模块。特别的,我们向由式6定义的,表示注意力scores的向量z添加一额外元素。这一元素阐明了有多少网络的注意力放在了哨兵(与图像特征相比)。添加这个额外元素的过程,是将式7转变为:
ˆαt=softmax([zt;wThtanh(Wsst+(Wght))])
其中[⋅;⋅]表示连接运算,Ws和Wg是权重参数。特别的,Wg同式6是相同的权重参数。ˆαt∈Rk+1是基于空间图像特征和视觉哨兵向量得到的注意力分布


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK