![d4b8ffe3645309cc37c36daf8b6e0b72.png](https://i-blog.csdnimg.cn/blog_migrate/bdff5523c2a65ed474ea1ad95b22165a.jpeg)
1.注意力机制原理
上一篇文章介绍了如何使用Tensorflow来搭建一个简单的NMT模型,但那只是一个初级的模型。下面我们通过加入注意力机制(attention mechanism)来使得其变得更加高级一点。
关于什么时注意力机制呢,笔者就按照谷歌NMT开源文档中的说明来简单介绍一下。首先,最初注意力是由Bahdanau等人在2015年提出的,紧接着Luong等人又对其进行了改进,然后就出现了很多的版本。之所以要提出注意力机制就是为了解决当解码的序列太长时,越到后面效果就越差。因为在未引入注意力机制之前,解码时仅仅只依靠上一时刻的输出而忽略的编码阶段每个时刻的输出(“称之为记忆”)。注意力机制的思想在于,希望在解码的时刻能够参考编码阶段的记忆,对上一时刻输出的信息做一定的处理(也就是只注意其中某一部分),然后再喂给下一时刻做解码处理。这样就达到了解码当前时刻时,仅仅只接受与当前时刻有关的输入,类似与先对信息做了一个筛选(注意力选择)。