循环神经网络
Recurrent Neural NetworkRNN常用按时间步逐个处理序列、用隐藏状态记住过去信息的神经网络。
循环神经网络是一类处理序列的神经网络:每读入一个时间步的输入,就结合上一步的隐藏状态(记录历史的向量)算出新状态,各步共用同一套参数。普通 RNN 在长序列上容易梯度消失、记不住久远信息,于是有了带门控的变体:1997 年 Hochreiter 和 Schmidhuber 提出长短期记忆网络 LSTM,2014 年 Cho 等人提出更精简的门控循环单元 GRU。RNN 必须逐步计算、难以并行训练,在语言领域已基本被 Transformer 取代;但它推理时每步只需更新一个状态、开销小,机器人里仍常用来做需要记忆历史的策略。
例子模仿学习库 robomimic 提供 BC-RNN 算法:用 LSTM 依次读入过去若干步的观测、输出当前动作,常被用作扩散策略等新方法的对比基线。
- 也叫
- 循环网络、LSTM、GRU、长短期记忆网络、门控循环单元
- 相关
- Transformer、长短期记忆网络 / 门控循环单元、梯度消失 / 梯度爆炸、状态空间模型、循环状态空间模型、历史编码器
- 来源
- Dive into Deep Learning: Long Short-Term Memory (LSTM)
Dive into Deep Learning: Gated Recurrent Units (GRU)
robomimic Documentation: Overview