1. weakness of simple RNNenc Architecture
传统的neural machine translation 大都是基于encoder-decoder模型,即通过一个encoder将源句子编码成一个固定长度的向量表示,再使用decoder将这个向量作为输入,然后获得输出。这样的话,Encoder需要将整个句子编码到一个固定长度的向量,如果句子长度不大,还OK,当句子长度一大,将其压入固定维度的向量必定会造成信息的丢失,因此,传统的结果无法包含源句子的所有信息,这也成为一个瓶颈。当然,直觉上我们可以通过增加维度来解决,但是这样不管对内存还是计算性能上,都有更高的要求。那么,有没有什么好的方法呢?
2. soft attention mechanism for NMT
为了解决上面的问题,作者提出了一种基于encoder-decoder模型的扩展,这个模型可以同时做到对齐和翻译任务。模型基于这样的思想:target端的翻译过程中,每一个词的生成往往只与源句子部分词相关,因此没有必要每次预测词都使用全部的信息。每一次decoder生成target时,它会从encoder每一个时间点生成的hidden state中去搜寻和当前target相关的词信息,然后基于这些相关的词信息与先前生成的所有target信息一起,来预测当前target。