Sequence to Sequence Learning with Neural Networks_2014【machine translation】
The paper introduces an end-to-end differentiable neural machine translation model that significantly advances the field of sequence-to-sequence learning.
作者:Ilya Sutskever,Oriol Vinyals,Quoc V. Le
需补习知识:RNN,LSTM,SGD,PCA,beam search
what:
提出一个端到端的序列学习的编解码模式
应用于英文->法语的翻译任务
why:
尽管具有灵活性,在输入与输出上存在局限性。具体而言,在输入与输出过程中仅限于处理固定维数的向量,并且其维度是预先确定的。
how:
seq2seq模型由两部分组成:
encoder:
- 一个 deep LSTM
- 将长度可变的input sequence映射为定长vector
deoder:
- 另一个 deep LSTM
- 将上一步的定长vector解码到target sequence

该论文在原始LSTM模型上的创新点:
1.two different LSTM
2.deep LSTMs(four layers) 比浅层LSTM好
3.reverse the order of the words of input sentence:
本方法降低了困惑度,并显著提高了BLUE分数;推测其翻转词汇有效的主要原因可能是引入了许多短期依赖关系。
4.预测时候使用beam search :(贪心搜索的一种)
仅在预测阶段使用,在训练阶段已知真实答案无需进行搜索。在进行预测时,假设词汇表为3个元素:{a, b, c},并采用beam search的大小设为2; decoder解码的过程中:
4.1 在生成第一个词的过程中,在条件概率分布中选取概率最高的两个候选词a和c;通过这种方法得到的当前生成序列分别为a和c。
在生成第二个词的过程中,在结合当前序列和词汇表中的所有可能词汇后
4.3 后面不断重复这个过程,知道遇到结束符或者达到最大长度为止。
notes:
开发了一种基于seq2seq架构的编码解码模式,并被广泛应用于处理长句子;在长序列处理方面依然表现出色;由于采用了反转源语序而非目标语序的方法,在不破坏目标意义的前提下引入了许多短距离依赖关系;从而简化了整体优化过程;采用传统的随机梯度下降方法来进行模型训练
该方法能够有效避免出现梯度消失的情况;然而,在某些情况下可能会导致梯度爆炸现象出现(当计算出的梯度其范数超过设定阈值时会对其进行缩放处理)。
3.鉴于句子长短不一可能造成小批量处理时计算资源的浪费问题,在每次批量处理中优化了批量处理的策略以使各批次的平均长度相近,并因此实现了2倍效率的提升。
4.对词表外的词没法翻译。
问题:
1.RNN的输入时定长的,LSTM呢?输入输出不需要定长吗?
2.源句子经翻转后与目标句子之间的平均距离未发生变化。在最初的几项中其间距缩短了但后续几项之间的间距长度是否保持不变的问题?

