乾明 编译整理
量子位 出品 | 公众号 QbitAI
注意力(Attention)机制,是神经机器翻译模型中非常重要的一环,直接影响了翻译的准确度与否。
可以这么说,没有注意力机制,机器翻译的水平只有60-70分。有了注意力机制,翻译的水平就能够达到80-90分了。
它是如何发挥作用的呢?很多人一解释起来,就是铺天盖地的数学公式,让人还没来得及看,就直接懵逼了。
最近,有一篇文章用图解的方式,完整地介绍了“注意力机制”的原理逻辑,并以谷歌神经翻译为例,解释了它的运作机制。
作者说,写这篇文章的目的,是为了让大家在不去看数学公式的情况下,掌握注意力的概念。他也会以人类译者为例,将相关的概念形象化。
神经机器翻译为何需要注意力机制?神经机器翻译方法诞生于2013年。那一年,牛津大学的研究团队发表了一篇题为Recurrent Continuous Translation Models的论文,提出了一个用于机器翻译的新模型。
这个新模型使用的是端到端的编码器-解码器结构。
在处理翻译工作的时候,先用卷积神经网络(CNN),将原始文本编码成连续的向量,然后使用循环神经网络(RNN)将连续向量转换成目标语言。
但由于梯度爆炸/消失的存在,但使用这种方法很难获取更长句子背后的信息,导致翻译性能大幅下降。
在2014年,当时在谷歌工作的Ilya Sutskever等人提出了序列到序列(seq2seq)学习的方法,将RNN同时用于编码器和解码器。
也把RNN的典型变体长短时记忆(LSTM)引入到了神经机器翻译中。这样以来,梯度爆炸/消失就得到了控制,长距离重新排序的问题得到了缓解。
正所谓是摁下葫芦起来瓢,新的问题又出现了。seq2seq方法中,解码器从编码器中接收的唯一信息, 是最后编码器的隐藏状态,这是一个向量表征,是输入序列文本的数字概要。
具体如下图中的两个红色节点所示。