打字猴:1.700538894e+09
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
1700538925 分析与解答
1700538926
1700538927 关于激活函数的选取,在LSTM中,遗忘门、输入门和输出门使用Sigmoid函数作为激活函数;在生成候选记忆时,使用双曲正切函数Tanh作为激活函数。值得注意的是,这两个激活函数都是饱和的,也就是说在输入达到一定值的情况下,输出就不会发生明显变化了。如果是用非饱和的激活函数,例如ReLU,那么将难以实现门控的效果。 Sigmoid函数的输出在0~1之间,符合门控的物理定义。且当输入较大或较小时,其输出会非常接近1或0,从而保证该门开或关。在生成候选记忆时,使用Tanh函数,是因为其输出在−1~1之间,这与大多数场景下特征分布是0中心的吻合。此外,Tanh函数在输入为0附近相比Sigmoid函数有更大的梯度,通常使模型收敛更快。
1700538928
1700538929 激活函数的选择也不是一成不变的。例如在原始的LSTM中,使用的激活函数是Sigmoid函数的变种,h(x)=2sigmoid(x)−1,g(x)=4sigmoid(x)−2,这两个函数的范围分别是[−1,1]和[−2,2]。并且在原始的LSTM中,只有输入门和输出门,没有遗忘门,其中输入经过输入门后是直接与记忆相加的,所以输入门控g(x)的值是0中心的。后来经过大量的研究和实验,人们发现增加遗忘门对LSTM的性能有很大的提升[26],并且h(x)使用Tanh比2*sigmoid(x)−1要好,所以现代的LSTM采用Sigmoid和Tanh作为激活函数。事实上在门控中,使用Sigmoid函数是几乎所有现代神经网络模块的共同选择。例如在门控循环单元和注意力机制中,也广泛使用Sigmoid函数作为门控的激活函数。
1700538930
1700538931
1700538932 此外,在一些对计算能力有限制的设备,诸如可穿戴设备中,由于Sigmoid函数求指数需要一定的计算量,此时会使用0/1门(hard gate)让门控输出为0或1的离散值,即当输入小于阈值时,门控输出为0;当输入大于阈值时,输出为1。从而在性能下降不显著的情况下,减小计算量。经典的LSTM在计算各门控时,通常使用输入xt和隐层输出ht−1参与门控计算,例如对于输入门的更新:。其最常见的变种是加入了窥孔机制[27],让记忆ct−1也参与到了门控的计算中,此时输入门的更新方式变为
1700538933
1700538934
1700538935
1700538936
1700538937 (10.19)
1700538938
1700538939 总而言之,LSTM经历了20年的发展,其核心思想一脉相承,但各个组件都发生了很多演化。了解其发展历程和常见变种,可以让我们在实际工作和研究中,结合问题选择最佳的LSTM模块,灵活地思考,并知其所以然,而不是死背各种网络的结构和公式。
1700538940
1700538941
1700538942
1700538943
[ 上一页 ]  [ :1.700538894e+09 ]  [ 下一页 ]