Advertisement

(seq2seq)论文阅读:Sequence to Sequence Learning with Neural Network

阅读量:

动机

虽然DNN在大部分领域取得成功,但是该论文发表前,DNN并未能实现序列到序列的映射。DNN只能用于输入和输出能够用固定长度向量表示的情况,这是一个重要的限制。现实生活中,存在大量问题,其输入长度不是预先知道的序列。例如,将一个问句映射到一个答案上。

该文章的主要贡献在于:提出一个对序列结构进行最小化假设,一般性的端到端的方法,实现序列学习 。论文提出了sequence to sequence 模型。

具体方法

文章使用LSTM架构提供了一般性的解决方案。方法是:使用一个LSTM阅读输入序列,一个时刻阅读一个单元的内容,最终得到一个固定长度的向量表示v;然后再使用另一个LSTM从向量表示中将目标序列解码出来。第二个LSTM是基于向量表示和。

p(y_1,..., y_{T2}|x_1, .., x_{T1}) = \Pi_{t=1}^{T2}p(y_t|v, y_1, ..., y_{t-1})

下图展示了seq2seq的架构。
在这里插入图片描述

seq2seq与传统的encoder-decoder方法的不同有三点:

  • 使用两个不同的LSTM,其中一个处理输入,另一个处理输出
  • 使用四层LSTM
  • 通过将输入序列倒序 处理,能够大幅提升性能

为什么倒序处理输入序列,作者有以下解释:
通过将input sequence倒序处理,可以使输入序列的第一个word和输出序列的第一个word挨得最近,相应的第二个、第三个word也有类似的效果。循环神经网络在处理距离较长的依赖下是存在困难的。而上述方法能够有效地帮助LSTM,处理词项之间的依赖。

全部评论 (0)

还没有任何评论哟~