一、LSTM和BiLSTM神经 络结构及原理介绍
长短期记忆 络(Long short-term memory, LSTM)实质上可以理解为一种特殊的RNN,主要是为了解决RNN 络在长序列训练过程中发生梯度消失和梯度爆炸的问题。相比于RNN,LSTM主要是引入了细胞形态(cell state)用于保存长期状态,而LSTM的关键就在于如何控制长期状态c,从而引用了控制门的机制,该机制可以去除或者增加信息到细胞状态的能力。通过sigmoid函数将门输出为[0,1]的实数向量。当门输出为0时,乘以该向量的任何向量都将得到0向量,即判定为不能通过。当输出为1时,乘以任何向量都不会改变其原值,即可以通过。神经元中加入了输入门(input gate),遗忘门(forget gate),输出门(output gate),以及内部记忆单元(cell),其 络结构图如图1所示。
ht=f(w1xt+w2ht-1) (7)
在Backward层沿着时刻t到时刻1反向计算一遍,得到并保存每个时刻向后隐含层的输出,表示为后向LSTM层。该步骤数学表达公式如式(8)所示。
h′t=f(w3xt+w5h′t+1) (8)
最后,在每个时刻将正向层和反向层在相应时间的输出结果进行组合从而获得最终输出,该输出结合了双向输入序列的信息。该步骤数学表达公式如式(9)所示。
ot=g(w4ht+w6h′t) (9)
BILSTM、LSTM模型 络结构和神经元个数分别如图3(a)和图3(b)所示。
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版 ,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版 ,2017.
[3]周品.MATLAB 神经 络设计与应用[M].清华大学出版 ,2013.
[4]陈明.MATLAB神经 络原理与实例精解[M].清华大学出版 ,2013.
[5]方清城.MATLAB R2016a神经 络设计与应用28个案例分析[M].清华大学出版 ,2018.
[6]江知航,王艳霞,颜家均,周堂容.基于BILSTM的棉花价格预测建模与分析[J].中国农机化学 . 2021,42(08)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!