亲宝软件园·资讯

展开

Sequence to Sequence Learning with Neural Networks论文阅读

数学家是我理想 人气:2
[论文下载](http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf) ![](https://s2.ax1x.com/2020/03/05/3TxBrt.png#shadow) 作者(三位Google大佬)一开始提出DNN的缺点,*DNN不能用于将序列映射到序列*。此论文以机器翻译为例,核心模型是长短期记忆神经网络(LSTM),首先通过一个多层的LSTM将输入的语言序列(下文简称源序列)转化为特定维度的向量,然后另一个深层LSTM将此向量解码成相应的另一语言序列(下文简称目标序列)。我个人理解是,假设要将中文翻译成法语,那么首先将中文作为输入,编码成英语,然后再将英语解码成法语。这种模型与基于短语的**统计机器翻译(Static Machine Translation, SMT)**相比,在**BLUE(Bilingual Evaluation Understudy)**算法的评估下有着更好的性能表现。同时,作者发现,逆转输入序列能显著提升LSTM的性能表现,因为这样做能在源序列和目标序列之间引入许多短期依赖,使得优化更加容易 ### 1 Introduction ![](https://s2.ax1x.com/2020/03/05/379teI.png#shadow) 深度神经网络(Deep Nerual Networks)是一种性能强大的模型,在处理各种难题,如语音识别、图像识别上有着近乎完美的表现。这种模型之所以这么强大,是因为它能在有限的步骤内实现任意并行计算。只要有足够的训练数据集,它就能训练出神经网络的参数,从而DNN能产生很好的效果 虽然DNN有着很强的能力,**但只能将源序列和目标序列都编译为固定维度的向量。这是一个致命的问题,因为很多问题都无法提前预知被表示序列的长度**,例如语音识别与机器翻译 ![](https://s2.ax1x.com/2020/03/05/37yGm6.png#shadow) 解决问题的思路就是先用一层LSTM读入源序列,逐步获得大量维度固定的表示向量,然后用另一层LSTM从向量中提取出目标序列。第二层LSTM本质上是一个语言模型。由于输入和输出之间存在相当大的时间延迟,所以使用LSTM对具有长期时间依赖性的数据进行训练是相当好的选择 第二段作者介绍了其他人的一些工作,这里就不多叙述了 从图中我们可以简要了解LSTM模型的解决思路,先读入源序列"ABC",遇到结束符"

加载全部内容

相关教程
猜你喜欢
用户评论