
a:上一个时间步的激活值(activate value)
x :第x个输入(一句话中第x个字)
y:第y个输出(预测值)
Waa:与激活值进行计算的参数。其中第一个a是指当前参数是计算a(激活值)的,第二个a是指当前参数与激活值进行乘运算
Wax:与输入进行计算的参数。其中第一个a是指当前参数是计算a(激活值)的,第二个x是指与输入值x进行运算
Wya:与激活值运算的参数,得到的记过为y。其中第一个y是指当前参数是计算输入值y的,第二个a是指与激活值a进行运算

大白话:1. 整个过程就是先用上一层的得到的激活值和当前层的输入分别乘参数后相加,得到当前层的激活值a,最后用a乘参数得到当前层的输入y; 2. 参数共享:Waa在第一层计算了之后,后面的每个时间步是共享的,即公用一个参数矩阵。
合并计算a是的两个参数矩阵:Waa和Wax,即可得到:

采样我的理解就是取值,如语言模型,在第一层,输入a0和x0之后,通过计算预测下一个词是词库里的每个次的概率,该过程就是采样。
rnn的算法结构图:

图虽然简单,但是意思都到了。流程就是:通过参数和a与x进行运算后,一方面可以得到a,另一方面可以使用softmax激活函数得到预测值y
公式:


先公式后说明:

说明:
在图中,流程是:
step1: 使用c(即RNN中的a)和x分别与对应的参数矩阵运算:将得到的结果使用sigmoid函数得到更新门的值,使用tanh得到候选记忆细胞的值。
step2: 使用公式:

得到c的值(图中紫色的黑团表示这个公式的计算),如果使用softmax等激活函数,还可得到预测值y.

前提:在GRU中,a是等于c的,而LSTM对此进行了改进。如下:


完结,撒花。整个RNN以及两个变体GRU和LSTM的基本公式和单元图就这些,认真看,还是能看懂的,都是基本的公式,慢慢理解。
这里的公式是截图的,我的csdn博客的公式是我敲的,好看些,如有需要请转入blog.