LSTM是如何实现长短期记忆功能

289 阅读2分钟

长短期记忆网络(Long Short-Term Memory,LSTM)是一种常用于序列建模的深度学习模型,可以通过有效地捕获时序信息来提升数据建模的效果。与传统的循环神经网络相比,LSTM引入了门控机制,能够有效解决梯度消失、梯度爆炸等问题,并在长序列数据建模中展现出更好的性能。

在LSTM中,一个重要的组件是“细胞状态”(cell state),即可以看做是LSTM网络中的长期记忆部分,同时也是模型的核心所在。具体地说,LSTM通过三个门来对细胞状态进行操作和调整:遗忘门、输入门和输出门。

遗忘门:负责确定细胞状态中哪些信息需要保留,哪些信息需要遗忘。该门接收上一时刻的隐藏状态ℎ�−1ht−1​和当前输入��xt​作为输入,通过sigmoid函数将它们压缩到0-1之间的值,表示要保留或者遗忘的信息的权重。

输入门:负责将输入信息更新到细胞状态中。该门同样使用sigmoid函数获取当前输入��xt​和上一时刻的隐藏状态ℎ�−1ht−1​的权重,同时使用tanh函数计算出一个候选向量��Ct​​,表示当前时刻新增的信息。

细胞状态更新:LSTM通过将遗忘门和输入门的结果加权计算得到一个新的候选细胞状态��′Ct′​。该值对应了当前细胞状态中保留和新增的信息。具体地:

遗忘部分:$f_t \odot C_{t-1}$表示需要保留的信息
更新部分:$i_t\odot\tilde C_t$表示新增的信息
综合后得到更新后的细胞状态$C_t=C_{t-1} \odot f_t + i_t\odot\tilde C_t$

输出门:负责将当前时刻的隐藏状态ℎ�ht​计算出来,并输出到下一层或者作为输出结果。该门使用sigmoid函数获取当前细胞状态��Ct​的权重,同时使用tanh函数对其进行缩放,并乘上输出权重,最终输出隐藏状态ℎ�ht​或者各个时间步的预测结果。

综上所述,LSTM通过三个门控制遗忘、输入和输出,并通过细胞状态实现长期记忆的功能,从而有效地解决了传统循环神经网络高阶梯度消失和梯度爆炸等问题,为序列建模提供了强大的能力。