定义
循环神经网络(Recurrent Neural Network,RNN)在生成当前时间步的输出时,会参考之前时间步的信息,从而保留序列中的上下文。
例如,在预测时间步 $t$ 的输出 $y_t$ 时,需要输入当前时间步的数据 $x_t$,以及时间步 $t-1$ 的隐藏状态 $h_{t-1}$。
结构
一般的 RNN 都包含隐藏层。隐藏状态会从当前时间步传递到下一时间步:

算法
隐藏状态的计算公式为:
$$ h_t = f(W_{xh}x_t + W_{hh}h_{t-1} + b_h) $$
输出的计算公式为:
$$ y_t = g(W_{hy}h_t + b_y) $$
其中:
- $W_{xh}$:输入到隐藏层的可学习权重矩阵
- $W_{hh}$:上一隐藏状态到当前隐藏状态的可学习权重矩阵
- $W_{hy}$:隐藏层到输出层的可学习权重矩阵
- $b_h$、$b_y$:偏置项
- $f$、$g$:激活函数
**隐藏层维度:**隐藏状态 $h$ 的维度大小是人为设置的超参数。