长短期记忆网络(LSTM)是一种循环神经网络(RNN),旨在解决传统RNN面临的梯度消失问题。与标准RNN不同,LSTM单元引入了细胞状态和三个门控机制,,输入门、输出门和遗忘门,,用以在任意时间间隔内调节信息流。这种设计使LSTM能够跨越数千个时间步维持依赖关系,从而在语音识别、机器翻译和时间序列预测等序列学习任务中表现出色。其名称源于认知心理学中长期记忆与短期记忆的概念,该领域自20世纪初便开始研究。
LSTM对间隔长度的相对不敏感性使其相较于其他RNN、隐马尔可夫模型及替代序列学习方法更具优势。该架构由Sepp Hochreiter和Jürgen Schmidhuber于1997年提出,此后成为深度学习的基础组件,尤其在基于Transformer的模型兴起之前应用广泛。
动机
经典RNN理论上能够捕捉任意长期依赖,但在实际训练中,反向传播过程中梯度会随时间步呈指数级衰减,导致网络无法有效学习。LSTM单元通过允许梯度在细胞状态中几乎无衰减地流动来解决这一问题,尽管仍可能遭遇梯度爆炸问题。
LSTM的核心直觉是构建一个能够学习何时记忆、何时遗忘信息的模块。网络会判断序列中哪些信息在后续步骤中可能被需要,并在其不再相关时将其丢弃。例如,在处理句子“Dave, as a result of his controversial claims, is now a pariah”时,LSTM能够记住主语“Dave”的语法性别和数,以正确解释代词“his”,并在动词“is”出现后丢弃该信息。
架构
LSTM单元由细胞和三个门组成。细胞负责在任意时间间隔内存储值。遗忘门通过将前一状态与当前输入映射到0到1之间的值来决定丢弃哪些信息,其中1表示保留,0表示丢弃。输入门采用类似机制决定将哪些新信息存入细胞状态。输出门则控制当前细胞状态的哪些部分被输出,同样通过0到1之间的值进行调节,并综合考虑前一状态与当前输入。
在数学上,带遗忘门的LSTM单元的前向传播可用向量符号描述。设\(x_t\)为时间步\(t\)的输入,\(h_{t-1}\)为前一隐藏状态,\(c_{t-1}\)为前一细胞状态。各门计算如下:
- 遗忘门:\(f_t = \sigma_g(W_f x_t + U_f h_{t-1} + b_f)\)
- 输入门:\(i_t = \sigma_g(W_i x_t + U_i h_{t-1} + b_i)\)
- 输出门:\(o_t = \sigma_g(W_o x_t + U_o h_{t-1} + b_o)\)
- 候选细胞状态:\(\tilde{c}_t = \tanh(W_c x_t + U_c h_{t-1} + b_c)\)
- 细胞状态更新:\(c_t = f_t \odot c_{t-1} + i_t \odot \tilde{c}_t\)
- 隐藏状态:\(h_t = o_t \odot \tanh(c_t)\)
其中,\(\sigma_g\)为sigmoid激活函数,\(\tanh\)为双曲正切函数,\(\odot\)表示逐元素乘法。权重矩阵\(W_q\)和\(U_q\)(其中\(q\)可取\(i\)、\(o\)、\(f\)或\(c\))分别包含输入连接和循环连接的参数。
变体与扩展
为提升性能或适应特定任务,LSTM衍生出多种变体。最常见的变体是带遗忘门的LSTM,现已成为标准形式。其他值得注意的变体包括:
- 门控循环单元(GRU):一种简化架构,将输入门和遗忘门合并为单个更新门,从而降低计算复杂度。
- 双向LSTM:同时按正向和反向处理序列,从而捕捉过去和未来的上下文信息。
- 窥视孔连接:允许门直接访问细胞状态,以改善时序精度。
这些变体已在深度学习应用中广泛采用,包括大语言模型和基于神经网络的系统。
应用
LSTM网络已应用于多种任务,涵盖分类、数据处理、时间序列分析、语音识别、机器翻译、语音活动检测、机器人控制、视频游戏、医疗保健和能源预测等领域。在2010年代初期,基于LSTM的模型在语音识别和机器翻译方面取得了最先进的成果,为现代人工智能系统奠定了基础。
随着2017年Transformer架构的出现,LSTM在序列处理领域的主导地位有所减弱,尤其是在大规模生成式AI模型中。然而,LSTM在许多应用中仍然具有重要价值,特别是那些计算资源受限或需要固有顺序处理的场景,例如嵌入式系统和实时控制。
局限性
尽管LSTM具有诸多优势,但也存在局限性。由于额外的门控机制,其计算成本高于简单RNN。此外,它仍可能遭遇梯度爆炸问题,尽管梯度裁剪等技术可以缓解。更重要的是,LSTM按顺序处理序列,难以跨时间步并行化,这是Transformer在大型模型中更受青睐的关键原因。尽管如此,LSTM对长距离依赖的建模能力及其对间隔长度的相对不敏感性,使其在机器学习工具箱中依然是一种有价值的工具。