一、RNN
1.循环神经网络概述
循环神经网络(Recurrent Neural Network,RNN),简称RNN。它与DNN和CNN的不同是:可处理序列问题(如一段文字,一段语音等)。如给定一个索引从0-T的序列,对于任意的索引号t,它对应的输入是,则模型在t时刻的隐藏状态由和t-1时刻的隐藏状态共同决定。而t时刻的输出则是由通过非线性变换得到。
也就是说,当我们在理解一句话时,不光要理解句子中的字,更要理解字前面或者后面的句子序列信息,以达到理解整个句子序列的目标。
理论上来说,RNN可以理解关联往前或往后的任意多个字序列。
2.循环神经网络模型
我想以一张图的方式简明扼要的阐述RNN模型。
其中:
x(t):代表在序列索引号 t 时训练样本的输入。
h(t):代表在序列索引号 t 时模型的隐藏状态。
o(t):代表在序列索引号 t 时模型的输出。
L(t):代表在序列索引号 t 时模型的损失函数,模型整体的损失函数是所有的L(t)相加和。
y(t):代表在序列索引号 t 时训练样本序列的真实输出。
U、V、W这三个矩阵是模型的参数。他们在整个网络中是共享的。——共享权重
3.循环神经网络前向传播算法
4.循环神经网络反向传播算法
注:循环神经网络和recursive neural network(递归神经网络)的区别。
二、LSTM
长短期记忆网络(Long Short-Term Memory,LSTM)