🔄 RNN 原理
循环神经网络详解
Recurrent Neural Network
什么是 RNN?
- 循环神经网络 (Recurrent Neural Network)
- 专门处理序列数据的神经网络
- 核心特点:拥有"记忆"能力
RNN 的核心结构
- 输入层:接收序列中的每个元素
- 隐藏层:保存"上下文信息"
- 输出层:产生当前时刻的输出
工作原理
- 隐藏状态在时间步之间传递
- 每个时间步的输出取决于当前输入 + 之前的记忆
h_t = f(W · h_{t-1} + U · x_t)
h: 隐藏状态 | W, U: 权重矩阵 | x: 输入
时间步展开
- RNN 可以沿时间维度"展开"
- 展开后相当于多层共享权重的网络
- 权重在所有时间步共享 — 这是 RNN 的核心
RNN 的类型
- 一对一:标准神经网络
- 一对多:图像描述生成
- 多对一:情感分类
- 多对多:机器翻译
经典改进:LSTM
- 长短期记忆网络
- 引入门控机制
- 选择性记住/遗忘信息
LSTM 核心门控
- 遗忘门:决定丢弃什么信息
- 输入门:决定存储什么新信息
- 输出门:决定输出什么信息
经典改进:GRU
- 门控循环单元 (Gated Recurrent Unit)
- 结构比 LSTM 更简单
- 合并遗忘门和输入门为更新门
应用场景
- 自然语言处理:文本生成、机器翻译
- 语音识别:语音转文字
- 时间序列:股票预测
- 视频分析:动作识别
📌 总结
- RNN 解决了序列数据的处理问题
- 通过隐藏状态传递上下文信息
- LSTM/GRU 解决了长序列梯度问题
- 是深度学习处理序列的基础模型