理解 LSTM 神经网络的前向与后向传播机制
1.从RNN到LSTM
RNN模型具有如下所示的结构,其中每个索引位置t都有一个隐藏状态h(t)。
为解决梯度消失的问题,大牛们针对RNN序列索引位置t的隐藏结构作出相应改进,进而提出LSTM模型。其中LSTM模型有多种形式,下面我们以最常见的LSTM模型为例进行讲解。
2.LSTM模型结构
除了细胞状态外,LSTM中还多了很多奇怪的结构,称之为门控结构(Gate)。针对每个序列索引位置t,门控结构一般包含遗忘门、输入门和输出门,下面来看看门控结构和细胞状态的结构。
2.1 LSTM之遗忘门
遗忘门(forget gate)是以一定的概率控制是否遗忘上一层的隐藏细胞状态,遗忘门的结构如下所示。
2.2 LSTM之输入门
输入门(input gate)负责处理当前序列位置的输入,输入门的结构如下所示。
2.3 LSTM之细胞状态更新
研究LSTM输出门之前,我们先看一下LSTM细胞状态的更新,其中遗忘门和输入门的结果都作用于细胞状态C(t)。
2.4 LSTM之输出门
有了新的隐藏细胞状态C(t),便可以来看输出门,其结构如下所示。
3.LSTM之前向传播算法
通过上面的介绍,已经能够得到LSTM前向传播算法主要包括更新遗忘门输出、更新输入门、更新细胞状态、更新输出门、更新当前序列索引预测输出,各传播过程如下所示。
4.LSTM之反向传播算法
了解前向传播算法流程之后,对于反向传播算法就非常简单了。我们采用和RNN相同的反向传播算法思路,即通过梯度下降法迭代更新所有的参数。
5.LSTM怎么解决梯度消失和梯度爆炸
6.LSTM总结
LSTM虽然复杂,但能够很好的解决梯度消失和梯度爆炸的问题,只要我们理清各部分之间的关系,进而理解前向和反向传播算法还是不难的。针对RNN和LSTM之中的梯度消失和梯度爆炸的描述,如果有相应错误,欢迎指出。
你看到的这篇文章来自于公众号「谓之小一」,欢迎关注我阅读更多文章。
上一篇: 前馈神经网络与反向传播学习方法
推荐阅读
-
入门深度学习1:理解深度前馈神经网络与反向传播机制
-
理解深度学习:向前推进 - 前馈神经网络与反向误差传播机制
-
理解CNN:卷积神经网络的前向传播过程
-
理解神经网络:向前推进(前向传播)与向后修正(BP反向传播)算法详解及计算原理
-
理解BP神经网络:前向计算与反向传播的实际应用示例
-
详解神经网络的前向传播与反向传播计算公式步骤
-
打造个人专属的 TensorFlow 教程(一):理解计算图与前向传播
-
用一个实例深入理解神经网络的前向传播与反向传播机制
-
理解深度学习基础:从神经网络构造到实践 - 1.评分函数介绍 2.SVM损失函数解析 3.正规化惩罚项说明 4.Softmax与交叉熵损失函数详解 5.前向传播中的最优化挑战 6.批量大小(batch_size)实操指南...
-
理解并实现:前向传播和反向传播的基本机制