R18.md · 可读全文

这里保留原文的中文、公式标记、代码和链接。可直接交给 Agent 读取,也可选取下方原文复制。此入口返回 HTML;原始 .md / .py 文件仍保留,完整候选包同时包含 UTF-8 原件。

# R18 · 长路径会放大或削弱学习信号

R17要求末尾答案取决于开头事实。若末尾答错,学习信号必须沿状态链影响早期处理;本页检查这条长路径为什么可能难以训练。

<span id="r18-b0"></span>

## 状态 b0

从末尾loss沿反向链走到开头,数清信号需要经过的状态更新;每步局部变化率参与连乘。

<span id="r18-b2"></span>

## 状态 b2

新增1.2分支与0.8并排:20步后约38.34,对应另一种更新风险。两条都从固定每步倍率的算例条件出发。

<span id="r18-b1"></span>

## 状态 b1

先看固定倍率0.8的分支。20次连乘后只余约0.0115,示意远处信用分配可能衰减。

## 公式与算例详情

简单 RNN 的局部 Jacobian 为

$$J_t=\frac{\partial h_t}{\partial h_{t-1}}=\operatorname{diag}(1-h_t^2)W_h.$$

更早状态对更晚状态的影响包含矩阵连乘 $J_TJ_{T-1}\cdots J_{k+1}$;反向传播使用相应转置。它既受递推矩阵影响,也受 tanh 饱和程度与当前状态影响,不能只看某个权重的数值就给所有序列下结论。

为单独观察乘积,暂用一个标量方向的固定倍率代替 Jacobian:$0.8^{20}=0.011529$,$1.2^{20}=38.337600$。这是说明机制的计算,不是训练测量,也没有证明真实梯度在每一步都单调增减。真实多维方向会随时间改变,完整梯度还是多条路径之和。

前向是否保留事实与反向是否能给远处有效信用是相关但不同的测量。消失时,远处信息对参数的信用分配可能比近处弱得多;爆炸时,梯度可能让一次参数更新过大,严重时出现数值溢出。降低学习率会缩小所有更新,却不会恢复已经相对衰弱的远程信号。

参考:Pascanu、Mikolov、Bengio,2013,*On the difficulty of training recurrent neural networks*,https://proceedings.mlr.press/v28/pascanu13.html;N-RNN PDF p40–49;V-RNN p93–104。

原课页采用记录:[M12 长依赖不是多走几步动画](sources.html#M12)。页码均按PDF物理页计。

### 继续学习

[本页自学核对](lecture.html#read-R18):比较两个固定倍率的连乘,注明简化假设;整理成长度—梯度尺度表。

若把0.8/1.2连乘当成真实网络的全部梯度,可进入[《状态在流动,梯度可以停在边界》](https://codingai-lec05.pages.dev/course/knowledge/recurrent-state-and-credit.html#recurrent-state-and-credit-s06);动手时打开[LAB01](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-05-841ec8e7-e352-4840-b628-d3742b03d6d0/notebook/LAB-01-ec403d28cc2c400ba661cd270588669f?utm_content=ec403d28cc2c400ba661cd270588669f&utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_term=get_notebook)的“C · 共享参数的梯度到底加了几次?”:比较状态继续传递与截断梯度的边界,再用解析/有限差分检查理解多路径贡献;长依赖能力另按距离评价。 实施范围见[实验路线C](experiments.html#experiment-C)。