循环神经网络(RNN)全解析
1. 引言
在处理数据时,传统的多层感知器神经网络假定所有输入相互独立。然而,对于许多类型的序列数据,如句子中的单词、音乐作品中的音符、随时间变化的股票价格,甚至化合物中的分子,元素之间往往存在依赖关系。循环神经网络(RNN)应运而生,它可以利用输入的顺序特性,处理这类具有序列依赖的数据。
2. 基本RNN单元
2.1 序列依赖与隐藏状态
RNN单元通过隐藏状态(或记忆)来体现序列元素之间的依赖关系。任意时刻的隐藏状态值是前一时刻隐藏状态值和当前时刻输入值的函数,用公式表示为:
[h_t = \phi(h_{t-1}, X_t)]
其中,(h_t) 和 (h_{t-1}) 分别是时刻 (t) 和 (t - 1) 的隐藏状态值,(x_t) 是时刻 (t) 的输入值。这个公式是递归的,意味着 (h_{t-1}) 可以用 (h_{t-2}) 和 (x_{t-1}) 表示,依此类推,直到序列开始。这就是RNN对任意长序列信息进行编码和整合的方式。
2.2 RNN单元的图形表示
RNN单元可以用图形表示,在时刻 (t),单元有输入 (x(t)) 和输出 (y(t)),部分输出 (y(t))(由隐藏状态 (h_t) 表示)会反馈回单元,供后续时刻 (t + 1) 使用。
2.3 权重矩阵
与传统神经网络将学习参数存储为权重矩阵类似,RNN的参数由三个权重矩阵 (U)、(V) 和 (W) 定义,分别对应输入、输出和隐藏状态的权重。
2.4 RNN的展开视图
将RNN按完整序列展开,每个时
RNN全解析:从基础到变体
超级会员免费看
订阅专栏 解锁全文
1598

被折叠的 条评论
为什么被折叠?



