深圳Yolo 视觉
深圳
立即加入
词汇表

长短期记忆网络 (LSTM)

Explore how Long Short-Term Memory (LSTM) networks solve the vanishing gradient problem. Learn about gates, cell states, and temporal modeling for AI projects.

长短期记忆网络(LSTM)是一种特殊的 循环神经网络(RNN) 架构,能够在序列预测问题中学习顺序依赖性。 与标准前馈神经网络不同,LSTM具备反馈连接机制,使其不仅能处理单个数据点(如图像),更能处理完整数据序列(如语音或视频)。这种能力使其特别适用于需要依赖先前输入上下文来理解当前数据的任务,从而解决了传统RNN在"短期记忆"方面的局限性。

标准循环神经网络的问题

要理解LSTM的创新之处,有必要审视基础循环神经网络面临的挑战。尽管循环神经网络专为处理序列信息而设计,但由于梯度消失问题,它们在处理长序列数据时举步维艰。当网络 随时间反向传播时,用于更新网络权重的梯度值会呈指数级衰减, 导致网络无法学习远距离事件间的关联。这意味着标准RNN可能记住上句单词, 却遗忘三段之前建立的上下文。LSTM通过引入更复杂的内部结构 专门解决此问题,能在更长时间尺度上维持上下文窗口

LSTM 的工作原理

LSTM的核心概念是单元状态,常被描述为贯穿整个网络链的传送带。这种状态使信息能够沿其不变地流动,从而保持长期依赖关系。网络通过称为门控结构的机制,决定从单元状态中存储、更新或丢弃哪些信息。

  • 遗忘门:该机制决定哪些信息不再相关,应从单元状态中移除。 例如,当语言模型遇到新主语时,它可能会"遗忘"前一个主语的性别。
  • 输入门:该门决定哪些新信息具有足够重要性,值得存储在单元状态中。
  • 输出门:最后,该门控制内部状态的哪些部分应输出至下一个隐藏状态,并用于即时预测。

通过调节信息流,LSTM能够跨越超过1000步的时间滞后,在需要时间序列分析的任务上远超传统RNN的表现。

实际应用

过去十年间,LSTM模型推动了深度学习领域的诸多重大突破。以下是其应用的两个显著范例:

  • 序列到序列翻译建模:LSTM是机器翻译系统的基础。在此架构中,一个LSTM(编码器)处理某语言(English)的输入句子,并将其压缩为上下文向量。 第二个LSTM(解码器)利用该向量生成另一种语言(如法语)的译文。这种处理不同长度输入与输出序列的能力对自然语言处理(NLP)至关重要。
  • 视频分析与动作识别:卷积神经网络(如ResNet-50)虽擅长识别静态图像中的物体,却缺乏时间感知能力。通过将卷积神经网络与长短期记忆网络(LSTM)结合,人工智能系统能够实现视频流中的动作识别。 CNN从每帧图像中提取特征,LSTM则分析这些特征序列,从而判断人物处于行走、奔跑或跌倒状态。

将LSTM与计算机视觉相结合

在现代计算机视觉领域,长短期记忆网络(LSTM)常与强大的特征提取器协同使用。例如,可采用YOLO detect 单帧图像中的detect ,同时运用Ltrack 轨迹或预测track 未来运动轨迹。

以下是一个使用 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等自然语言处理任务中 基本取代了LSTM。Transformer能并行处理 完整序列而非顺序处理,使大规模数据集的训练速度大幅提升。然而在数据有限或存在特定时间序列约束的场景中, 当注意力机制的开销不再必要时,LSTM仍具有重要应用价值。

进化与未来

尽管注意力机制已成为生成式人工智能的核心技术,LSTM神经网络仍因其稳健性而持续被应用于轻量级场景,尤其在计算资源受限的边缘人工智能环境中。研究人员正持续探索混合架构,旨在融合LSTM的记忆效率与现代目标检测系统的表征能力。

对于需要管理数据集以训练序列模型或处理复杂视觉任务的用户,Ultralytics 提供了全面的数据标注与数据集管理工具。此外,理解LSTM的工作原理为掌握更高级的时间序列模型奠定了坚实基础,这些模型广泛应用于自动驾驶汽车和机器人领域。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入