LSTM单元状态和隐藏状态之间的区别

数据挖掘 机器学习 神经网络 深度学习 lstm rnn
2021-10-03 05:06:28

LSTM 单元由两种类型的状态组成,单元状态和隐藏状态。

就其功能而言,单元格和隐藏状态有何不同?他们携带什么信息?

在此处输入图像描述

2个回答

简而言之:

  • 细胞状态:模型的长期记忆,只是LSTM模型的一部分
  • 隐藏状态:工作记忆,LSTM 和 RNN 模型的一部分

附加信息

RNN 和消失/爆炸梯度

传统的循环神经网络 (RNN) 具有通过时间传播(即前向和后向传播)对顺序事件进行建模的能力。这是通过将这些顺序事件与隐藏状态“连接”来实现的:

an=f(Wn,an1,xn)

隐藏状态 an 通过对上一步和当前输入应用线性组合来携带过去的信息。

尽管 RNN 是一个非常成功的架构,但 RNN 存在梯度消失/爆炸的问题。这意味着在计算反向传播(我的预测有多么错误)时,实际上每一步都被考虑在内,因为刻在其中的链式法则an

an=f(Wn,an1,xn)=f(Wn,f(Wn1,an2,xn1),xn), 自从 an1=f(Wn,an2,xn).

总结一下:RNN 很棒,但是由于隐藏状态的链式规则,对数项的依赖关系会出现问题。

LSTM 和细胞状态

为了缓解上述问题,LSTM 架构在 RNN 的现有隐藏状态之外引入了单元状态。细胞状态使模型对过去事件有更长的记忆。这种长期记忆能力是由

  • 从新输入中存储有用的信念
  • 将立即有用的信念加载到工作记忆(即细胞状态)中。

如果您想知道“它如何知道要存储什么或立即有用的东西?”:请记住,这是一个可训练的重量,可以通过训练来学习,将其视为额外的一块肌肉,将通过训练来学习这种新的活动存储和加载关于示例(即标记的数据点)。

总结一下:LSTM 通常更擅长处理长期依赖关系,因为它们能够存储和加载在序列的不同部分很重要的信念。


TLDR:

隐藏状态:

  • 工作记忆能力,它携带来自前一个事件的信息,并在每一步不受控制地覆盖——存在于 RNN 和 LSTM

细胞状态:

  • 长期记忆能力,存储和加载不一定是先前事件的信息
  • 存在于 LSTM 中

GRU 也非常相关,但被排除在响应之外。

由于梯度消失的问题(即反向传播的梯度无法达到较早的状态),RNN 无法保留过去很久的记忆。这是模型本身的限制。因此,我们需要引入一个更强大的模型,即降低偏差(以增加方差为代价)。

将细胞状态引入 LSTM 细胞实际上增加了模型的复杂性。如您所知,增加复杂性通常会增加方差并减少偏差。细胞状态充当高速公路,以便梯度更好地流向早期状态,这反过来又允许模型捕获更早的过去的记忆。