循环神经网络是一类专为处理序列数据(如时间序列、文本、语音)设计的神经网络,其核心特点是具有记忆能力,能够利用前一时刻的隐藏状态(Hidden State)来影响当前时刻的输出。RNN 通过循环连接(Recurrent Connection)捕捉序列中的动态信息,适用于输入或输出具有时序依赖的任务。
核心思想:
1.循环连接
传统神经网络:每层神经元之间无记忆,独立处理输入(如全连接网络)。
RNN 的改进:隐藏层神经元不仅接收当前输入,还接收上一时刻的隐藏状态,形成时间上的信息传递。
2.时序展开
RNN 可以按时间步展开为链式结构,每个时间步共享相同的权重(参数复用)。
RNN的变体与改进:
1.长短期记忆网络(LSTM, Long Short-Term Memory)
解决梯度消失/爆炸问题:通过门控机制(输入门、遗忘门、输出门)选择性记忆长期依赖。
2.控循环单元(GRU, Gated Recurrent Unit)
简化版LSTM:合并输入门和遗忘门为“更新门”,减少参数量,其特点是训练更快,适合小规模数据。
3.双向RNN(Bi-RNN)
同时捕捉前后文信息:由前向和后向两个RNN组成,输出拼接或加权,适用于机器翻译、语音识别等。