LSTM计算过程
一、网络与参数总览
1. 网络规模(极简版)
- 输入维度:1
- 隐藏状态维度:1
- 时间步:T=2
- 激活函数:sigmoid (σ)、tanh
- 初始状态:h₀=0,c₀=0
2. 固定参数(来自 Excel)
表格
| 门 / 模块 | 输入权重 w | 循环权重 u | 偏置 b |
|---|---|---|---|
| 遗忘门 f | 0.5 | 0.8 | 0.1 |
| 输入门 i | 0.6 | 0.7 | 0.2 |
| 候选细胞 g | 0.4 | 0.9 | 0 |
| 输出门 o | 0.3 | 0.5 | 0.1 |
3. LSTM 核心公式
- 遗忘门:zf=wf⋅xt+uf⋅ht−1+bf;ft=σ(zf)
- 输入门:zi=wi⋅xt+ui⋅ht−1+bi;it=σ(zi)
- 候选细胞:zg=wc⋅xt+uc⋅ht−1+bc;gt=tanh(zg)
- 细胞状态:ct=ft⋅ct−1+it⋅gt
- 输出门:zo=wo⋅xt+uo⋅ht−1+bo;ot=σ(zo)
- 隐藏状态:ht=ot⋅tanh(ct)
二、正向传播逐步计算
(1)时间步 t=1,输入 x₁=0.2
遗忘门计算zf=0.5×0.2+0.8×0+0.1=0.1+0+0.1=0.2ft=σ(0.2)=0.549834(与 Excel 一致)
输入门计算zi=0.6×0.2+0.7×0+0.2=0.12+0+0.2=0.32it=σ(0.32)=0.579324(与 Excel 一致)
候选细胞计算zg=0.4×0.2+0.9×0+0=0.08gt=tanh(0.08)=0.079830(与 Excel 一致)
细胞状态更新c1=0.549834×0+0.579324×0.079830=0.046247(与 Excel 一致)
输出门计算zo=0.3×0.2+0.5×0+0.1=0.06+0+0.1=0.16ot=σ(0.16)=0.539915(与 Excel 一致)
隐藏状态输出h1=0.539915×tanh(0.046247)=0.539915×0.046216=0.024952(与 Excel 一致)
(2)时间步 t=2,输入 x₂=0.5
遗忘门计算zf=0.5×0.5+0.8×0.024952+0.1=0.25+0.019962+0.1=0.369962ft=σ(0.369962)=0.591450(与 Excel 一致)
输入门计算zi=0.6×0.5+0.7×0.024952+0.2=0.3+0.017466+0.2=0.517466it=σ(0.517466)=0.626555(与 Excel 一致)
候选细胞计算zg=0.4×0.5+0.9×0.024952+0=0.2+0.022457=0.222457gt=tanh(0.222457)=0.218858(与 Excel 一致)
细胞状态更新c2=0.591450×0.046247+0.626555×0.218858=0.02734+0.13714=0.164480(与 Excel 一致)
输出门计算zo=0.3×0.5+0.5×0.024952+0.1=0.15+0.012476+0.1=0.262476ot=σ(0.262476)=0.565245(与 Excel 一致)
隐藏状态输出h2=0.565245×tanh(0.164480)=0.565245×0.16306=0.092142
