@songying
2018-10-18T20:36:32.000000Z
字数 2221
阅读 1582
Attention
https://zhuanlan.zhihu.com/p/35703999
https://www.cnblogs.com/taojake-ML/p/6113459.html
这篇文章是attention mechanism的开山之作。
我们引入attention来自动描述images的内容。
在本文中, 我们针对 caption generation 提出了两种基于注意力机制的方法: 基于基本反向传播训练的soft Attention方法和 使用强化学习训练的Hard Attention方法。
本文中我们的贡献如下:
1. 提出两种基于注意力机制的图像描述生成模型: 使用基本反向传播训练的Soft Attetnion方法和使用强化学习训练的Hard Attention方法.
2. 可视化注意力模型.
3. 在多个数据集上量化验证Attention的作用.
本节先介绍两种注意力机制的共同框架, 二者主要的区别在第四节中描述。
模型的目标是将图片转化为编码过的句子 。
本层目的是使用CNN获取image的特征。
使用CNN提取L个低层次特征向量, 每个D维特征向量对应于图像的一部分:
我们使用LSTM来进行解码生产文本描述,计算过程如下
- : LSTM的输入门
- : LSTM 的遗忘门
- : LSTM 的输出门
- : LSTM 当前输入的单元状态
- : LSTM 的记忆
- : LSTM 的隐层状态
- : 是上下文向量矩阵,
- : 表示的是图片某一位置的信息
- : 是词向量矩阵
简而言之, 上下文向量 是 时刻图像相关部分的动态表示。 我们定义了一种机制 来根据向量 来计算, 其中, 对应的是图像不同上提取到的特征。对于每个位置 i, 该机制生成一个权重 , 表示的是 位置 i 对 生成下一个词的影响力或重要性。而权重 是用 注意力模型 来计算所得的, 而针对hard attention 与 soft attention,我们有不同的 。
隐层的初始状态表示:
最终的输出为:
本节中我们讨论两种注意力机制 : stochastic attention and deterministic attention.
我们使用位置变量 表示在生成 个词时模型所关注的区域。如果第i个位置被用来提取图像特征的位置,那么我们就设 , 其余位置都设置为0。
Soft Attention是参数化的(Parameterization),因此可导,可以被嵌入到模型中去,直接训练。梯度可以经过Attention Mechanism模块,反向传播到模型其他部分。
Hard Attention是一个随机的过程。Hard Attention不会选择整个encoder的输出做为其输入,Hard Attention会依概率Si来采样输入端的隐状态一部分来进行计算,而不是整个encoder的隐状态。为了实现梯度的反向传播,需要采用蒙特卡洛采样的方法来估计模块的梯度。
目前Soft Attention是研究热点。