论文下载
作者 (三位 Google 大佬) 一开始提出 DNN 的缺点, DNN 不能用于将序列映射到序列. 此论文以机器翻译为例, 核心模型是长短期记忆神经网络 (LSTM), 首先通过一个多层的 LSTM 将输入的语言序列(下文简称源序列) 转化为特定维度的向量, 然后另一个深层 LSTM 将此向量解码成相应的另一语言序列 (下文简称目标序列). 我个人理解是, 假设要将中文翻译成法语, 那么首先将中文作为输入, 编码成英语, 然后再将英语解码成法语. 这种模型与基于短语的统计机器翻译(Static Machine Translation, SMT) 相比, 在 BLUE(Bilingual Evaluation Understudy)算法的评估下有着更好的性能表现. 同时, 作者发现, 逆转输入序列能显著提升 LSTM 的性能表现, 因为这样做能在源序列和目标序列之间引入许多短期依赖, 使得优化更加容易
1 Introduction
深度神经网络 (Deep Nerual Networks) 是一种性能强大的模型, 在处理各种难题, 如语音识别, 图像识别上有着近乎完美的表现. 这种模型之所以这么强大, 是因为它能在有限的步骤内实现任意并行计算. 只要有足够的训练数据集, 它就能训练出神经网络的参数, 从而 DNN 能产生很好的效果
虽然 DNN 有着很强的能力, 但只能将源序列和目标序列都编译为固定维度的向量. 这是一个致命的问题, 因为很多问题都无法提前预知被表示序列的长度, 例如语音识别与机器翻译
解决问题的思路就是先用一层 LSTM 读入源序列, 逐步获得大量维度固定的表示向量, 然后用另一层 LSTM 从向量中提取出目标序列. 第二层 LSTM 本质上是一个语言模型. 由于输入和输出之间存在相当大的时间延迟, 所以使用 LSTM 对具有长期时间依赖性的数据进行训练是相当好的选择
- \[ \hat{
- T
- }=\mathop{
- argmax
- }\limits_{
- T
- }\ p(T|S) \]
- 3.3 Reversing the Source Sentences
来源: http://www.bubuko.com/infodetail-3459331.html