LSTM(长短期记忆网络)的结构与计算

门控循环神经网络在简单循环神经网络的基础上对网络的结构做了调整,加入了门控机制,用来控制神经网络中信息的传递。门控机制可以用来控制记忆单元中的信息有多少需要保留,有多少需要丢弃,新的状态信息又有多少需要保存到记忆单元中等。这使得门控循环神经网络可以学习时间跨度相对较大的依赖关系,而不会出现梯度消失和梯度爆炸的问题。、

如果从数学的角度来理解,一般结构的循环神经网络中,网络的状态 ht 和 ht-1 之间是非线性的关系,并且参数 W 在每个时间步共享,这是导致梯度爆炸和梯度消失的根本原因。门控循环神经网络解决问题的方法就是在状态 ht 和 ht-1 之间添加一个线性的依赖关系,从而避免梯度消失或梯度爆炸的问题。

长短期记忆网络(Long Short-Term Memory,LSTM)是基于门控制的循环神经网络,结构如图 1 所示,LSTM 的网络结构看上去很复杂,但实际上如果将每一部分拆开来看,其实也很简单。
单个时间步的LSTM 网络结构示意图
图 1:单个时间步的 LSTM 网络结构示意图

在一般的循环神经网络中,记忆单元没有衡量信息价值量的能力,因此,记忆单元对于每个时刻的状态信息等同视之,这就导致了记忆单元中往往存储了一些无用的信息,而真正有用的信息却有可能被这些无用的信息挤了出去。

LSTM 正是从这一点出发做出相应改进的,和一般结构的循环神经网络只有一种网络状态不同,LSTM 中将网络的状态分为内部状态和外部状态两种。LSTM 的外部状态类似于一般结构的循环神经网络中的状态,即该状态既是当前时刻隐藏层的输出,也是下一时刻隐藏层的输入。这里的内部状态则是 LSTM 特有的。

在 LSTM 中有三个称之为“门”的控制单元,分别是输入门(Input Gate)、输出门(Output Gate)和遗忘门(Forget Gate),其中输入门和遗忘门是 LSTM 能够记忆长期依赖的关键。输入门决定了当前时刻网络的状态有多少信息需要保存到内部状态中,而遗忘门则决定了过去的状态信息有多少需要丢弃。最后,由输出门决定当前时刻的内部状态有多少信息需要输出给外部状态。

从图 1 可以看到,一个 LSTM 单元在每个时间步都会接收三个输入:当前时刻的输入 xt,来自上一时刻的内部状态,以及上一时刻的外部状态 ct-1。其中,xt 和ht-1 同时作为三个“门”的输入,σ 为 Logistic 函数。

接下来我们将分别介绍 LSTM 中的三个“门”结构。首先看一下输入门,如图 2 所示。
LSTM 的输入门
图 2:LSTM 的输入门

LSTM 中也有类似于 RNN 的前向计算过程,如果去掉输入门部分,剩下的部分其实就是 RNN 中的从输入层到隐藏层的结构,“tanh”可以当成隐藏层的激活函数,从“tanh”节点输出的值为
tanh”节点输出的值

上式中,参数的下标“c”代表这是“tanh”节点的参数,同理,输入门参数的下标为“i”,输出门参数的下标为“o”,遗忘门参数的下标为“f”。上式与简单结构循环神经网络中隐藏层的计算公式一样。在LSTM 中,我们将“tanh”节点的输出称为候选状态 。

输入门是如何实现其控制功能的?输入门的计算公式如下:

it=σ(Uiht-1+Wixt+bi)


由于 σ 为 Logistic 函数,其值域为 (0, 1),因此输入门的值就属于 (0, 1)。LSTM 将“tanh”节点的输出(即候选状态 )乘上输入门的值后再更新内部状态 ct-1。如果 it 的值趋向于 0 的话,那么候选状态  就只有极少量的信息会保存到内部状态 ct-1 中,相反,如果 it 的值趋近于 1,那么候选状态  就会有更多的信息被保存。

输入门就是通过这种方法来决定保存多少  中的信息的,it 值的大小就代表了新信息的重要性,不重要的信息就不会被保存到内部状态中。

再来看遗忘门,如图 3 所示。
LSTM 的遗忘门
图 3:LSTM 的遗忘门

遗忘门的计算公式如下:

ft=σ(Ufht-1+Wfxt+bf)

和输入门是同样的方法,通过 ft 的值来控制上一时刻的内部状态 ct-1 有多少信息需要“遗忘”。当 ft 的值越趋近于 0,被遗忘的信息越多。

同样的原理,我们来看“输出门”,如图 4 所示。
LSTM 的输出门
图 4:LSTM 的输出门

输出门的计算公式如下:

ot=σ(Uoht-1+Woxt+bo)

若 ot 值越接近于 1,则当前时刻的内部状态 ct 就会有越多的信息输出给当前时刻的外部状态 ht

以上就是 LSTM 的整个网络结构以及各个“门”的计算公式。通过有选择性地记忆和遗忘状态信息,使得 LSTM 要比一般的循环神经网络能够学习更长时间间隔的依赖关系。根据不同的需求,LSTM 还有着很多不同的变体版本,这些版本的网络结构大同小异,但都在其特定的应用中表现出色。