Long Short-Term Memory (LSTM)
探索长短期记忆 (LSTM) 网络。了解 LSTM 如何解决 RNN 在时间序列、NLP 和视频分析任务中的梯度消失问题。
长短期记忆网络 (LSTM) 是一种特殊的循环神经网络 (RNN) 架构,能够学习序列预测问题中的顺序依赖关系。与标准前馈神经网络不同,LSTM 具有反馈连接,使它们不仅能够处理单个数据点(如图像),还能处理整个数据序列(如语音或视频)。这种能力使它们非常适合那些需要早期输入的上下文来理解当前数据的任务,从而解决了传统 RNN 的“短期记忆”局限性。
标准 RNN 的问题#
为了理解 LSTM 的创新之处,我们不妨来看看基础循环神经网络所面临的挑战。虽然 RNN 旨在处理序列信息,但由于梯度消失问题,它们在处理长数据序列时显得力不从心。当网络进行随时间反向传播时,用于更新网络权重的梯度可能会呈指数级缩小,这实际上阻止了网络学习遥远事件之间的连接。这意味着标准的 RNN 可能会记住前一句中的一个单词,却忘记了三个自然段前建立的上下文。LSTM 的显式设计正是为了通过引入更复杂的内部结构来解决这个问题,该结构能够在更长的时间内保持上下文窗口。
LSTM 的工作原理#
LSTM 的核心概念是细胞状态,它通常被描述为一条贯穿整个网络链的传送带。这种状态允许信息沿其不加改变地流动,从而保存长期依赖关系。网络通过称为“门”的结构来决定从该细胞状态中存储、更新或丢弃哪些信息。
- 遗忘门: 该机制决定哪些信息不再相关并应从细胞状态中移除。例如,如果语言模型遇到一个新的主语,它可能会“忘记”上一个主语的性别。
- 输入门: 该门决定哪些新信息足够重要,可以存储在细胞状态中。
- 输出门: 最后,该门控制内部状态的哪些部分应该输出到下一个隐藏状态,并用于即时预测。
通过调节这种信息流,LSTM 可以跨越超过 1,000 个步骤的时间滞后,在需要进行时间序列分析的任务中,其表现远远优于传统 RNN。
实际应用#
在过去的十年里,LSTM 推动了深度学习领域的许多重大突破。以下是其应用的两个显著例子:
- 翻译中的序列到序列建模: LSTM 是机器翻译系统的基础。在这种架构中,一个 LSTM(编码器)处理一种语言(例如英语)的输入句子并将其压缩为上下文向量。然后,第二个 LSTM(解码器)使用该向量生成另一种语言(例如法语)的翻译。这种处理不同长度的输入和输出序列的能力对于自然语言处理 (NLP) 至关重要。
- 视频分析与活动识别: 尽管像 ResNet-50 这样的卷积神经网络 (CNN) 擅长识别静态图像中的物体,但它们缺乏时间概念。通过将 CNN 与 LSTM 相结合,AI 系统能够在视频流中执行动作识别。CNN 从每一帧中提取特征,而 LSTM 则分析这些特征的序列,以确定一个人是在走路、跑步还是摔倒。
将 LSTM 与计算机视觉集成#
在现代计算机视觉中,LSTM 通常与强大的特征提取器结合使用。例如,你可能会使用 YOLO 模型来检测单个帧中的物体,并使用 LSTM 来跟踪它们的轨迹或预测未来的运动。
这里有一个概念示例,使用 torch 来定义一个简单的 LSTM,它可以处理从视频流中提取的特征向量序列:
import torch
import torch.nn as nn
# Define an LSTM model for processing sequential video features
# Input size: 512 (e.g., features from a CNN), Hidden size: 128
lstm_model = nn.LSTM(input_size=512, hidden_size=128, num_layers=2, batch_first=True)
# Simulate a batch of video sequences: 8 videos, 10 frames each, 512 features per frame
video_features = torch.randn(8, 10, 512)
# Pass the sequence through the LSTM
output, (hidden_state, cell_state) = lstm_model(video_features)
print(f"Output shape: {output.shape}") # Shape: [8, 10, 128]
print("LSTM successfully processed the temporal sequence.")相关概念与区别#
区分 LSTM 与其他序列处理架构是很有帮助的:
- LSTM 与 GRU: 门控循环单元 (GRU) 是 LSTM 的简化变体。GRU 将遗忘门和输入门组合成单个“更新门”,并合并了单元状态和隐藏状态。这使得 GRU 在计算上更高效且训练更快,尽管在更大、更复杂的数据集上,LSTM 的表现可能仍然优于它们。
- LSTM 与 Transformers: Transformer 架构依赖自注意力机制而非循环,在诸如 GPT-4 等所执行的 NLP 任务中,它在很大程度上已经取代了 LSTM。Transformers 可以并行处理整个序列,而不是按顺序处理,从而能够在海量数据集上实现快得多的训练。然而,在数据有限或具有特定时间序列约束且不需要注意力机制开销的场景中,LSTM 依然具有相关性。
演进与未来#
尽管注意力机制在生成式 AI 中占据了中心位置,但对于较轻量级的应用,LSTM 仍然是一个强有力的选择,尤其是在计算资源受限的边缘 AI 环境中。研究人员继续探索混合架构,将 LSTM 的内存效率与现代目标检测系统的表征能力结合起来。
对于那些希望管理用于训练序列模型或复杂视觉任务的数据集的人来说,Ultralytics Platform 提供了用于标注和数据集管理的全面工具。此外,理解 LSTM 的工作原理为掌握自动驾驶汽车和机器人技术中使用的更高级的时间模型奠定了坚实的基础。






