目录
循环神经网络在处理较长的句子时只能理解有限长度的信息,对于较大范围内的信息不能很好利用起来,被称为短时记忆。后来提出长短时记忆网络(Long Short-Term Memory,简称 LSTM),LSTM 相对于基础的 RNN 网络来说,记忆能力更强,更擅长处理较长的序列信号数据。
LSTM基础介绍:
传统的RNN只有一个状态向量,LSTM在此基础上又添加了一个状态向量。同时引入了门控(Gate)机制,通过门控单元来控制信息的遗忘和刷新。表示内部状态向量,表示输出向量(替代RNN中的O),与普通RNN不同的是LSTM内部有两个状态向量和流动。内部有三个门控输入门(Input Gate)、遗忘门(Forget Gate)和输出门(Output Gate)来控制内部信息的流动。阀门开闭程度利用门控值向量g表示,激活函数将门控值压缩到0~1之间,为0的时候表示阀门关闭,为1表示阀门完全开启。
遗忘门:
遗忘门作用于 LSTM 状态向量C上面,用于控制上一个时间戳的记忆对当前时间戳 的影响。此处的门控为,由和经由线性变换再经过激活函数优化得到,激活函数一般选取sigmoid(便于将数值优化为0~1)。遗忘门是控制上一个时间戳的影响,可以表示影响程度,即经过遗忘门后状态向量为。
输入门:
输入门用于控制 LSTM 对输入的接受程度。首先构建输入,是当前LSTMCell中的临时变量,由和经由变换后再经过激活函数优化得到,激活函数一般选取tanh输入标准化到[−1,1]区间。门控得到的方法和遗忘门一样,最终表示对输入的接受程度,最终经过输入门后状态向量为
刷新:
= + 此时得到的结果就是就是当前时间戳的状态向量。
输出门:
相比于RNN得到的既作为状态向量也作为输出,LSTM状态向量不会全部输出,而是在门控的作用下有选择地输出。门控计算方法和与一样。为1时表示全部输出,为0时不输出。最终输出=tanh(),最终结果属于[-1,1].
总结:
针对三个门控,其中输出门较为简单,遗忘门和输入门都具有特殊意义。
输入门为0,遗忘门为1时,只使用前一个时间戳的记忆
输入门为1,遗忘门为1时,综合输入和记忆
输入门为1,遗忘门为0时,只使用当前的输入,覆盖记忆
输入门为0,遗忘门为0时,无输入,也不使用记忆,直接清空