关于LSTM的核心点理解

参考文献

1.深度学习实战教程(五):循环神经网络
2.深度学习实战教程(六):长短时记忆网络(LSTM)
3.LSTM神经网络输入输出究竟是怎样的?
4.《神经网络与深度学习》
5.为什么LSTM模型中既存在sigmoid又存在tanh两种激活函数?
6.深度学习之GRU网络
7.为什么相比于RNN,LSTM在梯度消失上表现更好?
8.理解RNN梯度消失和弥散以及LSTM为什么能解决


一、LSTM的提出原因(针对RNN的长期依赖问题)

循环神经网络(RNN)在学习过程中的主要问题是长期依赖问题

具体来说就是:
虽然简单循环网络理论上可以建立任意长时间间隔的状态之间的依赖关系,但是由于梯度爆炸或消失问题,实际上只能学习到短期的依赖关系。这样,如果 t 时刻的输出yt依赖于 t−k 时刻的输入xt−k,当间隔 k 比较大时,简单神经网络很难建模这种长距离的依赖关系,称为长期依赖问题。

再具体来说:
由于各个时刻的误差计算公式为:
在这里插入图片描述
总的一轮的误差公式是各个时刻误差的累加。
对于上式大括号中的内容,如果近似取一个上界,那么这个上界的 t-k 次方会有两种可能性:
【1】该上界 > 1,那么误差将会趋向于正无穷,也就是出现了所说的梯度爆炸问题;
【2】该上界 < 1,那么误差将会趋向于0,也就是出现了所说的梯度消失问题;
注:RNN的梯度消失,指的是比如参数 U 的更新主要靠当前时刻 k 的几个相邻状态 hk 来更新,长距离的状态对 U 不再有影响。


改进思路:
1.选取合适的参数,同时使用非饱和的激活函数,尽量使得该上界约等于1,但是这种方式需要足够的人工调参经验,限制了模型的广泛应用。
2.针对梯度爆炸提出的改进思路:
(1)权重衰减:就是通过给参数增加 L1 或 L2 范数的正则化项来限制参数的取值范围,从而使得 上界 ≤ 1;
(2)梯度截断是另一种有效的启发式方法,当梯度的模大于一定阈值时,就将它截断成为一个较小的数。
3.针对梯度消失提出的改进思路:
(1)改变模型:直接将上界=1,这样就解决了梯度爆炸和消失,但是这种改变使得前后状态间为线性依赖关系,丢失了神经元在反馈边上的非线性激活的性质,因此也降低了模型的表示能力;
在这里插入图片描述
(2)更有效的模型改变策略:如下式,这样 ht 和 ht−1 之间为既有线性关系,也有非线性关系,在一定程度上可以缓解梯度消失问题。但这种改进依然有一个问题就是记忆容量。随着ht 不断累积存储新的输入信息,会发生饱和现象。

在这里插入图片描述
(2.1)解决方法1:增加一些额外的存储单元:外部记忆;
(2.2)解决方法2:进行选择性的遗忘,同时也进行有选择的更新;
(也就是LSTM方案!)


二、LSTM的具体方案

1.核心公式:

在这里插入图片描述

2.核心流程图:

关于LSTM的核心点理解_第1张图片
计算过程为:
(1)首先利用上一时刻的外部状态 ht−1 和当前时刻的输入 xt,计算出三个门,以及候选状态c˜t
(2)结合遗忘门 ft 和输入门 it 来更新记忆单元 ct
(3)结合输出门 ot,将内部状态的信息传递给外部状态 ht;

3.LSTM中核心的3个门:

关于LSTM的核心点理解_第2张图片
计算公式:
关于LSTM的核心点理解_第3张图片


4.LSTM中的有关概念

【1】记忆:
循环神经网络中的隐状态h存储了历史信息,可以看作是一种记忆;

【2】长短时记忆网络名称来源:
在 LSTM网络中,记忆单元 c 可以在某个时刻捕捉到某个关键信息,并有能力将此关键信息保存一定的时间间隔。记忆单元 c中保存信息的生命周期要长于短期记忆 h,但又远远短于长期记忆,因此称为长的短期记忆。

【3】实现过程中参数的设定:
一般在深度网络参数学习时,参数初始化的值一般都比较小。但是在训练 LSTM网络时,过小的值会使得遗忘门的值比较小。这意味着前一时刻的信息大部分都丢失了,这样网络很难捕捉到长距离的依赖信息。并且相邻时间间隔的梯度会非常小,这会导致梯度弥散问题。因此遗忘的参数初始值一般都设得比较大。

【4】为什么LSTM模型中既用到了sigmoid函数,也用到了tanh函数?
sigmoid 用在了各种gate上,产生0~1之间的值,这个一般只有sigmoid最直接了,相当于要么是1则记住,要么是0则忘掉。
tanh 用在了状态和输出上,是对数据的处理,这个用其他激活函数或许也可以。

计算候选状态 h˜t 时,使用 tanh 激活函数是由于其导数有比较大的值域,缓解梯度消失问题。

【5】另一种视角:
LSTM把原本RNN的单元改造成一个叫做CEC的部件,这个部件保证了误差将以常数的形式在网络中流动 ,并在此基础上添加输入门和输出门使得模型变成非线性的,并可以调整不同时序的输出对模型后续动作的影响。



三、关于门控循环单元网络(GRU)的内容

1.核心公式

相较于LSTM,GRU将三个门缩减到了两个门:更新门和重置门,其中更新门就是GRU认为,在 LSTM网络中,输入门和遗忘门是互补关系,用两个门比较冗余。 于是将输入门与和遗忘门合并成一个门: 更新门。

1.更新门
在这里插入图片描述
2.重置门
在这里插入图片描述
3.当前时刻候选状态h˜ t
在这里插入图片描述

4.隐状态 ht
在这里插入图片描述
关系怎么记??
ht和ht

2.核心流程图

关于LSTM的核心点理解_第4张图片


四、其他内容

1.堆叠循环神经网络

关于LSTM的核心点理解_第5张图片

2.双向循环神经网络

关于LSTM的核心点理解_第6张图片

你可能感兴趣的:(深度学习)