循环神经网络LSTM论文解读

版权声明:本文为CSDN博主「了不起的赵队」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhaojc1995/article/details/80572098

 

论文名称:Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting

论文地址:https://arxiv.org/pdf/1506.04214.pdf

 

 

1、LSTM简介

长短期记忆网络LSTM(long short-term memory)是RNN的一种变体。RNN由于梯度消失的原因只能有短期记忆,LSTM网络通过精妙的门控制将短期记忆与长期记忆结合起来,并且一定程度上解决了梯度消失的问题,可以学习长期依赖信息。记住长期的信息在实践中是 LSTM 的默认行为,而非需要付出很大代价才能获得的能力。所有 RNN 都具有一种重复神经网络模块的链式的形式。

在标准的 RNN 中,这个重复的模块只有一个非常简单的结构,例如一个 tanh 层。

不同于单一神经网络层,LSTM整体上除了h在随时间流动,细胞状态c也在随时间流动,细胞状态c就代表着长期记忆

LSTM 重复的模块结构如下:

 

2、LSTM核心思想

(1)细胞状态cell state的传播

LSTM 的关键就是细胞状态,类似于传送带。直接在整个链上运行,只有少量的线性交互,信息在上面流传保持不变很容易。

 

(2)”门“结构

LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。Sigmoid 层输出 0 到 1 之间的数值,描述每个部分有多少量可以通过。0 代表“不许任何量通过”,1 就指“允许任意量通过”。

 

(3)遗忘门

遗忘门决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为遗忘门完成。该门会读取,输出一个在 0 到 1 之间的数值给每个在细胞状态中的数字。1 表示“完全保留”,0 表示“完全舍弃”。

如何做到遗忘呢?

“遗忘“可以理解为“之前的内容记住多少“,其精髓在于只能输出(0,1)小数的sigmoid函数和粉色圆圈的乘法,LSTM网络经过学习决定让网络记住以前百分之多少的内容。

既然是遗忘旧的内容,为什么这个门还要接收新的

 决定记住什么遗忘什么,其中新的输入肯定要产生影响。

 

(4)记忆门

记忆门决定什么样的新信息被存放在细胞状态中。

共包含两个部分:sigmoid 层决定网络要记住的信息、 tanh 层就是一个普通的RNN传播。

 

(5)更新门

更新门用来更新旧细胞状态,将更新为

前面忘记门已经决定了将会忘记什么,记忆门决定将会记住什么,更新门就是执行这一步骤。

 

(6)输出门

输出门决定这一时间步骤网络输出什么,这个输出将会基于当前的细胞状态。

分为两部分:sigmoid 层来确定细胞状态的哪个部分将输出,把细胞状态通过 tanh 进行处理(得到一个在 -1 到 1 之间的值),并将它和 sigmoid 门的输出相乘,最终仅仅会输出我们确定输出的那部分。

 

这几个门虽然功能上不同,但在执行任务的操作上是相同的。他们都是使用sigmoid函数作为选择工具,tanh函数作为变换工具,这两个函数结合起来实现三个门的功能。

 

3、LSTM变体

(1)让门层也会接受细胞状态的输入

(2)另一个变体是通过使用 coupled 忘记和输入门。不同于之前是分开确定什么忘记和需要添加什么新的信息,这里是一同做出决定。

(3)另一个改动较大的变体是 Gated Recurrent Unit (GRU),将忘记门和记忆门合成了一个单一的更新门。

 

4、自己的思考(欢迎指正)

(1)lstm中的记忆细胞c和隐藏状态h分别表示什么?

c保存的是长期记忆,h保存的是短期记忆。lstm中的h相当于普通rnn中的h,c是lstm和rnn的最大区别,c控制长期记忆。

(2)为什么h不能保存长期记忆,而记忆细胞c可以?

h跟rnn中的一样,好长时间之前的记忆由于梯度消失无法保存,所以只能保存短期记忆。

而c通过三个门控制哪些需要忘记、哪些需要记住,直接在主干上传播,所以很好更新,不容易梯度消失,所以可以保存长期记忆。

(3)神经网络怎么就知道,忘记门控制忘记,记住门控制记住,不都是权重和输入作用的结果么?

两个sigmoid的作用是不同的,忘记门的sigmoid决定旧的记忆C(t-1)哪些需要继续传播,哪些需要忘记,记住门的sigmoid决定当前新的记忆(也就是候选记忆细胞)哪些需要继续传播,哪些需要忘记。

ft是通过第1个sigmoid计算出C_t-1中需要保存的概率,C_t-1*ft就是需要记住的旧的记忆。it表示的通过第2个sigmoid计算出当前层中需要保存的概率,C~_t是当前的记忆,由x_t和h_t-1计算得出。最后的输出是将之前网络需要保存的加上当前网络需要保存的,也就是更新门的工作,更新记忆细胞C_t-1为C_t。如下图:

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值