理解LSTM网络

本文详细介绍了LSTM网络的工作原理,包括其前向传播算法中的遗忘门、输入门、细胞状态更新和输出门。通过门控机制,LSTM有效地解决了RNN的长期依赖问题。此外,还探讨了LSTM的反向传播算法以及如何防止梯度消失和梯度爆炸。同时,文中提到了LSTM的变体,如GRU和SRU,以及在TensorFlow和Keras中实现LSTM的关键参数。
摘要由CSDN通过智能技术生成

微信公众号
本文首发在我的微信公众号里,地址:https://mp.weixin.qq.com/s/0Q0aK4xmyKkZ0fMUIhc3Sg
本文同步更新在我的知乎专栏里,地址:https://zhuanlan.zhihu.com/p/42863963

目录:

  1. LSTM网络
  2. LSTM前向传播算法
  3. LSTM反向传播算法
  4. 思考几个问题
  5. LSTM的变体
  6. Reference

1. LSTM网络

LSTM是一种特殊的RNN,可以解决长期依赖的问题。它是由Hochreiter和Schnidhuber提出的,后来被很多人改进和推广,并在各种各样的问题上工作得非常好,现在被广泛的应用。

明确来说,设计LSTM主要就是为了解决长期依赖的问题,它的本质就是能够记住很长时期内的信息。

所有循环神经网络结构都是由完全相同结构的(神经网络)模块进行复制而成的。在标准RNN中,这个重复的模块只有一种非常简单的结构,例如tanh层。
图1:标准RNN
图1: 标准RNN

LSTM同样也是类似的结构。但是它不再只是一个单一的tanh层,而是用了四个相互作用的层。
图2:含有四个相互作用层的LSTM
图2:含有四个相互作用层的LSTM

现在,我们来介绍一下图中使用的各种元素的图标。
图3:符号说明
图3:符号说明

在图3中,黄色的矩形框表示的是神经网络层;粉色的圈代表逐点操作,比如向量相加;每一条黑线表示从一个结点传输一整个向量到另一个结点;合在一起的线表示向量连接;分开的线表示复制内容,然后分发到不同的位置。

2. LSTM前向传播算法

(1)遗忘门:当输入新的信息时,模型若需遗忘旧的信息,此时通过遗忘门来完成。遗忘门是LSTM单元的关键组成部分,可以控制哪些信息要保留、哪些信息要遗忘,并且以某种方式避免梯度随时间反向传播时引发的梯度消失和梯度爆炸的问题。 遗忘门决定LSTM从上一时刻的细胞状态 C t − 1 C_{t-1} Ct1中丢弃什么信息。该门读取 h t − 1 h_{t-1} ht1 x t x_{t} xt,然后通过sigmoid将其映射到0到1之间的数值,最终该数值再与细胞状态 C t − 1 C_{t-1} Ct1相乘,来决定 C t − 1 C_{t-1} Ct1该丢弃什么信息。当该数值为1时表示完全地保留 C t − 1 C_{t-1} Ct1的信息,当该数值为0时表示完全地丢弃 C t − 1 C_{t-1} Ct1的信息。如图4所示。
在这里插入图片描述
图4:LSTM遗忘门状态图

(2)输入门:确定哪些新的信息被保留在细胞状态中。 输入门用于控制网络当前输入数据 x t x_{t} xt流入记忆单元的多少,即有多少输入信息可以保存到 C t C_{t} Ct中。输入门包括两部分,第一部分:由sigmoid组成的“输入门”产生的介于0到1之间的控制信号 i t i_{t} it,用来控制 C ~ t \tilde{C}_{t} C~t 输入的程度;第二部分:通过一个tanh层产生当前时刻的候选细胞状态 C ~ t \tilde{C}_{t} C~t,这个值将由 i t i_{t} it决定添加到细胞状态中的程度。如图5所示。
图5:LSTM输入门状态图
图5:LSTM输入门状态图

(3)更新细胞状态 C t C_{t} Ct:将旧的细胞状态 C t − 1 C_{t-1} Ct1更新为当前细胞状态 C t C_{t} Ct 有了遗忘门产生的控制信号 f t f_{t} ft ,tanh层产生的候选细胞状态 C ~ t \tilde{C}_{t } C~t,输入门产生的控制信号 i t i_{t} it,就可以将 C t − 1 C_{t-1} Ct1更新为 C t C_{t} Ct。首先 f t ∗ C t − 1 f_{t}*C_{t-1} ftCt1确定上一个细胞状态要保留的信息;然后 i t ∗ C ~ t i_{t}*\tilde{C}_{t} itC~t得到候选细胞状态需要保留的信息;最后将这两部分相加,得到最终的当前时刻的细胞状态 C t C_{t} Ct。如图6所示。
图6:LSTM细胞更新状态
图6:LSTM细胞更新状态

(4)输出门:输出值基于细胞状态,但是会有一个过滤的过程。 这里也包括两部分操作:第一部分,由sigmoid组成的“输出门”产生的介于0到1之间的控制信号 o t o_{t} ot;第二部分,将最终产生的输出信息 t a n h ( C t ) tanh(C_{t}) tanh(Ct)与控制信号 o t o_{t} ot相乘,得到最终的输出值 h t h_{t} ht。输出门控制记忆单元 C t C_{t} Ct对当前输出值 h t h_{t} ht的影响,即记忆单元中的哪一部分会在时间步 t t t输出。如图7所示。
图7:LSTM输出状态图
图7:LSTM输出状态图

(5)传递信息到下一时刻。 除了将包含长期信息的细胞状态 C t C_{t} Ct

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值