博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
attention理解笔记
阅读量:6892 次
发布时间:2019-06-27

本文共 1488 字,大约阅读时间需要 4 分钟。

hot3.png

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: 自己总结如下: 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://my.oschina.net/u/3851199/blog/1941724

你可能感兴趣的文章
记一次由于缺少外键索引导致的血案
查看>>
css基础之 图片瀑布流布局:用CSS+DIV等宽格子堆砌瀑布流效果 (一)
查看>>
java File (文档流)
查看>>
jquery-validation 学习总结
查看>>
POJ 2411: Mondriaan's Dream
查看>>
地铁售票系统设计思想及部分代码
查看>>
HTML基础之JS中的字符转义--转义中文或特殊字符
查看>>
Linq中小心使用IndexOf
查看>>
安装 OSS-FTP 时出现 ImportError: No module named gtk的解决
查看>>
mysql误操作后通过binlog恢复,同时解决tmp目录满的问题
查看>>
Ubuntu下通过SSH远程登录服务器的方法
查看>>
应用整合CAS服务器方法
查看>>
设计原则
查看>>
【oracle】oracle启动和关闭步骤
查看>>
2018 Multi-University Training Contest 10
查看>>
JS[获取两个日期中所有的月份]
查看>>
向各大搜索引擎提交你的网站
查看>>
初识PL/SQL
查看>>
漫画中国式项目管理读书笔记
查看>>
cat /etc/init.d/nfs 这句话看不懂
查看>>