虽然LSTM没有梯度消失的问题,但是可能会发生梯度爆炸,所以使用范数进行约束,对于每个batch,计算\(s=|g|_2\),其中\(g\)是梯度除以128,如果\(s>5\),则设置\(g=\frac{5g}{s}\)
不同的句子有不同的长度,大多数句子很短(长度为20-30),但是有一些句子长度又很长(长度大于100),因此由128个随机选择的训练句子组成的minibatch将具有许多短句和很少长句,结果就是minibatch中大部分计算都是白费的。为了解决这个问题,确保在一个minibatch中的所有句子长度大致相同,最终速度提高了2倍
3.5 Parallelization 3.6 Experimental Results下表是与其他模型在机器翻译上的效果对比,上面两行是其他模型的效果,下面六行是作者模型在不同参数设置时的效果
此外,作者还尝试将自己的模型与传统的STM系统进行结合,效果显著,BLEU最好的达到了37.0,超过Baseline System将近4个点
3.7 Performance on long sentences在长句子上的表现也很好
3.8 Model Analysis我们模型其中一个吸引力十足的特点就是有能力将一个序列映射为固定维度的向量,上图就是学习过程的可视化表示。每个短语根据其含义而聚类分布,从中我们可以看出其对单词的顺序非常敏感,而对被动语态替换主动语态则相当不敏感
左图展示了LSTM的表现与句子长度的函数关系,其中x轴代表相应句子整理后的长度(Test Sentences Sorted By their Length)。对于少数35字的句子,效果没有下降,只有在最长的句子中有略微的缩减。右图展示了LSTM的表现与句子中词语的稀有度之间的关系,其中x轴代表整理后句子的平均词语频率(Test Sentences Sorted By Average word Frequency Rank)
4 Related work这一部分主要是作者讲述了目前其他人的一些工作以及成果,有兴趣自己阅读即可
5 Conclusion在本论文中,我们发现一个基于有限词汇,具有深层结构的LSTM的性能表现能够胜过一个基于统计机器翻译的系统,基于LSTM的机器翻译的成功说明了它只要在拥有足够的训练数据的前提下,同样能在解决其他问题上发挥出色
我们对逆转源序列后的性能提升程度感到惊讶。同时我们也推断出,找到一个问题具有最大数量的短期相关性是非常重要的,因这样可以简化问题的解决。我们相信一个标准的RNN在逆转源序列后能够更加容易被训练
个人总结这篇文章在当年看来可能非常惊艳,但是我读完这盘文章之后很无感,"不就是两个LSTM拼接吗?"。甚至我觉得作者这篇文章的重点在于逆转源序列进行训练,因为作者在许多地方都提到了,实在是让人印象深刻