第一步:对数据集进行向量化表示(例如RNN最常用的场景->翻译中对词进行词向量化表示。
常用的向量化表示方法有:对一个数据进行one-hot编码,将编码结果与一个常量矩阵相乘。
初始化所有RNN模块的W1,W2。
第二步:前向过程:
定义:out=o向量
该网络由n个RNN模块组成
For(i=0,i<n,i++)
将向量化的数据与一个矩阵W1相乘得到输出out1,将上一个RNN模块的输出out与一个矩阵W2相乘得到out2,将out1与out2相加得到当前RNN模块的输出out3,给out3施加一个激活函数得到out4,out4即为当前RNN模块的输出,令out=out4。
第四步:反向传播
利用梯度下降法对所有的RNN模块的W1和W2进行更新