神经网络:LSTM基础学习

1、LSTM简介

  在时间序列数据学习中,传统的循环神经网络(RNN)存在较多的学习瓶颈和技术缺陷,而长短时记忆(LSTM)神经网络克服了循环神经网络的缺陷,使其在长时间序列数据学习训练中能克服梯度爆炸和梯度消失的瓶颈,展现出超强的长系列数据学习能力。

2、LSTM原理

  基础的 RNN 网络结构,LSTM 新增了一个状态向量,同时引入了门控(Gate)机制,通过门控单元来控制信息的遗忘和刷新。
神经网络:LSTM基础学习_第1张图片
  在 LSTM 中,有两个状态向量和h,其中作为 LSTM 的内部状态向量,可以理解为LSTM 的内存状态向量 Memory,而h表示 LSTM 的输出向量。相对于RNN,LSTM 把内部 Memory 和输出分开为两个变量,同时利用三个门控:输入门(Input Gate)、遗忘门(Forget Gate)和输出门(Output Gate)来控制内部信息的流动。
  门控机制可以理解为控制数据流通量的一种手段,在 LSTM 中,阀门开和程度利用门控值向量表示。通过()激活函数将门控制压缩到[0,1]之间区间,当() = 0时,门控全部关闭,输出 = 0;当() = 1时,门控全部打开,输出 = 。通过门控机制可以较好地控制数据的流量程度。
神经网络:LSTM基础学习_第2张图片
.

2.1 遗忘门

  遗忘门作用于 LSTM 状态向量上面,用于控制上一个时间戳的记忆 −1 对当前时间戳的影响。遗忘门的控制变量 由格式产生:
在这里插入图片描述
其中 为遗忘门的参数张量,可由反向传播算法自动优化,为激活函数,一般使用 Sigmoid 函数。当门控 = 1 时,遗忘门全部打开,LSTM 接受上一个状态 −1的所有信息;当门控 = 0 时,遗忘门关闭,LSTM 直接忽略 −1,输出为 0的向量。这也是遗忘门的名字由来。经过遗忘门后,LSTM 的状态向量变为 t−1
神经网络:LSTM基础学习_第3张图片
.

2.2 输入门

  输入门用于控制 LSTM 对输入的接收程度。首先通过对当前时间戳的输入 和上一个时间戳的输出 h−1 做非线性变换得到新的输入向量 t ~ \widetilde{_t} ct :
在这里插入图片描述
其中 为输入门的参数,需要通过反向传播算法自动优化,tanh 为激活函数,用于将输入标准化到[−1,1]区间。 t ~ \widetilde{_t} ct 并不会全部刷新进入 LSTM 的 Memory,而是通过输入门控制接受输入的量。输入门的控制变量同样来自于输入 和输出 h−1
在这里插入图片描述
其中 为输入门的参数,需要通过反向传播算法自动优化,为激活函数,一般使用Sigmoid 函数。输入门控制变量 决定了 LSTM 对当前时间戳的新输入 t ~ \widetilde{_t} ct 的接受程度:当 = 0时,LSTM 不接受任何的新输入 t ~ \widetilde{_t} ct ;当 = 1时,LSTM 全部接受新输入 t ~ \widetilde{_t} ct 。经过输入门后,待写入 Memory 的向量为 t ~ \widetilde{_t} ct
神经网络:LSTM基础学习_第4张图片
.

2.3 更新门

  更新门用于刷新 Memory。在遗忘门和输入门的控制下,LSTM 有选择地读取了上一个时间戳的记忆 −1 和当前时间戳的新输入 t ~ \widetilde{_t} ct ,状态向量 的刷新方式为:
在这里插入图片描述
得到的新状态向量 即为当前时间戳的状态向量。
神经网络:LSTM基础学习_第5张图片

2.4 输出门

  LSTM 的内部状态向量 并不会直接用于输出,简单的 RNN 不一样。RNN 网络的状态向量 h 既用于记忆,又用于输出,所以 RNN 可以理解为状态向量 和输出向量 h 是同一个对象。在 LSTM 内部,状态向量并不会全部输出,而是在输出门的作用下有选择地输出。输出门的门控变量 为:
在这里插入图片描述
其中 为输出门的参数,同样需要通过反向传播算法自动优化,为激活函数,一般使用 Sigmoid 函数。当输出门 = 0时,输出关闭,LSTM 的内部记忆完全被隔断,无法用作输出,此时输出为 0 的向量;当输出门 = 1时,输出完全打开,LSTM 的状态向量 全部用于输出。LSTM 的输出由:
在这里插入图片描述
产生,即内存向量 经过 tanh 激活函数后与输入门作用,得到 LSTM 的输出。由于 ∈[0,1],tanh(t) ∈ [−1,1],因此 LSTM 的输出 h ∈ [−1,1]。
神经网络:LSTM基础学习_第6张图片

你可能感兴趣的:(神经网络,神经网络,lstm,学习)