1700508708
1700508709
1700508710
1700508711
图11-57 LSTM序列
1700508712
1700508713
基于LSTM(Long-Short Term Memory)算法实现的神经网络也叫作“长短期记忆人工神经网络”,它是RNN网络的一个重要变种(如图11-58所示)。LSTM算法训练的对象就是xi和hi的序列对,xi是输入向量,hi是输出向量。
1700508714
1700508715
1700508716
1700508717
1700508718
图11-58 LSTM网络结构
1700508719
1700508720
在一个LSTM网络中有这样几个结构,分别如图11-59、图11-60、图11-61和图11-62所示。σ就是Sigmoid函数,有
1700508721
1700508722
1700508723
1700508724
1700508725
1700508726
1700508727
1700508728
1700508729
图11-59 LSTM结构(1) 图11-60 LSTM结构(2) 图11-61 LSTM结构(3) 图11-62 LSTM结构(4) ft的激励值来源于ht-1和xt两个元素,也就是当前的xt向量和前一个输出值ht-1。这个输出的ft取值范围为(0, 1),输出到上面一条横线后通过一个乘法器与上一次的输出值ht-1相乘。这个部分叫作“忘记门”。所谓“忘记”就是指ht-1输入的值在乘以一个取值为0到1之间的百分比之后还剩下多少。如果是0,那就是完全忘记;如果是1,那就是完全记住。
1700508730
1700508731
it这个值的产生方式与前面的ft是一样的,为了区别,下标用t来表示。
1700508732
1700508733
1700508734
1700508735
1700508736
1700508737
的含义是通过ht-1和xt向量的刺激产生一个取值范围为(-1, 1)的值。
1700508738
1700508739
1700508740
1700508741
1700508742
1700508743
it和的乘积生成一个在(-1, 1)之间的值作为权重。
1700508744
1700508745
1700508746
传递到下一个状态的Ct是由和Ct-1线性叠加得到的。这个部分是LSTM和传统的RNN区别最大的地方,Ct-1及以前的状态可以通过这样一个普通的线性叠加方式传递到当前状态。
1700508747
1700508748
1700508749
1700508750
1700508751
最后,这个结构决定输出ot和ht。
1700508752
1700508753
1700508754
1700508755
1700508756
在实际应用中,通常根据输入的维度来决定LSTM单元的使用数量。例如,在NLP领域通常滑动窗口会比较大,要至少能够覆盖整个句子。所以,这种情况下可能会使用上百个LSTM单元一起工作。
1700508757
[
上一页 ]
[ :1.700508708e+09 ]
[
下一页 ]