本文主要是介绍LSTM中隐层神经元的传播机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
相较于RNN,LSTM只是改变了隐含层中神经元在不同时刻的传播机制
将隐层某个神经元看成一个cell, 这个cell有3个输入,上一个时刻的隐层某神经元的保留状态 Ct−1 ,上一个时刻的隐层某神经元输出的传递信息 ht−1 , 当前时刻的样本 Xt , 该cell由3个gate(forget, input, output)控制。
一、通过忘记门决定从cell中丢失什么信息:
ft=sigmoid(Wfhht−1+WfxXt+bf)
二、 通过输入门决定什么样的新信息被存放在cell中:
决定什么值将要更新:
it=sigmoid(Wihht−1+WixXt+bi)
创建新的候选值向量:
Ct˜=tanh(Wchht−1+WcxXt+bc)
确定更新信息:
Ct=ft∗Ct−1+it∗Ct˜
三、通过输出门决定输出什么:
决定哪个部分将被输出:
ot=sigmoid(Wohht−1+WoxXt+bo)
确定输出部分:
ht=ot∗tanh(Ct)
本文参考资料http://www.open-open.com/lib/view/open1440843534638.html
这篇关于LSTM中隐层神经元的传播机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!