递归神经网络解释

如今,不同的机器学习技术用于处理不同类型的数据。最难处理和预测的数据类型之一是顺序数据。顺序数据与其他类型的数据不同,因为虽然可以假设典型数据集的所有特征都是与顺序无关的,但不能假设顺序数据集是无关的。为了处理这种类型的数据,提出了递归神经网络的概念。它在结构上与其他人工神经网络不同。当其他网络在前馈过程或反向传播过程中沿线性方向“行进”时,循环网络遵循递归关系而不是前馈传递,并使用随时间的反向传播进行学习。

递归神经网络由多个固定激活函数单元组成,每个时间步长一个。每个单元都有一个内部状态,称为单元的隐藏状态。此隐藏状态表示网络当前在给定时间步中持有的过去知识。此隐藏状态在每个时间步更新,以表示网络对过去的了解的变化。使用以下递归关系更新隐藏状态:

递归神经网络解释的图1递归神经网络解释的图2​编辑

注意:通常,要理解递归神经网络的概念,它通常以展开的形式进行说明,本文将遵循此规范。在每个时间步,使用上面给出的递归关系计算新的隐藏状态。这个新生成的 hidden state 确实用于生成一个新的 hidden state,依此类推。递归神经网络的基本工作流程如下:

递归神经网络解释的图3递归神经网络解释的图4​编辑

请注意,这是h0网络的初始隐藏状态。通常,它是一个零向量,但它也可以有其他值。一种方法是将有关数据的假设编码到网络的初始隐藏状态中。例如,对于确定知名人士发表的演讲语气的问题,该人过去演讲的语气可能会被编码到初始隐藏状态。另一种技术是将初始隐藏状态设为可训练参数。尽管这些技术对网络增加了一点细微差别,但将隐藏状态向量初始化为零通常是一个有效的选择。

各经常性单位的工作:

  1. 将先前隐藏的状态向量和当前输入向量输入。
  2. 请注意,由于隐藏状态和当前输入被视为向量,因此向量中的每个元素都放置在与其他维度正交的不同维度中。因此,当所涉及的元素为非零且元素位于同一维度时,每个元素与另一个元素相乘时,仅给出非零值。
  3. 元素级将隐藏状态向量乘以隐藏状态权重,并类似地执行当前输入向量和当前输入权重的元素性乘法。这将生成参数化的隐藏状态向量和当前输入向量。请注意,不同向量的权重存储在可训练权重矩阵中。
  4. 执行两个参数化向量的向量加法,然后计算元素双曲正切以生成新的隐藏状态向量。

递归神经网络解释的图5递归神经网络解释的图6​编辑

在循环网络的训练期间,网络还会在每个时间步长生成一个输出。此输出用于使用梯度下降训练网络。

递归神经网络解释的图7递归神经网络解释的图8​编辑

所涉及的反向传播类似于典型人工神经网络中使用的反向传播,但有一些细微的变化。这些变化被记录为:-设网络在任何时间步的预测输出为递归神经网络解释的图9递归神经网络解释的图10​编辑 ,实际输出为递归神经网络解释的图11递归神经网络解释的图12​编辑 。然后每个时间步的误差由下式给出:

递归神经网络解释的图13递归神经网络解释的图14​编辑

误差由所有时间步的误差之和给出。

递归神经网络解释的图15递归神经网络解释的图16​编辑

递归神经网络解释的图17递归神经网络解释的图18​编辑

同样,该值递归神经网络解释的图19递归神经网络解释的图20​编辑 可以计算为每个时间步的梯度之和。

递归神经网络解释的图21递归神经网络解释的图22​编辑

使用微积分的链式法则,并利用时间步 t 的输出是循环单元的当前隐藏状态的函数这一事实,产生了以下表达式:-

递归神经网络解释的图23递归神经网络解释的图24​编辑

请注意,上述表达式中使用的权重矩阵 W 对于输入向量和隐藏状态向量是不同的,并且仅以这种方式用于符号的便利性。

因此,出现了以下表达式:-

递归神经网络解释的图25递归神经网络解释的图26​编辑

因此,Back-Propagation Through Time 与典型的 Back-Propagation 的唯一区别在于,每个时间步的误差相加以计算总误差。递归神经网络解释的图27递归神经网络解释的图28​编辑

尽管基本的递归神经网络相当有效,但它可能会遇到一个重大问题。对于深度网络,反向传播过程可能会导致以下问题:

  • 消失的梯度:当梯度变得非常小并趋于零时,就会发生这种情况。
  • 分解梯度:当梯度由于反向传播而变得太大时,会发生这种情况。

Exploding Gradients 的问题可以通过使用 hack 来解决 – 通过在时间上回传递的梯度设置阈值。但是这种解决方案并不被视为问题的解决方案,也可能降低网络的效率。为了解决这个问题,开发了递归神经网络的两种主要变体——长短期记忆网络门控递归单元网络

递归神经网络 (RNN) 是一种人工神经网络,旨在处理顺序数据。与传统的前馈神经网络不同,RNN 可以在处理当前状态时考虑序列的先前状态,从而允许它们对数据中的时间依赖关系进行建模。

RNN 的主要特点是隐藏单元之间存在递归连接,这允许信息从一个时间步传递到下一个时间步。这意味着每个时间步的隐藏状态不仅是该时间步输入的函数,也是前一个隐藏状态的函数。

在 RNN 中,每个时间步的输入通常是表示序列当前状态的向量,每个时间步的输出是表示该时间步的预测值或分类的向量。隐藏状态也是一个向量,在每个时间步中,根据当前输入和之前的隐藏状态进行更新。

基本的 RNN 架构存在梯度消失问题,这使得在长序列上训练变得困难。为了解决这个问题,已经开发了几种 RNN 变体,例如长短期记忆 (LSTM) 和门控循环单元(GRU)网络,它们使用专门的门来控制通过网络的信息流并解决梯度消失问题。

RNN 的应用包括语音识别、语言建模、机器翻译、情感分析和股票预测等。总体而言,RNN 是处理顺序数据和建模时间依赖关系的强大工具,使其成为许多机器学习应用程序的重要组成部分。

递归神经网络 (RNN) 的优点是:

  1. 处理顺序数据的能力:RNN 可以处理不同长度的连续数据,使其在自然语言处理、语音识别和时间序列分析等应用中非常有用。
  2. 内存:RNN 能够通过使用隐藏状态来保留有关序列中先前输入的信息。这使 RNN 能够执行预测句子中的下一个单词或预测股票价格等任务。
  3. 多功能性:RNN 可用于各种任务,包括分类、回归和序列到序列映射。
  4. 灵活性:RNN 可以与其他神经网络架构(如卷积神经网络 (CNN) 或前馈神经网络)结合使用,为特定任务创建混合模型。

但是,RNN 也有一些缺点:

  1. 梯度消失问题:梯度消失问题可能发生在 RNN 中,尤其是在具有多层或长序列的 RNN 中,这使得学习长期依赖关系变得困难。
  2. 计算成本高昂:RNN 的计算成本很高,尤其是在处理长序列或使用复杂架构时。
  3. 缺乏可解释性:RNN 可能难以解释,尤其是在理解网络如何做出预测或决策方面。
  4. 总体而言,虽然 RNN 有一些缺点,但它们处理顺序数据和保留先前输入内存的能力使其成为许多机器学习应用的强大工具。

登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP