【DL】LSTM|Cell State|三个门

一、为什么需要 LSTM?

因为普通 RNN 虽然可以通过 Hidden State 保存过去的信息,但是当序列很长时,早期信息很容易在多次计算和反向传播中逐渐丢失,因此 RNN 很难处理长期依赖。

增加一条专门的长期记忆通道 Cell State,并通过门控机制决定信息应该保留、删除还是输出。

RNN有记忆,但是很容易忘记很久之前的信息,所以LSTM出来了,专门管理记忆。

二、RNN 存在的问题

所有的历史信息都挤在hidden state里面,序列很长时,信息很容易被新的信息覆盖或者逐渐削弱。

复制代码
过去记忆
   ↓
 hₜ₋₁
   +
当前输入
   ↓
 RNN
   ↓
 hₜ

三、LSTM 做了什么?

LSTM主要增加了Cell State(Ct),可以理解为一条专门用来保存长期信息的"记忆通道"。同时保留ht作为当前时刻对外输出的状态。

Cₜ = 长期记忆

hₜ = 当前状态 / 当前输出

四、为什么要搞两个状态?

可以理解为:

C:我的长期笔记

h:我现在正在说什么

五、LSTM 最核心的设计:三个门

为什么叫"门"?

这些gate本质是一个0~1 之间的控制器,0可以理解为完全不让信息通过,1反之,它们之间的数值代表这相应的范围。

为什么使用 Sigmoid?

它的输出范围:0--1,正好适合做们。

第一扇门:Forget Gate

干什么的?

决定旧的 Cell State 中哪些信息应该保留,哪些信息应该忘掉。

我们通过一个例子来解释:

复制代码
当作长期笔记
Cₜ₋₁:

姓名:小明
年龄:20
住址:北京
天气:晴

现在:小明搬到了上海

那么以前的住址应该忘掉,forget gate就是再判断每次是否应该保留

第二扇门:Input Gate

干什么的?

决定当前输入产生的新信息中,哪些应该写入长期记忆 Cell State。

Input Gate(决定写多少)

Candidate Memory(决定写什么)

第三扇门:Output Gate

干什么?

决定当前 Cell State 中哪些信息应该暴露出来,形成当前的 Hidden State。

大概流程:

复制代码
Cₜ
 ↓
Output Gate
 ↓
hₜ

六、现在看 LSTM 的完整流程

复制代码
                当前输入 xₜ
                    │
                    ↓
             ┌─────────────┐
             │ Forget Gate │
             └──────┬──────┘
                    ↓
旧记忆 Cₜ₋₁ ──────→ 删除一部分
                    │
                    ↓
             ┌─────────────┐
             │ Input Gate  │
             └──────┬──────┘
                    ↓
               写入新信息
                    │
                    ↓
                  Cₜ
                    │
                    ↓
             ┌─────────────┐
             │ Output Gate │
             └──────┬──────┘
                    ↓
                  hₜ

七、现在正式进入数学

forget gate

input gate

candidate memory

更新cell state

output gate

更新Hidden state

我们来手算一个极简 LSTM

复制代码
旧记忆
Cₜ₋₁ = 0.8
    │
    ↓
Forget Gate = 0.9
    │
    ↓
0.8 × 0.9 = 0.72 (原来的长期记忆保存90%)
    │
    │
新信息
Candidate = 0.5
    │
    ↓
Input Gate = 0.6
    │
    ↓
0.5 × 0.6 = 0.3(当前新信息写入60%)
    │
    ↓
0.72 + 0.3
    ↓
Cₜ = 1.02(新的长期记忆)
    │
    ↓
Output Gate = 0.7
    ↓
hₜ ≈ 0.54

八、LSTM 为什么比普通 RNN 更容易处理长期依赖?

因为 LSTM 有一条专门的 Cell State,并且 Cell State 的更新主要通过加法和门控完成,使长期信息能够更直接地沿着这条通道传播,从而比普通 RNN 更容易保留长期信息。

九、LSTM 和 RNN 的区别

RNN LSTM
Hidden State
Cell State
Forget Gate
Input Gate
Output Gate
长期依赖 较弱 更强
结构 简单 更复杂
可以理解为:
复制代码
RNN:

一个记忆状态
 ↓
容易忘


LSTM:

长期记忆 C
+
当前状态 h
+
三个 Gate
 ↓
更会管理记忆

十、LSTM 的真正核心

LSTM 的核心思想是让网络能够主动控制信息的流入、保留和输出。千万不要以为它有三个们,所以叫做LSTM

相关推荐
LadiesAndGentlemen24 分钟前
GeoX 论文解读:不用人工标注,如何训练会空间推理的遥感大模型
人工智能·深度学习·机器学习
水管在开花.25 分钟前
Agent范式与LangGraph④-零基础保姆级教程
人工智能·agent·rag
水如烟38 分钟前
孤能子视角:EIS看宇宙创生寂灭假说——人类宇宙学假说的操作描述重显影
人工智能
Elastic 中国社区官方博客42 分钟前
从建议到修复的 4 个阶段:使用 Elastic Workflows 实现人在回路中的自动化
运维·数据库·人工智能·后端·elasticsearch·ai·自动化
码视野44 分钟前
基于 Spring Boot + Vue3 的【城市地下燃气管网微泄漏感知与相邻地下空间燃爆预警中台】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端
土星云SaturnCloud1 小时前
大型仓储AI视觉全场景落地实战:安全·效率·库存,32TOPS土星云边缘算力赋能分区部署
服务器·人工智能·ai·边缘计算
智塑未来1 小时前
2026年边缘计算网关哪个品牌好?多厂商边缘算力能力横评
人工智能·边缘计算
ShallWeL1 小时前
【Agent工程】(6)—— 危险写操作与二次确认
人工智能·agent·工作流·智能体