长短期记忆 (LSTM) 网络是一种特殊的循环神经网络 (RNN),旨在处理序列数据,同时缓解梯度消失问题,这是标准 RNN 中常见的问题。与传统的 RNN 不同,传统的 RNN 由于反向传播期间误差信号的减小而难以在长序列中保留信息,而 LSTM 使用门控架构来控制信息的流动。这使得它们对于需要记忆过去输入的任务特别有效,例如时间序列预测、自然语言处理和语音识别。 LSTM 通过维护一个单元状态(一种持久的记忆路径)并通过称为门的机制来调节更新来实现这一点。
LSTM 的核心创新在于其三个门:输入门、遗忘门和输出门。每个门都使用 sigmoid 函数来产生 0 到 1 之间的值,从而确定保留或丢弃多少信息。遗忘门决定擦除单元状态的哪些部分,输入门选择要添加的新信息,输出门控制传递到下一步的内容。例如,在文本预测任务中,遗忘门可能会丢弃过时的上下文(例如,句子中的主题转变),而输入门会合并新单词。单元状态充当传送带,允许梯度在许多步骤中保持不变地流动,从而保留长期依赖关系。这种结构使 LSTM 能够学习跨越数百个时间步长的模式,这对于普通 RNN 来说是不切实际的。
LSTM 广泛应用于上下文和时间至关重要的场景。在机器翻译中,它们通过记住序列中较早的关键单词来处理输入句子并生成输出。例如,翻译“吃老鼠的猫睡着了”需要保留相对从句中的“猫”,以便将其与“睡着了”正确关联。同样,在语音识别中,LSTM 对音频帧之间的时间依赖关系进行建模,以准确转录口语单词。开发人员通常使用 TensorFlow 或 PyTorch 等框架实现 LSTM,其中预构建的层简化了集成。虽然像 Transformers 这样的较新架构已经获得了关注,但 LSTM 对于具有适度序列长度或有限训练数据的任务仍然具有相关性,从而提供了性能和计算效率的平衡。它们的模块化设计还允许自定义,例如堆叠多个 LSTM 层或将它们与卷积网络结合以创建混合模型。