长短期记忆网络(LSTM)

长短期记忆网络(LSTM)

1.LSTM介绍

LSTM 表示长短期记忆网络,当我们的神经网络需要在记忆最近的事物和很久以前的事情之间切换时,LSTM 是非常有用的。

2.RNN vs LSTM

RNN存储的都是短期记忆,并不擅长长期记忆,LSTM增加了长期记忆的输入和输出。

3.LSTM基础

引入长期记忆块,它作为每一次预测的输入,并且在每次预测后都根据短期记忆长期记忆当前事件进行更新长期记忆短期记忆。共三个输入和两个输出(短期记忆就是当前结点预测结果)。

引入四个门:
长短期记忆网络(LSTM)_第1张图片

1、长期记忆进入遗忘门,忘记它认为没有用处的一切。

2、短期记忆和当前事件进入学习门合并在一起,囊括了我们刚刚学习的东西,并移除掉一切不必要的信息。

3、还没遗忘的长期记忆和刚学到的新信息会在记忆门中合并在一起,然后记忆门输出更新后的长期记忆。

4、最后,使用门决定从还没遗忘的长期记忆和刚学到的信息中挑选什么来使用,从而做出预测。

级联的结构如下:

长短期记忆网络(LSTM)_第2张图片

4.LSTM的架构

RNN架构回顾:

时间 E t E_t Et和记忆 M t − 1 M_{t-1} Mt1作为输入,首先将两者放在一起,然后再乘以矩阵 W W W,再加一个偏差 b b b,然后把整个公式套在 t a n h tanh tanh中,从而得到输出 M t M_t Mt, M t M_t Mt作为该结点的预测,也是下个结点的记忆。
长短期记忆网络(LSTM)_第3张图片
LSTM架构:

长短期记忆网络(LSTM)_第4张图片

5.学习门

学习门要做的是:取短期记忆事件,将两者合并,然后忽略其中的一部分,只保留重要的部分。

合并操作公式如下, N t N_t Nt是刚学到的新信息。

长短期记忆网络(LSTM)_第5张图片

然后进行忽略一部分,即引入遗忘因子 i t i_t it
o u t p u t = N t ∗ i t output = N_t * i_t output=Ntit
如何计算 i t i_t it呢?还是用短期记忆事件作为输入,构建小型网络进行计算。总过程如下图所示:
长短期记忆网络(LSTM)_第6张图片

6.遗忘门

遗忘门的输入是长期记忆,输出是遗忘后的长期记忆

这里也引入一个遗忘因子 f t f_t ft,和 i t i_t it一样,它也是由短期记忆事件作为输入,构建小型网络进行计算得到的。

长短期记忆网络(LSTM)_第7张图片

7.记忆门

记忆门的输入是遗忘后的长期记忆 ( L T M t − 1 ∗ f t ) (LTM_{t-1}*f_t) (LTMt1ft)刚学到的新信息 ( S t ∗ i t ) (S_t*i_t) (Stit),输出是更新后的长期记忆 L T M t LTM_t LTMt

这个门非常简单,只做简单的加法运算。

长短期记忆网络(LSTM)_第8张图片

8.应用门

应用门的输入是遗忘后的长期记忆 ( L T M t − 1 ∗ f t ) (LTM_{t-1}*f_t) (LTMt1ft)刚学到的新信息 ( S t ∗ i t ) (S_t*i_t) (Stit),输出是新的短期记忆也是该结点的输出结果。

长短期记忆网络(LSTM)_第9张图片

上图中Vt修改为使用sigmoid激活函数;

9.组合在一起

长短期记忆网络(LSTM)_第10张图片

10.其他架构

门限回归单元(GRU)

它把遗忘门学习门合并为更新门,然后把更新门的结果交给合并门处理。它只会返回输出一个工作记忆,而不是一对长期记忆短期记忆

长短期记忆网络(LSTM)_第11张图片

窥视孔连接

长期记忆也作用于 f t , i t f_t,i_t ft,it等遗忘因子。
长短期记忆网络(LSTM)_第12张图片

你可能感兴趣的:(学习笔记,神经网络,深度学习)