Sequence to Sequence Learning with Neural Networks是Google的论文,第一次提出采用seq2seq的学习机制,对后面的工作影响很大。

下面是我周末汇报时的slides,可以点击进行下载:

论文的motivation是深度神经网络已经成功地应用在许多的AI任务中,但是存在着一个限制:DNN只能应用于输入和输出的维度是确定的问题中,而自然语言处理中很多任务都是序列到序列的。于是本论文提出了一种方法:先将输入的序列encode成一个固定维度的向量,再将该向量decode出来,这种方法叫做RNNencdec,具体细节请参见此博客

而seq2seq在RNNencdec的基础上主要做了以下一些改进:

  1. 输入序列和输出序列使用两个不同的LSTM
  2. 使用Deep LSTM(4层):比浅层的LSTM效果好得多
  3. 将源句子中的单词顺序进行反转:前面的单词离前面的单词更近,能开个好头,SGD更容易建立联系

实验

实验使用WMT’ 14的English-French翻译任务,结果如下:

可以看到将单词顺序进行反转效果真的提升了很多。