Attention mechanism
Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention) – Jay Alammar – Visualizing machine learning one concept at a time. (jalammar.github.io)
注意力机制主要是让下一时刻(要输出最后一个单词student的时候)RNN能够更多注意(给予"étudiant" ("student" in french) 对应的词向量更多的权重)"étudiant" 对应的词向量,
而在翻译出’am‘时则更加注意“suis”对应的词向量。
(图一)
注意力的实现机制:
(图二)
解释:
h1,h2,h3:
机器翻译模型中有两个RNN,一个用于encode,一个用于decode。
encoding RNN 用于给decoding RNN提供hidden state(RNN中的s(t-1)),是不过该mechanism中我们给decoding RNN的hidden state是encoding RNN的所有的在每一步产生的hidden state(如下图所示),也就是等会要说的h1,h2,h3。
(图三)
通过基于Encoder传过来的所有词向量对应的hidden state,在每次翻译一个单词时给予不同hidden stat(h1,h2,h3)不同的分数(如图三所示,翻译“student”时,给予"étudiant"的hidden state更多的分数),然后对分数向量进行softmax运算,得到概率,概率高的,代表模型更加注意该hidden state 。(翻译“student”时,更加注意"étudiant")