TensorFlow深度学习实战(14)——循环神经网络详解
TensorFlow深度学习实战(14)——循环神经网络详解
- 0. 前言
- 1. 基本循环神经网络单元
- 1.1 循环神经网络工作原理
- 1.2 时间反向传播
- 1.3 梯度消失和梯度爆炸问题
- 2. RNN 单元变体
- 2.1 长短期记忆
- 2.2 门控循环单元
- 2.3 Peephole LSTM
- 3. RNN 变体
- 3.1 双向 RNN
- 3.2 状态 RNN
- 4. RNN 拓扑结构
- 小结
- 系列链接
0. 前言
循环神经网络 (Recurrent Neural Network
, RNN
) 是一类特殊的神经网络结构,广泛应用于处理和分析序列数据,如文本、语音、时间序列等。与传统的神经网络不同,RNN
具有记忆功能,可以通过循环连接处理序列中各个元素之间的依赖关系。
1. 基本循环神经网络单元
1.1 循环神经网络工作原理
传统的多层感知器神经网络假设所有输入都彼此独立,但这种假设对许多类型的序列数据并不成立。例如,句子中的单词、乐曲中的音符、随时间变化的股票价格,甚至化合物中的分子,都是一个元素的出现取决于其前面元素的序列。
循环神经网络 (Recurrent Neural Network
, RNN
) 单元通过使用隐藏状态(或记忆)来包含这种依赖关系,该隐藏状态保存到目前为止所见内容的要点。任意时刻的隐藏状态值是前一时刻的隐藏状态值和当前时刻输入值的函数,即: