【Pytorch✨】LSTM04 l理解长期记忆和短期记忆
1. C_t(长期记忆)的特点
它是细胞状态(Cell State),从 t=1 一直传到最后 。
更新方式:
ft *Ct-1
→ 旧记忆(经过遗忘门过滤)it *Ct
→ 新记忆(经过输入门筛选)
关键点:
- C_t 只经过“加法”更新,不经过太多非线性变换,所以信息可以长期保留
- 遗忘门
ft
可以让旧记忆部分保留很久(甚至很多时间步) - 它更像是一本“历史记录本”,有很强的跨时间步信息传递能力
类比:
C_t 就像一个人的长期记忆库,你小时候的记忆、昨天的经历、今天早上的早餐……都可能存放在里面,除非你主动遗忘。
2. h_t(短期记忆)的特点
-
它是输出状态(Hidden State),既包含当前时刻的重要信息,也受当前 C_t 调整
-
计算方式:
- 先对 C_t 做一次
tanh
压缩(信息被过滤、范围限制) - 再用输出门
o_t
决定要输出多少
- 先对 C_t 做一次
关键点:
- h_t 是每一步“加工过”的信息,带有很强的即时性
- 因为每次都会重新计算,并且经过
tanh
,所以 h_t 更容易受到当前输入和当前状态影响 - 不适合长时间保留细节信息,更适合传递“当前时刻的精华”
类比:
h_t 就像你现在正在和别人对话时,能马上说出口的内容,它依赖于你的长期记忆(C_t),但会根据当前情境提取一部分。
3. 总结对比
对象 | 全称 | 作用 | 保留时间 | 更新方式 | 类比 |
---|---|---|---|---|---|
C_t | Cell State | 长期记忆 | 很久(跨多个时间步) | 遗忘门 + 输入门(加法更新) | 长期记忆库 |
h_t | Hidden State | 短期记忆 / 当前输出 | 当前时间步(下一步会重新生成) | 输出门 + tanh | 当前说出口的话 |