一、Introduction
DNN只能应用于输入和目标可以用固定维数的向量进行合理编码的问题。这是一个很大的限制,因为许多重要的问题最好用长度未知的序列来表达。
作者提出了一种端到端的序列学习方法,它对序列结构做了最小的假设:
使用一个多层LSTM将输入序列映射到一个固定维数的向量,然后另一个LSTM将该向量解码为目标序列。
作者提出的方法取得了很好的效果,并且发现颠倒所有源句子(而不是目标句子)中单词的顺序显著提高了LSTM的表现,因为这样做在源句子和目标句子之间引入了许多短期依赖性,这使得优化问题更容易。
二、模型
如图所示,输入序列的长度和输出序列的长度不固定。模型读取的输入句子是颠倒词序后的句子,最后以< EOS >为结尾。输出序列同样输出< EOS >作为结尾。
本文使用的LSTM计算公式是Graves(2013)中提出的添加了peephole的变体:
作者提出的模型主要有3个特点:
1.使用了两个LSTM:一个是encoder,另一个是decoder。
2.使用了深层的LSTM:4层
3.颠倒了输入句子的顺序,如将(a,b&#x