LSTM 长短期记忆网络详解

传统循环神经网络(RNN)是处理序列数据 (文本、语音、时间序列)的经典模型,但它存在致命缺陷:无法有效捕捉长期依赖关系,训练时极易出现梯度消失、梯度爆炸问题,距离较远的上下文信息会完全丢失。

LSTM(Long Short-Term Memory,长短期记忆网络)是 RNN 最经典、最广泛使用的改进版本。它在原生 RNN 的基础上,设计了全新的细胞状态 + 三门控机制,完美解决了传统 RNN 长期遗忘的痛点,可以自主学习、保留长期重要信息、丢弃无关冗余信息,是目前 NLP、时序预测领域最核心的基础模型之一。

一、LSTM 通俗理解

LSTM的工作逻辑和人脑记忆完全一致:模型拥有有限的记忆能力,自主判断信息重要性,只保留相关有效信息用于预测,主动忘记无关冗余数据。

简单总结:记住重要的,忘记无关紧要的

二、原生 RNN vs LSTM 结构对比

原生 RNN 的隐状态计算非常简单:

每一时刻直接叠加当前输入 + 上一时刻隐状态,信息无筛选、无保护,远距离传递时梯度会不断衰减,最终完全消失。

而 LSTM 彻底重构了循环单元:新增细胞状态 Cell State(长期记忆传送带),同时设计了三套独立门控结构,分别控制「遗忘旧信息、存入新信息、对外输出信息」,从根源解决长期遗忘问题。

三、LSTM 三大核心门控结构详解

LSTM 核心由遗忘门、输入门、输出门三部分组成,搭配贯穿时间步的细胞状态 Cell State,分步完成记忆的更新与输出。下面完全对应 PPT 图示,逐门拆解原理、步骤、功能。

3.1 遗忘门 Forget Gate(第一步:过滤旧记忆)

核心功能

决定从上一时刻的细胞状态(历史记忆)中,丢弃哪些不重要的历史关键词信息,是 LSTM 解决长期遗忘的第一步。

工作步骤
  1. 上一时刻隐藏状态 和**当前时刻输入**共同输入;
  2. 经过线性变换后送入sigmoid激活函数;
  3. 输出取值范围在0~1之间的权重向量:
    • 数值越接近 0 → 该部分历史信息完全丢弃
    • 数值越接近 1 → 该部分历史信息完全保留
直观理解

就像我们看完评论后,自动忘掉助词、虚词这类无效旧信息,只保留有价值的历史观点。公式逻辑:遗忘门输出权重和旧细胞状态逐元素相乘,直接过滤掉不需要的历史记忆。

3.2 输入门 Input Gate(第二步:存入新记忆)

核心功能

筛选当前时刻输入的新信息,决定哪些新内容需要更新、存入细胞状态(长期记忆)

工作步骤(两步并行)
  1. sigmoid 控制门部分 :输入**** 和****,经过 sigmoid 输出 0~1 权重,判断当前新信息里哪些重要、需要更新,0 代表不重要丢弃,1 代表完全保留。
  2. tanh 候选值部分 :输入ht−1和xt,经过 tanh 激活函数,生成 -1,1 区间的全新候选记忆向量
  3. 两者逐元素相乘:用 sigmoid 权重过滤 tanh 候选值,只把重要的新信息筛选出来。

最后将经过遗忘门过滤后的旧细胞状态+输入门筛选后的新记忆相加,得到当前时刻最新细胞状态,完成长期记忆的更新。

3.3 输出门 Output Gate(第三步:对外输出记忆)

核心功能

决定最新细胞状态里的内容,哪些部分可以作为当前隐藏状态输出,传递给下一个时间步、或是模型下游任务。

工作步骤
  1. 输入,送入 sigmoid 函数,输出 0~1 权重,控制细胞状态哪些部分允许对外输出;
  2. 将最新细胞状态****送入 tanh 函数,把数值压缩到 -1,1 区间;
  3. 将 tanh 输出与 sigmoid 权重逐元素相乘,得到当前时刻隐藏状态
  4. 把新细胞状态**** 和新隐藏状态,一起传递到下一个时间步,继续循环迭代。

四、LSTM 整体工作流程总结

  1. 遗忘门:清理上一步无用的历史长期记忆
  2. 输入门:筛选当前输入的新信息,存入长期记忆
  3. 更新细胞状态:旧记忆过滤后 + 新记忆筛选后 = 最新长期记忆
  4. 输出门:从长期记忆里提取有效信息,生成当前输出隐状态
相关推荐
HIT_Weston2 分钟前
151、【Agent】【OpenCode】启动分析(CLI 命令注册)
人工智能·agent·opencode
笑小枫8 分钟前
用 Claude Code 推翻重写笑小枫网站
java·人工智能·spring boot·ai编程
audyxiao00116 分钟前
人工智能顶会AAAI 2026论文分享|SlideBot:用于生成信息丰富、可靠、多模态幻灯片的多智能体框架
人工智能·大模型·aaai·智能体·幻灯片
用户9385156350719 分钟前
Workflow 与 Agent 之争:确定性执行与智能探索的深度剖析
人工智能
阿里云大数据AI技术27 分钟前
阿里云 EMR Serverless StarRocks(Stella 2.2.0) 发布:内表与湖表同时支持向量、全文与 AI Function,一条 SQL 完成多模态检索
人工智能
格林威27 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
怪奇云呼军32 分钟前
闪电智能Voice Agent:ASR 首字延迟和最终识别延迟怎么测?t0-t3 埋点实战
人工智能·科技·ai·语音识别
冬哥聊AI39 分钟前
百万行代码里跑Claude Code?三面这题80%的人答不上来
人工智能
甄同学39 分钟前
第二十三篇:Tasks系统,Claude Code如何统一管理7种后台任务
人工智能
独隅41 分钟前
IntelliJ IDEA 接入多种AI大模型插件终极指南(2026.1 企业合规版)
java·人工智能·intellij-idea