长短期记忆网络(LSTM)

1.LSTM介绍

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

2.RNN vs LSTM

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

3.LSTM基础

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

引入四个门:
长短期记忆网络(LSTM)

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

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

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

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

级联的结构如下:

长短期记忆网络(LSTM)

4.LSTM的架构

RNN架构回顾:

时间EtE_t和记忆Mt1M_{t-1}作为输入,首先将两者放在一起,然后再乘以矩阵WW,再加一个偏差bb,然后把整个公式套在tanhtanh中,从而得到输出MtM_t,MtM_t作为该结点的预测,也是下个结点的记忆。
长短期记忆网络(LSTM)
LSTM架构:

长短期记忆网络(LSTM)

5.学习门

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

合并操作公式如下,NtN_t是刚学到的新信息。

长短期记忆网络(LSTM)

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

6.遗忘门

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

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

长短期记忆网络(LSTM)

7.记忆门

记忆门的输入是遗忘后的长期记忆(LTMt1ft)(LTM_{t-1}*f_t)刚学到的新信息(Stit)(S_t*i_t),输出是更新后的长期记忆LTMtLTM_t

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

长短期记忆网络(LSTM)

8.应用门

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

长短期记忆网络(LSTM)

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

9.组合在一起

长短期记忆网络(LSTM)

10.其他架构

门限回归单元(GRU)

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

长短期记忆网络(LSTM)

窥视孔连接

长期记忆也作用于ft,itf_t,i_t等遗忘因子。
长短期记忆网络(LSTM)

相关文章: