Sequence to Sequence Learning with Neural Networks

论文地址:https://arxiv.org/abs/1409.3215

参考译文:https://blog.csdn.net/qq_28385535/article/details/86421359

参考笔记:1.https://blog.csdn.net/qq_35647180/article/details/53576809

                  2.https://blog.csdn.net/u013713117/article/details/54773467

                  3.https://www.jianshu.com/p/f5c2cc5b661c

使用sequence-to-sequence模型,应用长短期记忆模型(LSTM),在机器翻译中产生了更好地效果。论文中为英语到法语的翻译。

在论文前面提到,虽然DNN相对灵活和有效,但是,对于神经网络的输入有一定的要求,即神经网络用于编码的输入只能是固定维度的,而在机器翻译过程中,输入的句子并不是固定维度,所以,引入了LSTM,即长短期记忆模型。

其思想是,通过使用一个LSTM来读取输入序列,为了获得最大固定维度的向量表示(即最终的隐藏态),每一时刻读取一次,然后使用另外一个LSTM从该向量中提取出输出序列(如图1)。对于第二个LSTM来说,除了它是以输入序列作为条件以外,它是一个循环神经网络语言模型。LSTM在具有长时依赖的数据上具有很好的学习能力,这使得在考虑输入及其相应输出之间的时间关系的应用中,LSTM是一种自然而然的选择。

(The idea is to use one LSTM to read the input sequence, one timestep at a time, to obtain large fixeddimensional vector representation, and then to use another LSTM to extract the output sequence from that vector (fig. 1). The second LSTM is essentially a recurrent neural network language model [28, 23, 30] except that it is conditioned on the input sequence. The LSTM’s ability to successfully learn on data with long range temporal dependencies makes it a natural choice for this application due to the considerable time lag between the inputs and their corresponding outputs (fig. 1).)

LSTM一个非常有用的属性是它能够将一个可变长度的输入句子映射成一个固定维度的向量表示。鉴于翻译倾向于对源句的释义,翻译目标鼓励LSTM找到捕捉其含义的句子表示,因为具有相似含义的句子彼此接近,而不同的句子意义将是远的。定性评估支持这种说法,表明我们的模型知道单词顺序,并且对积极和消极的语音是相当不变的。

 

循环神经网络(RNN)是针对序列的前向神经网络的通用模型。在给定一个输入序列(x1,...,xT)(x_1,...,x_T)(x1​,...,xT​)时,一个标准的RNN通过迭代如下的公式来计算一个输出序列(y1,...yT)(y_1,...y_T)(y1​,...yT​):
ht=sigm(Whxxt+Whhht−1)h_t=sigm(W^{hx}x_t+W^{hh}h_{t-1})ht​=sigm(Whxxt​+Whhht−1​)
yt=Wyhhty_t=W^{yh}h_tyt​=Wyhht​
  只要提前知道输入输出之间的对齐,RNN就可以轻松地将序列映射到序列。然而,目前尚不清楚如何将RNN应用于其输入和输出序列具有不同长度且具有复杂和非单调关系的问题
  对于一个通用的序列学习来说,最简单的策略是使用RNN将输入序列映射成一个固定大小的向量,然后再使用另外一个RNN将向量映射成目标序列。尽管其在原则上能够有效,因为提供给了RNN所有相关信息,但是由于序列的长时依赖问题,RNNs是很难训练的(如图1)。然而,长短期记忆网络(LSTM)能够解决这个问题,因此一个LSTM也许能够用于这个网络结构中。
  
  在三个不同的方面,我们实际的模型有所区别于其他的模型
  (1)我们使用了两个不同的LSTMs:一个用于输入序列,另一个用于输出序列,因为这样做在忽略计算成本的同时增加模型参数的数量,并且可以自然地同时在多个语言对上训练LSTM。
  (2)其次,我们发现深层LSTM明显优于浅层LSTM,因此我们选择了一个四层LSTM。
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值