美文网首页
attention机制理解笔记

attention机制理解笔记

作者: zoulala | 来源:发表于2018-07-04 01:37 被阅读0次

attention机制来自于视觉的感知,对某些关键区域聚焦,其应用在图片上可行,是否可以应用在文本处理。答案是可行的,其实当我们快读阅读或者读长篇文本的时候,我们的注意力是集中在关键词,事件或实体上。通过大量实验证明,将attention机制应用在机器翻译,摘要生成,阅读理解等问题上,取得的成效显著。本文不做过多分析,只指出大概的机制。主要方便自己复习。

非attention:

非attention机制的encoder-decoder模型如下图所示:


Encoder-Decoder框架

即生成目标句子单词的过程成了下面的形式:


可以简单理解为:x序列经过RNN产生的最后状态hm来生成中间语义向量C,再由C产生输出y序列。
y1,H1 = RNN(EOS,C)
y2,H2 = RNN(y1,H1)
y3,H3 = RNN(y2,H2)
....
....
....

attention机制:

attention机制相当于C由h1、h2、...hm共同决定,且每输出一个字符,C是动态变化的。
其模型如下图所示:


attention Encoder-Decoder

即生成目标句子单词的过程成了下面的形式:


其中Ci可以表示为:



aij是encoder层状态hj影响下一个输出字符的权重。

那么aij怎么得到呢?,看下图:


image.png

(上图Si-2应该为Hi-2)通过函数F(hj,Hi-1)来获得目标单词yi和每个输入单词对应的对齐可能性,这个F函数在不同论文里可能会采取不同的方法,可以是

  • 余弦相似度
  • 一个简单的 神经网络,输入为hh和ww,输出为αα
  • 或者矩阵变换α=hTWzα=hTWz (Multiplicative attention,Luong et al., 2015)

然后函数F的输出经过Softmax进行归一化就得到了符合概率分布取值区间的注意力分配概率分布数值。

公式汇总一下:
H0 = 初始化状态(decoder隐藏层初始化状态),y0 = EOS

  • aij = F(hj, Hi-1),aij = sorfmax(ai1,ai2,..aim)
  • Ci = sum(aij*hj), j= 1,2,...m
  • Hi = f(Ci , yi-1), yi = g(Hi),函数f,g合并在RNN中
    yi,Hi = RNN(Ci , yi-1)

上图表示不是很清楚,可以理解为:
y1,H1 = RNN(EOS,C1) , C1 = sum(aij*hj), aij = F(hj, H0), H0为初始化状态
y2,H2 = RNN(y1,C2) , C2 = sum(aij*hj), aij = F(hj, H1)
y3,H3 = RNN(y2,C3) , C3 = sum(ai*hj), aij = F(hj, H2)
...
...
...
补充一张更详细的google教程上的图:


image.png
训练阶段:

通过(x---y)训练修正--->F参数、RNN参数。

具体过程逻辑:

可以参考google程序seq2seq:https://github.com/tensorflow/tensorflow/blob/64edd34ce69b4a8033af5d217cb8894105297d8a/tensorflow/contrib/legacy_seq2seq/python/ops/seq2seq.py
自己总结如下:

encoder attention decoder

其中:函数cov_2d是卷积提取特征,f是变换函数得到权重,Liner是线性变换(matul(W([attns0,y0])+B)
在程序中如果loop_function存在,上图则为
OP1,H1 = F(<EOS>, hm, [O1,O2,..Om]),
OP2,H2 = F(OP1, H1, [O1,O2,..Om]),
OP3,H3 = F(OP2, H2, [O1,O2,..Om]),
...

参考:https://blog.csdn.net/xbinworld/article/details/54607525

相关文章

  • attention机制理解笔记

    attention机制来自于视觉的感知,对某些关键区域聚焦,其应用在图片上可行,是否可以应用在文本处理。答案是可行...

  • Attention机制概念整理

    深度学习中的注意力机制(Attention Macheanism): Attention机制较为广泛的应用是为了解...

  • 理论汇总

    1 多任务学习 (1)多任务学习在推荐算法中的应用 2 attention机制 (1)Attention机制在深度...

  • attention机制

    当前的embedding向量cur_f1 和 历史的embedding向量his_f1 计算相似性; 对相似性权重...

  • Attention 机制

    Attention 机制 人类视觉系统会对被观察对象的不同地方,分配不同的注意力,而 Attention 机制正是...

  • Attention 机制

    记录一下自己所理解的 Attention 机制:首先先从 Encoder-Decoder 框架来宏观角度的看 At...

  • Attention机制

    用Attention机制的原因是考虑到RNN(或者LSTM,GRU等)的计算限制为是顺序的,也就是说RNN相关算法...

  • Attention机制

    历史 2014年google mind团队,在RNN模型上使用了attention机制来进行图像分类,然后取得了很...

  • Attention 机制

    An Attention Function can be described as mapping a query...

  • attention机制

    1. 增强型attention算法的理解 上图中的softmax(QT)为attention权重,具体过程为:  ...

网友评论

      本文标题:attention机制理解笔记

      本文链接:https://www.haomeiwen.com/subject/pwrsuftx.html