长短期记忆网络(LSTM)
1.LSTM介绍
LSTM 表示长短期记忆网络,当我们的神经网络需要在记忆最近的事物和很久以前的事情之间切换时,LSTM 是非常有用的。
2.RNN vs LSTM
RNN存储的都是短期记忆,并不擅长长期记忆,LSTM增加了长期记忆的输入和输出。
3.LSTM基础
引入长期记忆块,它作为每一次预测的输入,并且在每次预测后都根据短期记忆,长期记忆和当前事件进行更新长期记忆和短期记忆。共三个输入和两个输出(短期记忆就是当前结点预测结果)。
引入四个门:
1、长期记忆进入遗忘门,忘记它认为没有用处的一切。
2、短期记忆和当前事件进入学习门合并在一起,囊括了我们刚刚学习的东西,并移除掉一切不必要的信息。
3、还没遗忘的长期记忆和刚学到的新信息会在记忆门中合并在一起,然后记忆门输出更新后的长期记忆。
4、最后,使用门决定从还没遗忘的长期记忆和刚学到的信息中挑选什么来使用,从而做出预测。
级联的结构如下:
4.LSTM的架构
RNN架构回顾:
时间和记忆作为输入,首先将两者放在一起,然后再乘以矩阵,再加一个偏差,然后把整个公式套在中,从而得到输出,作为该结点的预测,也是下个结点的记忆。
LSTM架构:
5.学习门
学习门要做的是:取短期记忆和事件,将两者合并,然后忽略其中的一部分,只保留重要的部分。
合并操作公式如下,是刚学到的新信息。
然后进行忽略一部分,即引入遗忘因子。
如何计算呢?还是用短期记忆和事件作为输入,构建小型网络进行计算。总过程如下图所示:
6.遗忘门
遗忘门的输入是长期记忆,输出是遗忘后的长期记忆。
这里也引入一个遗忘因子,和一样,它也是由短期记忆和事件作为输入,构建小型网络进行计算得到的。
7.记忆门
记忆门的输入是遗忘后的长期记忆和刚学到的新信息,输出是更新后的长期记忆
这个门非常简单,只做简单的加法运算。
8.应用门
应用门的输入是遗忘后的长期记忆和刚学到的新信息,输出是新的短期记忆也是该结点的输出结果。
上图中Vt修改为使用sigmoid激活函数;
9.组合在一起
10.其他架构
门限回归单元(GRU)
它把遗忘门和学习门合并为更新门,然后把更新门的结果交给合并门处理。它只会返回输出一个工作记忆,而不是一对长期记忆和短期记忆。
窥视孔连接
把长期记忆也作用于等遗忘因子。