RNN 全公式速查:SRNN / LSTM / GRU(字母与函数对齐)¶
- 章节:第25章 · 循环神经网络(老师:"图和公式要能一一对应";本章低优先级、按基础掌握)
- 用途:怕
U/W配错、tanh/softmax/σ搞混,这条把每个字母配谁、每处用什么函数钉死。
总口诀(先记这句,再看公式不会乱)¶
门(gate)一律
σ(要 0~1 当开关);候选/状态值一律tanh(要 ±1 数值);只有 SRNN 输出那一步用softmax(要概率)。U永远配h_{t-1}(历史),W永远配x_t(输入),V配输出。
一、SRNN(简单循环网络)¶
隐藏状态(\(f=\tanh\) 或 logistic):
输出(用 \(\text{softmax}\)):
- \(\boldsymbol U\):状态-状态权重,乘 \(\boldsymbol h_{t-1}\)(\(D\times D\));\(\boldsymbol W\):状态-输入权重,乘 \(\boldsymbol x_t\)(把 \(M\) 维输入映到 \(D\) 维);\(\boldsymbol V\):输出权重,乘 \(\boldsymbol h_t\)。
- \(\boldsymbol b\) 隐藏偏置、\(\boldsymbol c\) 输出偏置;\(\boldsymbol h_0=0\);\(\boldsymbol U,\boldsymbol W,\boldsymbol b\) 沿时间共享。
- \(\boldsymbol x_t\in\mathbb R^M\)(输入维),\(\boldsymbol h_t\in\mathbb R^D\)(隐藏维)。
- 函数:隐藏层 \(f=\tanh\)(或 logistic);输出层 \(\text{softmax}\)。SRNN 里没有别的函数。
二、LSTM¶
三个门(全部 \(\sigma\) sigmoid):
候选状态(\(\tanh\)):
记忆元更新(\(\odot\) 逐元素乘):
外部状态(输出给隐藏层):
- \(\boldsymbol W_*\) 配 \(\boldsymbol x_t\)、\(\boldsymbol U_*\) 配 \(\boldsymbol h_{t-1}\)、\(\boldsymbol b_*\) 偏置,\(*\in\{i,f,o,c\}\);\(\odot\) 是逐元素乘(不是矩阵乘)。
- 函数:三门 \(i,f,o\to\sigma\);候选 \(\tilde c_t\) 与最后 \(\tanh(c_t)\to\tanh\);无 softmax。
- 门的作用:\(f_t\) 旧记忆 \(c_{t-1}\) 保留多少;\(i_t\) 候选 \(\tilde c_t\) 写入多少(\(f\) 与 \(i\) 互补);\(o_t\) 内部状态 \(c_t\) 输出多少给 \(h_t\)。
三、GRU(了解级)¶
更新门(\(\sigma\)):\(\quad\boldsymbol z_t=\sigma(\boldsymbol W_z\boldsymbol x_t+\boldsymbol U_z\boldsymbol h_{t-1}+\boldsymbol b_z)\)
重置门(\(\sigma\)):\(\quad\boldsymbol r_t=\sigma(\boldsymbol W_r\boldsymbol x_t+\boldsymbol U_r\boldsymbol h_{t-1}+\boldsymbol b_r)\)
候选状态(\(\tanh\),注意先 \(\boldsymbol r_t\odot\boldsymbol h_{t-1}\)):
- 两个门:更新门 \(z\) / 重置门 \(r\);不用记忆元 \(c\),参数比 LSTM 少。
- 退化:\(z_t=0,r_t=1\Rightarrow\) 回退到 SRNN;\(z_t=1\Rightarrow\) 当前状态只依赖之前状态。
易错点 / 为什么错¶
- 门用
σ、候选/状态用tanh、SRNN 输出才用softmax——别把门写成 tanh、别给 LSTM/GRU 加 softmax。 U配h_{t-1}、W配x_t——三套网络一致,写反就错。- LSTM/GRU 里的 \(\odot\) 是逐元素乘,不是矩阵乘。
- GRU 候选里是 \(\boldsymbol U_h(\boldsymbol r_t\odot\boldsymbol h_{t-1})\),重置门先作用在 \(h_{t-1}\) 上再乘 \(U_h\)。
- SRNN 参数 \(\boldsymbol U,\boldsymbol W,\boldsymbol b\) 时间共享(同一套参数用于所有时刻)。
对照表(防混总表)¶
| 位置 | 函数 | 配 \(h_{t-1}\) | 配 \(x_t\) |
|---|---|---|---|
| SRNN 隐藏 | \(\tanh\)/logistic | \(U\) | \(W\) |
| SRNN 输出 | \(\text{softmax}\) | (\(V\) 配 \(h_t\)) | — |
| LSTM 三门 \(i/f/o\) | \(\sigma\) | \(U_i,U_f,U_o\) | \(W_i,W_f,W_o\) |
| LSTM 候选 \(\tilde c\) | \(\tanh\) | \(U_c\) | \(W_c\) |
| LSTM 输出 \(h_t\) | \(o_t\odot\tanh(c_t)\) | — | — |
| GRU 门 \(z/r\) | \(\sigma\) | \(U_z,U_r\) | \(W_z,W_r\) |
| GRU 候选 \(\tilde h\) | \(\tanh\) | \(U_h\)(先 \(r_t\odot h_{t-1}\)) | \(W_h\) |
出处¶
老师 PPT:slide_40(SRNN 模型 + BPTT)、slide_42(LSTM 三门 + 记忆元)、slide_43(LSTM 汇总 + GRU)。课本第25章。考法:会写公式 + 会画展开图(图↔公式一一对应);LSTM 三门功能为高频简答/填空。相关:[[反向传播-接力棒与内积外积]](BPTT 仍是反向传播)、[[LSTM直觉-c是加性高速公路-h输出为何过tanh]](为什么 c 能传梯度、h 为何过 tanh)。