[2014]Sequence to Sequence Learning with Neural Networks

来源:互联网 发布:js遍历二维数组 编辑:程序博客网 时间:2024/06/07 22:46

之所以看这篇文章是因为很多文章都引用了,后知后觉的发现原来是sequence to sequence的经典之作,以非常虔诚的态度读了一遍。
之前RNN解决的问题:(单个RNN解决此问题)
输入序列和输出序列长度一致,比如词性标注,命名实体识别等等, 此类问题单个RNN即可解决,输出序列和输入序列对应
但是还有另一类问题:(本文致力于解决的问题)
输入序列的长度和输出的序列不一定长度相同,比如机器翻译等问题,源语言的句子和目标语言的句子长度不相等,所以本文提出了用两个不同的LSTM, 第一个LSTM 用于将语言编码成一个固定维度的向量,另一个LSTM将这个固定维度的向量解码成目标序列。并且在解码的时候用到了beam search

本文的三点贡献(我们在解决自己问题的时候也是可以借鉴用的):
A:one lstm用于input sequence, another for the output sequence
B:deep LSTMs 的效果要明显优于 shallow LSTM, 本文的两个LSTM都是用了四层
C:需要注意的是:每个句子都人为地加入了一个特殊符号, 这个符号在解码的时候非常有用,在解码的时候如果输出的符号是, 则停止解码。将句子逆序输入,比如输入序列是”A”, “B”, “C”, “”, 则在输入的时候顺序是 “C”, “B”, “A”,
“”.

为了更好滴理解本文,此处给出别人对此文的理解
http://ju.outofmemory.cn/entry/107543
http://blog.csdn.net/u013713117/article/details/54773467
http://blog.csdn.net/fangqingan_java/article/details/53232030
http://blog.csdn.net/qq_35647180/article/details/53576809

阅读全文
0 0