人工神经网络、RNN、LSTM训练过程浅析
二、RNN训练过程
RNN和人工神经网络一样,也具有输入层、隐藏层和输出层,但不一样的是RNN的隐藏层和深度神经网络相似,具有多层隐藏层,每一层受当前时刻输入和前一时刻输出的影响。整个RNN网络结构如下:
、
、
代表t-1、t 和 t+1 时刻的输入,W表示输入的权重,U表示当前时刻输入 的权重,V表示输出的权重,他们都是权值共享,即每一个W的值都是一样的,U、V同理。
在t=1时,一般令s0=0,或者初始化一个值:
其中,f和g均为**函数. 其中f可以是tanh,relu,sigmoid等**函数,g通常是softmax也可以是其他。
后面的每一层随着时间传递:
权值更新:
采用BPTT算法进行反向更新,从输出误差E开始,往前面分别对W、U、V进行梯度更新,详细过程可参考博客
https://blog.****.net/qq_32241189/article/details/80461635
三、LSTM(长短时记忆网络)
长短时记忆网络在RNN的基础之上添加了长期依赖信息,主要是在每一个cell(即每一个时刻的输入单元)增添了三个门控----遗忘门、输入门和输出门。整个前向传递过程如下图所示:
最左边的 是遗忘门,遗忘门用于选择需要记住多少信息
是遗忘矩阵,由0-1组成,以此来决定保留多少当前时刻的状态,
含有前t-1个时刻的信息。
中间代表输入门,其中的 和
分别是输入矩阵和状态矩阵
经过当前时刻单元的记忆状态信息即为:
最右边的代表输出门是输出矩阵
其中符号 表示按元素乘,
代表A,B的增广矩阵,
代表sigmoid**函数。
好了,前向传递过程结束,过程简单易懂。参考博客:
https://zybuluo.com/hanbingtao/note/581764