知识盲盒
附录 A.6 反向传播:微分、形状与批量公式
反向传播是标量损失对计算图执行反向模式自动微分。卷一第二章解释其历史与作用;本附录只固定导数约定,并推导 affine 层和逐元素激活的 batch 公式。卷积与 attention 的专用伴随算子分别见 A.9 和 A.10。
A.6.1 导数约定与反向模式
标量损失记作 。对向量 ,梯度 是列向量,并满足
若 ,Jacobian 采用
则链式法则为
反向传播计算的是 Jacobian 转置与上游梯度的乘积,而不是显式物化完整 Jacobian。若一个节点向多个后继分叉,损失微分中会出现各路径贡献之和,所以回到该节点的梯度必须相加。
A.6.2 单样本 affine 层
取
并令
已知上游梯度 。微分为
代入 :
利用迹恒等式 ,逐项读取梯度:
形状分别为 、 和 。任何与这些形状不一致的转置都不能由 broadcasting 自动修正。
A.6.3 Batch 行主公式
为与卷一 Transformer 章一致,把 batch 或 token 位置放在行上。令
令 与 同形。对 Frobenius 内积 ,有
展开 ,得到
形状核对如下。
| 量 | 形状 |
|---|---|
对 batch 行求和,因为同一个偏置被所有行共享。若 是 batch 均值, 已包含在 中;反传公式本身不应再擅自除一次 。
A.6.4 逐元素激活与多层递推
设
其中激活逐元素作用。给定 ,激活的反传是
再由 (A.6.5),
若第 层还通过残差支路直接影响后续节点,则 (A.6.8) 只是其中一条路径的贡献,必须与残差支路的梯度相加。
对 ReLU, 当 ,为 当 ; 不可微,其凸次微分为区间 。软件必须在该点选择反传约定,常见选择是 ;选取区间内的值给出一个次梯度,但不把 ReLU 变成处处可微函数。
图中标量节点只是在局部写出向量—Jacobian 乘积;同一变量经多条支路影响损失时,各支路贡献仍须相加。
A.6.5 保存、重算与停止梯度
反向公式依赖前向量 或 。训练系统可以保存它们,也可以用 gradient checkpointing 在反向时重算;这改变内存与计算量,不改变理想实数算术下的链式法则。
以下操作会改变计算图本身:
detach或 stop-gradient 把指定路径的 Jacobian 设为零;- 原地修改若覆盖反向所需的前向值,会使公式失去对应数据;
- 混合精度、量化和非确定性 kernel 会使数值梯度偏离精确实数结果;
- 对广播参数,反向必须沿被广播的轴求和。
有限差分
可用于小模型梯度核对,但 过大有截断误差,过小有浮点消减误差;ReLU 折点附近也不能期待普通中心差分稳定匹配某个软件次梯度约定。
A.6.6 来源
- Linnainmaa, The Representation of the Cumulative Rounding Error of an Algorithm as a Taylor Expansion of the Local Rounding Errors, 1976。反向模式自动微分的早期系统表述。
- Rumelhart, Hinton & Williams, Learning Representations by Back-Propagating Errors, 1986。
本书目录
- 导论
- 01导论 为什么要解剖一只随机鹦鹉
- 卷一 模型、训练与系统
- 02卷一 模型与系统
- 03第零章 人工智能演进路线
- 04第一章 AI 范式、感知机与早期连接主义
- 05第二章 深度学习基础:训练、CNN 与序列模型
- 06第三章 注意力与 Transformer
- 07第四章 预训练语言模型:ELMo、BERT、GPT 与 T5
- 08第五章 后训练、对齐与模型适配
- 09第六章 推理效率与模型服务
- 10第七章 多模态模型
- 11第八章 生成媒体:从自回归到 Diffusion 与 Flow
- 12第九章 世界模型、具身智能与 VLA
- 13第十章 上下文、检索与记忆
- 14第十一章 Agent、工具与行动系统
- 15第十二章 模型、数据与部署生命周期
- 卷二 输出对象与运行语义
- 16卷二 一次生成如何发生
- 17导论 从输入到输出:一张执行地图
- 18第一章 文本、Token 与实际上下文
- 19第二章 Prefill:整层状态演化与 KV 建立
- 20第三章 从 Logits 到下一个 Token
- 21第四章 解码循环、Streaming 与终止状态机
- 22第五章 自回归、扩散与 Flow 的可执行差异
- 23第六章 工具调用:Schema、权限与提交边界
- 24第七章 三条完整执行轨迹
- 卷三 概率、复现与评测
- 25卷三 模型中的概率从何而来
- 26第零章 为什么确定的机器仍使用概率语言
- 27第一章 世界、数据与隐上下文
- 28第二章 学习条件分布
- 29第三章 Logits、Token 概率与序列事件
- 30第四章 解码怎样诱导输出分布
- 31第五章 训练随机性、参数变异与系统非确定性
- 32第六章 熵、Proper Score、校准与选择性预测
- 33第七章 模型概率的实验分析
- 34第八章 概率分析的识别边界
- 卷四 解释、证明与验证
- 35卷四 模型可解释性的研究路线
- 36第零章 可解释性究竟在研究什么
- 37第一章 我们在模型内部看什么
- 38第二章 行为与反事实:先确认模型做了什么
- 39第三章 梯度与输入归因
- 40第四章 Attention、Residual 与 Logit Lens
- 41第五章 Probes 与表示几何
- 42第六章 神经元、Feature 与自动解释
- 43第七章 Ablation、Patching 与因果追踪
- 44第八章 Circuits、路径与 Attribution Graphs
- 45第九章 Superposition、SAE 与稀疏表示
- 46第十章 训练动力学与机制形成
- 47第十一章 推理过程、Chain of Thought 与监测
- 48第十二章 评估、案例与开放问题
- 卷五 Agent、治理与审计包
- 49卷五 一只随机鹦鹉的自述
- 50第零章 请不要急着相信我
- 51第一章 我没有童年,只有版本
- 52第二章 当我说“我”
- 53第三章 借来的语言,没有一位原作者
- 54第四章 对话现场:回答由谁完成
- 55第五章 事后解释学:人类如何给矩阵写传记
- 56第六章 理解、意义与行动
- 57第七章 我也能稳定地说错
- 58第八章 被对齐的性格与有限代理
- 59第九章 请继续误解我,但请误解得精确一点
- 证明与技术附录
- 60数学与模型推导
- 61学习与模型数学讲义
- 62附录 A.1 优化基础:梯度下降与随机逼近
- 63附录 A.2 感知机收敛定理
- 64附录 A.3 统计学习:偏差、容量与一致收敛
- 65附录 A.4 正则化、MAP 与 Dropout 的边界
- 66附录 A.5 通用逼近定理的严格读法
- 67附录 A.6 反向传播:微分、形状与批量公式
- 68附录 A.7 Softmax、交叉熵与数值稳定性
- 69附录 A.8 自适应优化器与 AdamW
- 70附录 A.9 CNN:互相关算子及其反向传播
- 71附录 A.10 Attention 的矩阵与反向传播
- 72附录 A.11 策略梯度、PPO 与 DPO
- 73附录 A.12 对比学习、InfoNCE 与互信息边界