递归神经网络(RNN)的工作原理主要包含以下几个部分:
一、循环单元
RNN使用循环单元作为基本结构。
每个单元包含一个循环连接,可以沿利用前信息。
二、隐状态
RNN通过隐状态h来保存序列中的历史信息。
它通过时间展开,与输入序列一起迭代。
三、循环 backs
RNN使用循环连接,可以将先前的状态信息回传给当前状态。
形成一个有向环图。
四、时间步
RNN根据具体的序列长度分割为不同的时间步来训练。
对每个时间步都执行相同的更新。
五、训练策略
RNN主要通过误差反向传播算法来训练参数。
并使用BPTT算法适应序列训练。
六、长期依赖问题
由于梯度消失或爆炸的问题,RNN难以学习需要长期依赖的序列。
串号 LSTM 来解决此问题。
总的来说,RNN的工作原理包括:
- 使用循环单元来保存序列信息
- 通过隐状态维护序列中的历史信息
- 循环连接将先前信息回传给当前状态
- 根据序列长度分割为不同的时间步
- 使用BPTT算法训练整个序列
- LSTM 来解决长期依赖问题
其中:
- 循环单元和隐状态实现了对序列信息的保存
- 循环连接实现了序列中信息的流通
- BPTT算法允许RNN学习整个序列