赞
踩
(一)、什么是循环神经网络LSTM?
LSTM指的是长短期记忆网络(Long Short Term Memory),它是循环神经网络中最知名和成功的扩展。由于循环神经网络有梯度消失和梯度爆炸的问题,学习能力有限,在实际任务中的效果很难达到预期。为了增强循环神经网络的学习能力,缓解网络的梯度消失等问题,LSTM神经网络便横空出世了。LSTM可以对有价值的信息进行长期记忆,不仅减小循环神经网络的学习难度,并且由于其增加了长时记忆,在一定程度上也缓解了梯度消失的问题。(注:梯度爆炸的问题用一般的梯度裁剪方法就可以解决)。
(二)、LSTM实现长短期记忆的原理是什么?
与传统的循环神经网络相比,LSTM在 h t − 1 h_{t-1} ht−1, x t x_t xt的基础上加了一个cell state(即长时记忆状态 c t − 1 c_{t-1} ct−1)来计算 h t h_t ht,并且对网络模型内部进行了更加精心的设计,加入了遗忘门 f t f_t ft、输入门 i t i_t it、输出门 o t o_t ot三个门神经元以及一个内部记忆神经元 c ~ t \tilde{c}_t c~t(上图2.1中的LSTM网络模型内部黄色的 σ \sigma σ从左到右分别指的是 f t f_t ft、 i t i_t it、 o t o_t ot,黄色的 tanh \tanh tanh则指的是 c ~ t \tilde{c}_t c~t)。遗忘门神经元 f t f_t ft控制前一步记忆单元中信息有多大程度上被遗忘掉;输入门神经元 i t i_t it控制当前记忆中的信息以多大程度更新到记忆单元中;输出门神经元 o t o_t ot控制当前的hidden state(即短时记忆单元)的输出有多大程度取决于当前的长时记忆单元。在一个训练好的网络中,当输入的序列没有重要信息时,LSTM遗忘门的值接近于1,输入门的值接近于0,此时过去的信息将会保留,从而实现了长时记忆的功能;当输入的序列中出现了重要信息时,LSTM应当将其存入记忆中,此时其输入门的值会接近于1;当输入的序列中出现了重要信息,且该信息意味着之前的记忆不再重要时,则输入门的值会接近于1,而遗忘门的值会接近于0,这样旧的记忆就会遗忘,新的重要信息被记忆。经过这样的设计,整个网络更容易学习到序列之间的长期依赖。
(三)、LSTM的原理公式是什么?
经典的LSTM中,第t步的更新计算公式如下( ⊙ \odot ⊙表示元素点乘):
{ 输 入 : x i n p u t = c o n c a t [ h t − 1 , x t ] 遗 忘 门 神 经 元 : f t = σ ( x i n p u t
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。