【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

相关推荐
小和尚同志1 小时前
1.8k star 的开源 token 使用量监控神器— TokenTracker
人工智能·ai编程
极客 - L U2 小时前
神经网络 - 激活函数、损失函数、优化器
人工智能·深度学习·神经网络
数字融合3 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi0113 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
xiangzhihong83 小时前
创之星花店多端业务闭环拆解
人工智能
奈落243 小时前
AI 编程从助手到 Agent:基于两份资料看哪些环节可以交出去,哪些必须自己攥住
大数据·人工智能
Joker可视化开发平台3 小时前
AI短剧接棒真人剧:开机量跌七成,普通人进场窗口在收窄
大数据·人工智能
澳鹏Appen3 小时前
澳鹏电子书 | 强化学习环境:为AI智能体打造高保真训练场
人工智能
吴佳浩3 小时前
单卡5090跑125B 大模型:Strata 把服务器级 MoE 拉进普通 PC
人工智能
Data-Miner3 小时前
AI做表格软件哪个好?专业评测:五维对比看清差距
人工智能