论文:Show, Attend and Tell: Neural Image Caption Generation with Visual Attention

提出了attention-based model的变种:Stochastic "Hard" Attention和Deterministic "Soft" Attention

文章中几个需要区分的向量:

1、annotation vector Attention机制论文阅读——Soft和Hard Attention

2、context vector Attention机制论文阅读——Soft和Hard Attention

相同的框架:

1、编码器:卷积神经网络提取特征:

输入一幅图像产生一个标注y,表示为:

Attention机制论文阅读——Soft和Hard Attention

这里K是词汇表的大小,C是标注序列的长度,每一个y_i是一个K维的向量。使用CNN是为了提取一组特征向量,即annotation vector。特征提取器产生L个向量,每个向量是D维的,跟图想象中某一部分区域相关。

Attention机制论文阅读——Soft和Hard Attention

为了获得特征向量和二维图像之间的相关性,文中从底层的卷积层提取特征,区别于先前使用全连接层提取特征的工作。这样解码器能够选择性的关注于图像中的某一部分区域。

2、解码器:LSTM网络

使用LSTM网络产生最后的输出,本文中LSTM网络结构如图:

Attention机制论文阅读——Soft和Hard Attention

LSTM网络结构用公式表示为:

Attention机制论文阅读——Soft和Hard Attention

其中i_t, f_t, c_t, o_t, h_t 分别是输入门、忘记门、记忆单元、输出门和LSTM网络的隐藏层状态,Attention机制论文阅读——Soft和Hard Attention是时刻t输入图像和当前状态相关性的动态表示,Attention机制论文阅读——Soft和Hard Attention 是context向量,Attention机制论文阅读——Soft和Hard Attention 是embedding矩阵。

定义一个机制 Attention机制论文阅读——Soft和Hard Attention 从annotation vector Attention机制论文阅读——Soft和Hard Attention 中计算 Attention机制论文阅读——Soft和Hard Attention ,对于每一个位置i,该机制能产生一个权重,在Hard Attention机制中,该权重决定i是否是产生下一个word的正确的位置;在Soft Attention机制中,该权重是位置i在所有 Attention机制论文阅读——Soft和Hard Attention 中的相对重要性。每一个annotation vector Attention机制论文阅读——Soft和Hard Attention 的权重 Attention机制论文阅读——Soft和Hard Attention 通过一个 attention模型 Attention机制论文阅读——Soft和Hard Attention 计算得到,这个模型用于计算annotation vector Attention机制论文阅读——Soft和Hard Attention 和隐藏层状态 Attention机制论文阅读——Soft和Hard Attention 之间的相关性。

Attention机制论文阅读——Soft和Hard Attention

得到权重 Attention机制论文阅读——Soft和Hard Attention 之后,就可以计算得到context向量 Attention机制论文阅读——Soft和Hard Attention :

Attention机制论文阅读——Soft和Hard Attention

Attention机制论文阅读——Soft和Hard Attention是一个函数,在给定一组annotation vector和它们的权重之后返回context vector。Attention机制论文阅读——Soft和Hard Attention 指代文中提出的两种attention机制,它决定怎样将位置信息和权重信息结合。

记忆单元和LSTM隐藏层状态的初始值通过如下公式计算得到:

Attention机制论文阅读——Soft和Hard Attention

在解码器的输出部分,使用一个deep output layer计算输出单词的概率:

Attention机制论文阅读——Soft和Hard Attention

其中大写字母表示矩阵,L_o,L_h,L_z,E都是随机初始化之后需要学习的参数。


Stochastic "Hard" Attention:

  hard attention 机制中,权重 Attention机制论文阅读——Soft和Hard Attention 所扮演的角色是图像区域 Attention机制论文阅读——Soft和Hard Attention 在时刻 t 被选中作为输入decoder的信息的概率,有且仅有一个区域会被选中。为此,引入变量 Attention机制论文阅读——Soft和Hard Attention ,当区域 i 被选中时取值为 1 ,否则为 0 。那么有:

Attention机制论文阅读——Soft和Hard Attention

  接下来的问题就是如何求解 Attention机制论文阅读——Soft和Hard Attention,将Attention机制论文阅读——Soft和Hard Attention作为在产生第t个单词的时候需要关注位置信息的位置变量,满足参数为 Attention机制论文阅读——Soft和Hard Attention 的多元贝努利分布(贝努利分布就是两点分布):

Attention机制论文阅读——Soft和Hard Attention

文章之后的部分都在用公式说明这个分布如何求解,具体需参考论文和这篇博客(Multimodal —— 看图说话(Image Caption)任务的论文笔记(二)引入attention机制


Deterministic "Soft" Attention:

相比之下,在 soft attention 机制中,权重 Attention机制论文阅读——Soft和Hard Attention 所扮演的角色是图像区域 Attention机制论文阅读——Soft和Hard Attention 在时刻 t 的输入decoder的信息中的所占的比例。既然这样,就将各区域 Attention机制论文阅读——Soft和Hard Attention 与对应的权重 Attention机制论文阅读——Soft和Hard Attention 做加权求和就可以得到

Attention机制论文阅读——Soft和Hard Attention

    之后,就可以根据反向传播来进行训练了。

    论文里还介绍了更多细节,比如分析了解码过程的一些情况;强迫使图像的每个区域在整个解码过程中的权重之和都相等(这种做法在目标函数中体现为一个惩罚项),来使图像的各个区域都对生成caption起到贡献;增加一个跟时间有关的维度因子可以让模型的注意力集中在图像的目标上。






相关文章:

  • 2021-09-12
  • 2021-11-21
  • 2021-07-30
  • 2021-05-02
  • 2021-08-15
  • 2021-10-24
  • 2021-08-01
猜你喜欢
  • 2021-08-07
  • 2021-04-08
  • 2021-08-05
  • 2021-10-14
  • 2021-08-24
  • 2022-12-23
  • 2021-08-15
相关资源
相似解决方案