Advertisement

循环神经网络

阅读量:

循环神经网络特点:旨在更好地捕捉时序数据而设计。该网络通过引入状态变量以存储和反映过去的输入信息,并通过这些状态与当前输入共同作用于确定当前输出的行为模式。

Recurrent Neural Networks (RNNs) are commonly employed to process sequential data, such as a sequence of text tokens, speech sounds, shopping or viewing sequences, even extends to analyzing the spatial patterns within image rows or columns. Additionally, RNNs exhibit a broad range of practical applications, including language models, text classification, machine translation systems, audio recognition systems, image analysis methods, handwritten character recognition systems and recommendation systems. Furthermore, they have been successfully applied in diverse fields such as natural language processing and computer vision.

以上是书中得描述,重点,处理序列数据。

语⾔模型

⻓度为T的词的序列W_1W_2,. . . ,W_T

语⾔模型的计算

基于上述假设,我们可以推导出概率模型为P(w₁, w₂, ..., w_T) = \prod\limits_{t=1}^T P(w_t | w₁, ..., w_{t-1})

n元语法

随着序列长度的增长,在计算并保存多词联合出现几率方面所面临的复杂度将呈现显著增长趋势。

这里跳过了条件概率下的前几项。
马尔可夫链具有"无记忆"的特性:其未来的状态仅受当前状态的影响,在时间序列中与其他时间点的状态无关,并且维基百科解释进一步阐述了这一特性。

⻓度为4的序列w1, w2, w3, w4在⼀元语法、⼆元语法和三元语法中的概率分别为

P(w_1, w_2, w_3, w_4) = P(w_1)P(w_2)P(w_3)P(w_4)

P(w_1, w_2, w_3, w_4) = P(w_1)P(w_2 | w_1)P(w_3 | w_2)P(w_4 | w_3)

该式表明多元变量的概率分布可以通过链式法则分解为一系列条件概率的乘积形式。
具体而言,在马尔可夫假设下,
P(X,Y,Z,Y) = P(X) \cdot P(Y|X) \cdot P(Z|X,Y) \cdot P(Y|X,Y)
该模型即为基于相邻状态的大igram模型,
其中P(Y|X)表示在给定X的情况下Y发生的几率。

循环神经⽹络

⮍为了严格要求所有特定长度的序列被存储为历史信息

不含隐藏状态的神经⽹络

我们关注一个仅包含一层隐藏层的人工神经网络模型。其中X∈R{n×d}表示输入特征矩阵。假设隐藏层的激活函数是ϕ,则该层输出H∈R{n×h}由以下公式计算:
H = ϕ(XW_{xh} + b_h)

在本模型中,在处理序列数据时,
我们引入了三个关键组件:

  1. 隐藏层权重矩阵 W_{xh} ∈ R^{d×h}
  2. 隐藏层偏置矩阵 b_h ∈ R^{1×h}
  3. 隐藏变量 H∈ R^{n×h} ,其中h表示隐藏单元的数量。
    在计算过程中,
    这两项由于维度不一致,
    需要通过广播机制进行合并运算。

将隐藏变量H作为输出层的输入项,并设定其维度大小为q(类似于分类问题中的类别数量),其中n \times h维的隐藏状态通过矩阵乘法与h \times q维权重矩阵相乘得到n \times q维的结果矩阵,并在此基础上加上一个大小一致的偏置项矩阵b_q

其中输出向量O ∈ ℝ^{n×q}是一个n × q维的实数矩阵;其对应的权重矩阵为W_hq ∈ ℝ^{h × q}, 偏置矩阵为b_q ∈ ℝ^{1 × q}。在分类任务中, 我们可以直接采用\text{softmax}(O)来计算各类的概率。

含隐藏状态的循环神经⽹络

现在我们探讨输入数据具有时间相关性的场景。假设X_t ∈ R^{n×d}表示序列中第t个时间步的小批量输入,在t时刻通过加权矩阵W_{xh}将输入空间映射到隐状态空间以生成当前时刻的隐状态H_t ∈ R^{n×h}。值得注意的是,在这里我们存储了前一时间步的隐状态H_{t−1}并引入了一个新的加权矩阵W_{hh} ∈ R^{h×h}来描述当前时刻如何利用前一时刻的信息构建隐状态。具体而言:

H_t = ϕ(XW_{xh} + H_{t−1}W_{hh} + b_h)

相较于常规架构,在这里我们增加了一项H_{t−1}W_{hh}。从上述公式可以看出,在相邻时间步之间存在这样的关系:这一设计使得网络在每个时刻的状态都与其历史信息紧密相连。具体而言,在神经网络模型中,这种机制类似于将当前时刻的状态视为对过去历史的一个总结或记忆体功能。基于此特性,在深度学习领域被命名为长短时记忆单元(LSTM)。值得注意的是,在定义这一特性时依赖于前一个时刻的状态值这一特点使得整个过程呈现出一种递归性质;基于这种递归计算方式形成的网络体系即被称为循环神经网络(Recurrent Neural Network),简称RNN

全部评论 (0)

还没有任何评论哟~