一、递归神经网络RNN
实际属于输入之间可能是存在联系的,所以在多次输入x0、x1........中,每次的中间信息A(也称为机器单元)都保存下来传给下次输入的中间信息A,每次输入的计算结果h0、h1......不一定是目标结果可以不使用,只有最终的ht是想要的预测结果。
递归神经网络适合自然语言处理。
每一步都会对它之前所有的操作进行参数更新,这个与其他的神经网络是不同的。
以E3为例,它的反向传播指向s3,而s3的反向传播指向s2和x3,会对它前面的所有的步都进行更新。
递归神经网络会出现梯度消失(某一步的梯度约为0,后面相连的都为0,无法更新)的问题,它会把所有的传递都记忆下来给下一次,这样会使链过长,增加计算时间,且会出现过多的比较小的梯度相乘使得梯度值接近0。
二、长短期记忆网络LSTM(Long Short-Term Memory)
图中的sigma为门单元
ft与Ct-1的作用,判断需要遗忘哪些信息,it为要保留下来的新信息。
Ct更新:一部分是遗忘的信息ft*Ct-1,一部分是保留下来的信息it*~Ct,利用新的控制参数Ct产生输出ht。(tanh为激活函数)
LSTM网络整体架构:它是RNN的优化网络。