【论文笔记】Sequence to Sequence Learning with Neural Networks
这篇论文提出了一种端到端的序列到序列学习方法,使用多层LSTM将输入序列映射到固定维度的向量,再通过另一个LSTM解码目标序列。该方法解决了传统RNN在处理长序列时的梯度消失问题,并在自然语言处理任务中表现出色。论文的主要创新点包括使用两个不同LSTM结构、选择四层LSTM架构以及颠倒输入句子单词顺序的技巧。实验结果表明,该模型在长句子和复杂任务中表现优异,优于传统方法。
Sequence to Sequence Learning with Neural Networks
Abstract :DNN在拥有大量标记训练集时表现出色,但不具备处理序列到序列映射的能力。本文提出了一种端到端的序列训练方法,对序列结构做出了最少假设。我们采用多层LSTM架构,将输入序列映射到固定维度的向量空间,然后,另一个深度LSTM被用来从向量中解码出目标序列。
1 Introduction
1)DNN展现出卓越的能力 :DNN在语音识别和视觉目标检测等具有挑战性的领域展现出卓越的效果。DNN拥有强大的并行计算能力,能够处理大量并行任务。通过监督反向传播算法,可以有效地训练和优化大型DNN模型。一旦找到合适的参数设置,监督反向传播算法就能精准地调整模型参数,从而实现预期目标。
DNN仅适用于输入和输出均具有固定编码维度的问题。这一限制具有重要意义,因为许多关键问题更适合用变长序列进行表示。例如,语音识别和机器翻译都涉及序列处理,而问答系统同样遵循这一模式。
本文采用LSTM架构来处理通用的序列到序列任务。具体而言,第一个LSTM依次读取输入序列,每隔一个时间步获取一个较大尺寸的向量表示;第二个LSTM则从向量中生成输出序列。值得注意的是,第二个LSTM本质上是循环神经网络的一种,其输入序列受特定条件约束。
4)为解决一般的seq到seq的问题,已有很多相关的尝试 :略

此结构能够有效地处理长句子
LSTM模型的显著特征是它具备了能力,能够将可变长度的输入句子转换为固定向量表示。
7)BLEU算法旨在测定机器翻译在两种自然语言之间转换效果的算法。
8)统计机器翻译系统SMT,其翻译结果基于统计模型生成,参数由双语文本语料库的统计分析得出。
2 Model
1)RNN是前馈神经网络对序列seq的自然推广。
当输入输出之间的映射已知时,RNN能够有效地将seq映射到seq。然而,由于复杂且非单调的关系,输入与输出序列的长度不一致,这使得将RNN应用于这些问题仍然存在挑战。
该方法1的4)中出现过
基本方法是利用RNN将输入序列转换为固定长度的向量,随后通过另一个RNN将该向量转换为目标序列【该方法1的4)中出现过
2)LSTM
LSTM的目标函数是估计对输入序列

来说,

是其对应的输出序列的条件概率

,这里长度

和

具有区别性地,LSTM通过计算条件概率来处理序列数据。首先,LSTM利用其最后一个隐藏状态来获取输入序列的信息。

的固定维度表示,然后标准的LSTM-LM公式来计算

的概率,该公式的初始隐藏状态被设为

的向量表示。

在等式中,每个

分布用所有单词在词汇表中的softmax来表示。
我们模型的三大创新点如下:首先,我们采用了两个不同的LSTM结构,一个处理输入序列,另一个处理输出序列。鉴于此配置,模型参数数量得以显著增加,而计算开销可以忽略不计,并且自然支持多语言模型训练。其次,经过实验对比,深层LSTM结构在性能上优于浅层结构,因此我们最终采用了四层LSTM网络。最后,我们发现倒序排列输入句子的单词顺序具有重要意义。
3 Eperiment
4)训练细节
基于四层的LSTM架构,每层均配备1000个神经元和1000维的词嵌入表示。输入端拥有160,000个独特的词汇,输出层则包含80,000个词汇。该模型的深度设计使得每个句子在模型内部被压缩为8000个实数。经过实验发现,较浅的架构在性能上存在明显劣势,每添加一层神经网络,困惑度下降约10%。这一现象可能与模型中增加的隐层状态数量有关。在输出层,我们采用了传统的softmax机制,每次输出能够覆盖超过8000个词汇。最终,整个模型拥有384,000,000个参数,其中64,000,000个参数来源于循环连接部分(其中32,000,000个参数用于编码过程,另32,000,000个参数用于解码过程)。
a、初始化所有LSTM的参数,其均匀分布在-0.08和0.08之间
b、采用无动量的随机梯度下降算法,设置固定的学习率为0.7。在训练5个epoch后,每轮epoch结束后,学习率将减半。
c、使用batch是128
d、每次training batch 之后,计算

,g 是梯度除以128,如果s > 5, 令

。
e、不同句子的长度不同。确保所有小批量中的所有句子长度相同。
f、用8个GPU同时进行处理。LSTM的每一层都在不同的GPU上运行。
6)experiment result
a、LSTM模型在长句子上表现很好。

左图展示了我们系统作为长句子函数的性能,其中x轴表示测试句子按照长度排序的结果。观察结果显示,对于长度小于35的句子,LSTM模型的得分显著高于基准模型。右图展示了LSTM在句子长度逐渐缩短时的性能,其中x轴表示测试句子按照平均词频排序的结果。分析结果表明,对于词频排名在2500之前的词汇,LSTM模型的性能优于基准模型。
b、我们的模型能够将一个词序列转换为一个固定维度的向量。该图表明,表征物对于词序是敏感的,但对于主被动语态则不敏感。

通过分析图中的短语,得到LSTM模型隐藏状态的二维PCA投影结果。这些短语属于词义聚类的结果,这表明它们在这些例子中呈现出词序函数的特征。用词袋模型难以准确捕捉其特点。
