在处理时间序列(比如股票预测、语音识别、文字生成)时,传统的神经网络总是“阅后即焚”,无法记住上下文。于是,LSTM(长短期记忆网络) 诞生了。

很多初学者觉得 LSTM 的图纸就像一团乱麻,什么“门控机制”、“细胞状态”听起来非常抽象。今天,我们不用任何复杂的代码框架,只用最基础的加减乘除,在 Excel 里把 LSTM 算个透彻!

1. 核心概念:传送带与三个门

把 LSTM 想象成一条带有关卡的记忆传送带:

  • 细胞状态 (Ct):这就是“记忆传送带”。它从上一个时间步传过来,LSTM 会在上面进行修改(添加或删除记忆),然后传给下一个时间步。

  • 隐藏状态 (Ht):这是当前时间步的“输出面貌”,它不仅会作为结果输出,还会和下一个时刻的输入结合。

  • 三个门(Gate):负责拦截和放行信息。本质上,它们就是让输入值通过 Sigmoid 函数(将值压缩到 0 到 1 之间)。如果是 0,就代表“关门/丢弃”;如果是 1,就代表“开门/放行”。

2. 第一步:遗忘门 (Forget Gate, ft)

目标:决定上一步的旧记忆,我们要忘掉多少?

在 Excel 文件中(E列),我们提取当前的输入 (xt) 和上一时刻的隐藏状态 (ht-1),将它们乘以遗忘门权重加上偏置后,套入 Sigmoid 公式:

  • 如果算出来是 0.1,说明旧记忆只有 10% 被保留;如果是 0.9,说明 90% 的旧记忆都被保留。

3. 第二步:输入门 (Input Gate, $i_t$) 与候选记忆 ($\tilde{C}_t$)

目标:决定我们要往传送带上加入什么新记忆?

这里分两部分:

  1. 准备新素材:通过 Tanh 函数(将值压缩到 -1 到 1 之间),计算出一个候选记忆 $\tilde{C}_t$(G列)。

  2. 决定吸收多少:通过输入门 $i_t$(F列),计算出一个 0 到 1 的系数。

  • $i_t = \sigma(W_i \cdot x_t + W_h \cdot h_{t-1} + b_i)$

  • $\tilde{C}_t = \tanh(W_c \cdot x_t + W_h \cdot h_{t-1} + b_c)$

4. 第三步:更新细胞状态(记忆传送带, $C_t$

目标:合并旧记忆与新记忆!

在 Excel 文件中(H列),这是最精彩的一步:

  • 新细胞状态 $C_t = (f_t \times C_{t-1}) + (i_t \times \tilde{C}_t)$

    用人话解释:当前记忆 = (遗忘门系数 $\times$ 上个时刻的记忆) + (输入门系数 $\times$刚刚产生的新素材)

    通过这个公式,LSTM 成功地把旧知识和新发现融合在了一起。

5. 第四步:输出门 (Output Gate, $o_t$) 与隐藏状态 ($h_t$)

目标:决定我们要把什么结论汇报给外界?

现在我们有了最新的内部记忆 ($C_t$),但我们不能把所有的内心活动都直接输出。

我们要通过输出门 $o_t$(I列)来过滤:

  • $o_t = \sigma(W_o \cdot x_t + W_h \cdot h_{t-1} + b_o)$

    最后,把内部记忆通过 Tanh 处理一下,再乘以输出门的系数,就得到了最终的隐藏状态 $h_t$(J列):

  • $h_t = o_t \times \tanh(C_t)$

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐