为了账号安全,请及时绑定邮箱和手机立即绑定

attention 机制入门

在下面这两篇文章中都有提到 attention 机制:
使聊天机器人的对话更有营养
如何自动生成文章摘要

今天来看看 attention 是什么。

下面这篇论文算是在NLP中第一个使用attention机制的工作。他们把attention机制用到了神经网络机器翻译(NMT)上,NMT其实就是一个典型的sequence to sequence模型,也就是一个encoder to decoder模型
https://arxiv.org/pdf/1409.0473.pdf

encoder 里面用的是 Bi RNN,这样每个单词的表达不仅能包含前一个单词的信息,还可以包含后一个; 前向RNN按输入序列的顺序,生成同样顺序的隐藏层状态,反向RNN则逆向生成隐藏层状态序列,然后我们将每个时刻的这两个状态合并为一个状态,这样它就既包含当前单词的前一个单词信息,也包含后一个信息; 这个状态之后将被用于 decoder 部分。

这里的条件概率是这样的,

和一般的encoder decoder区别就是这个条件概率考虑了每个单词的语境向量 c

c 就是由前面得到的 h 计算

权重 alpha 由 e 计算,alpha i j 相当于 y i 是由 x j 翻译而成的概率,这个概率就反映了 hj 的重要性

这里就应用了 attention 机制,这样 decoder 就决定了输入句子中的什么部分需要加以注意

有了注意力机制就不用把所有的输入信息都转化到一个固定长度的向量中

e 是个 score,用来评价 j 时刻的输入和 i 时刻的输出之间的匹配程度,

a 是一个 alignment midel,是一个前向神经网络。

这篇文章中有 seq2seq+attention 的实现:
seq2seq 的 keras 实现


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消