论文阅读:Neural Image Caption Generation with Visual Attention

来源:互联网 发布:淘宝企业店铺能开几个 编辑:程序博客网 时间:2024/05/29 02:47

原文地址
代码地址

  作者在同一个framework下提出两种基于attention的image caption generators:一种是可以通过标准的BP进行训练的soft attention,另一种是通过最大化变分下界或增强学习来训练的hard attention(“hard”stochastic attention mechanism trainable by maximizing an approximate variational lower bound or equivalently by REINFORCE )。
  两者的主要区别体现于后面定义的Φ函数上。

模型细节

编码器
  编码器使用一个CNN,用一张图片作为输入,输出一个1-of-K的词序列。这里写图片描述
  为了保持从CNN提取出的特征向量和原图像的对应关系,作者没有从最后的全连接层提取特征,而是从相对低的卷积层中提取特征,提取出的L个特征被操作为annotation vectors,每一个vector都是D维的,即
这里写图片描述  

解码器
主要使用一个LSTM作为解码器。LSTM的cell结构如图。
Cell Structure
————————————————————————————————————
这里写图片描述

在这些equations中,context vector zt是输入图像的relevant part在t时刻的动态表达,是以annotation vectors为输入通过Φ函数计算得出的。
在hard attention模型中,对每一个annotation vector ai所对应的图像中的location i,模型会产生一个非负权值αi,可以被视为location i是用来产生下一个word的relevant part的概率(soft版本的attention基本沿用Bahdanau et al.(2014))。αi通过 attention model fatt 计算得到,fatt是一个基于前一时刻的hidden state ht1 的MLP(Multilayer perceptron),也就是说,这一时刻模型会“看”向哪里取决于之前已经产生的词序列。具体计算方法如下:
这里写图片描述

LSTM的初始的memory state(或称cell state)和hidden state通过两个独立的以annotation vectors均值为输入的MLP估计所得。
这里写图片描述

作者使用deep output layer(Pascanu et al.,2014)来计算输出单词的概率。
这里写图片描述

Stochastic “Hard” Attention

基本看不懂。。。
大致说定义一个目标函数Ls,本质是一个log概率的变分下界(variational lower bound on the marginal log-likelihood);learning rule 曾在Bahdanau et al.(2014))中被提到与Williams, Ronald J. Simple statistical gradient-following algorithms for connectionist reinforcement learning 中的REINFORCE learning rule 等价。

Deterministic “Soft” Attention

  定义一个location variable st,用来表示当模型在产生第t个词时attention focus的位置。st,i 是一个one-hot的indicator,当i-th location(out of L)被用来提取视觉特征时它的对应位就会被置为1。
  hard version需要在每一时刻对st进行采样导致目标函数不可导。而soft attention 则直接获取context vector zt的期望
  这里写图片描述

  ϕ({ai},{αi})=Liαiai
整个模型是连续可导的。
还有另一种理解方法,牵扯到hard version的数学理论,基本没看懂,PASS。

  作者对soft attention提出一种名为 doubly stochastic attention的改进。因为式(5)我们很容易能知道Liαti=1,与此同时作者约束tαti1,这意味着促使模型在整个生成image caption过程中的不同时刻对输入图片的所有L个部分倾注相同的注意力,即对任意i-th location,它在整个T内获得的attention权重总和都约等于1。在实验部分这被证实能够定量提高模型分数以及定性提升caption的丰富度和区别度。
  另外增加一个gating scalar β,则模型更新为:
  ϕ({ai},{αi})=βLiαiai
其中:
  βt=σ(fβ(ht1))
加入这一标量之后模型会把更多的注意力图片中的objects上。
总体来说,改进后的模型的目标函数如下:
这里写图片描述
后面就是实验结果和结论了。

阅读全文
0 0
原创粉丝点击