1700538875
1700538876
难度:★★☆☆☆
1700538877
1700538878
分析与解答
1700538879
1700538880
有图有真相,我们首先结合LSTM结构图以及更新的计算公式探讨这种网络如何实现其功能,如图10.2所示。
1700538881
1700538882
1700538883
1700538884
1700538885
图10.2 长短时记忆模型内部结构示意
1700538886
1700538887
与传统的循环神经网络相比,LSTM仍然是基于xt和ht−1来计算ht,只不过对内部的结构进行了更加精心的设计,加入了输入门it、遗忘门ft以及输出门ot三个门和一个内部记忆单元ct。输入门控制当前计算的新状态以多大程度更新到记忆单元中;遗忘门控制前一步记忆单元中的信息有多大程度被遗忘掉;输出门控制当前的输出有多大程度上取决于当前的记忆单元。
1700538888
1700538889
经典的LSTM中,第t步的更新计算公式为
1700538890
1700538891
it=σ(Wixt+Uiht−1+bi) ,
1700538892
1700538893
(10.13)
1700538894
1700538895
ft=σ(Wfxt+Ufht−1+bf) ,
1700538896
1700538897
(10.14)
1700538898
1700538899
ot=σ(Woxt+Uoht−1+bo) ,
1700538900
1700538901
(10.15)
1700538902
1700538903
1700538904
=Tanh(Wcxt+Ucht−1) ,
1700538905
1700538906
(10.16)
1700538907
1700538908
1700538909
ct=ft⊙ct−1+it⊙ ,
1700538910
1700538911
(10.17)
1700538912
1700538913
ht=ot⊙Tanh(ct) .
1700538914
1700538915
(10.18)
1700538916
1700538917
其中it是通过输入xt和上一步的隐含层输出ht−1进行线性变换,再经过激活函数σ得到的。输入门it的结果是向量,其中每个元素是0到1之间的实数,用于控制各维度流过阀门的信息量;Wi、Ui两个矩阵和向量bi为输入门的参数,是在训练过程中需要学习得到的。遗忘门ft和输出门ot的计算方式与输入门类似,它们有各自的参数W、U和b。与传统的循环神经网络不同的是,从上一个记忆单元的状态ct−1到当前的状态ct的转移不一定完全取决于激活函数计算得到的状态,还由输入门和遗忘门来共同控制。
1700538918
1700538919
在一个训练好的网络中,当输入的序列中没有重要信息时,LSTM的遗忘门的值接近于1,输入门的值接近于0,此时过去的记忆会被保存,从而实现了长期记忆功能;当输入的序列中出现了重要的信息时,LSTM应当把其存入记忆中,此时其输入门的值会接近于1;当输入的序列中出现了重要信息,且该信息意味着之前的记忆不再重要时,输入门的值接近1,而遗忘门的值接近于0,这样旧的记忆被遗忘,新的重要信息被记忆。经过这样的设计,整个网络更容易学习到序列之间的长期依赖。
1700538920
1700538921
问题2 LSTM里各模块分别使用什么激活函数,可以使用别的激活函数吗?
1700538922
1700538923
难度:★★★☆☆
1700538924
[
上一页 ]
[ :1.700538875e+09 ]
[
下一页 ]