LSTM

结构

  • 遗忘门 forget gate ↔ Γft=σ(Wf[at1,xt]+bf)\Gamma_f^{\langle t\rangle}=\sigma\left(W_f\left[a^{\langle t-1\rangle}, x^{\langle t\rangle}\right]+b_f\right)
    • 取值范围在 0 到 1
    • 功能 → 控制上一个 cell 的状态 ct1c^{t-1},有多少信息进入当前状态 ctc^{t}
  • 更新门 update gate ↔ Γut=σ(Wu[at1,xt]+bu)\Gamma_u^{\langle t\rangle}=\sigma\left(W_u\left[a^{\langle t-1\rangle}, x^{\langle t\rangle}\right]+b_u\right)
    • 功能 → 控制输入 xx,有多少信息进入当前状态 ctc^{t}
  • c~(t)\tilde{c}^{(t)}c~(t)=tanh(WC[at1,xt]+bC)\tilde{c}^{(t)}=\tanh \left(W_C\left[a^{\langle t-1\rangle}, x^{\langle t\rangle}\right]+b_C\right)
  • ct=Γftc(t1+Γutc~tc^{\langle t\rangle}=\Gamma_f^{\langle t\rangle} \circ c^{(t-1\rangle}+\Gamma_u^{\langle t\rangle} \circ \tilde{c}^{\langle t\rangle}
  • 输出门 output gate ↔ Γo(t)=σ(Wo[at1,xt]+bo)\Gamma_o^{(t)}=\sigma\left(W_o\left[a^{\langle t-1\rangle}, x^{\langle t\rangle}\right]+b_o\right)
    • 作用 → 控制当前状态 ctc^{t} 有多少信息进入 cell 的输出
  • 新的 ata^{\langle t\rangle} 计算方式→ at=Γottanh(ct)a^{\langle t\rangle}=\Gamma_o^{\langle t\rangle} \circ \tanh \left(c^{\langle t \rangle}\right)

image.png

使用饱和的非线性函数

  • 为什么 → 在输入达到一定值后,输出就不会发生明显变化
  • [[sigmoid]] 阈值 0-1 → 模拟开关的关闭程度,用于各种门
    • 现代神经网络中门控的选择
  • [[Tanh]] 阈值 -1 到 1,梯度的阈值为 0~1 → 生成记忆
    • 0 中心
    • 输入在 0 附近相比 Sigmoid 函数有更大的梯度
  • 为什么不使用 relu → 只能输出大于 0 的部分,前向传播容易发生信息爆炸性增长。

Ref

网络回响

作者

Ryen Xiang

发布于

2026-02-17

更新于

2026-02-17

许可协议


评论