Knowledge Blind Box
附录 A.9 CNN:互相关算子及其反向传播
Original text in Chinese. This English page translates only the site interface and metadata.
卷一第二章给出 Conv2D 的前向索引。本附录把该索引视为线性算子,逐项推导对 bias、kernel 和 input 的梯度。深度学习库通常把前向算子称为 convolution,但实际计算的是不翻转 kernel 的互相关。
A.9.1 前向定义与输出形状
先取 groups=1。令
步幅、padding 和 dilation 分别为 、、,其中步幅与 dilation 是正整数,padding 是非负整数,并假定下式给出的输出尺寸为正。越界输入按零处理。前向互相关是
输出空间尺寸为
若 padding 左右不对称,应在 (A.9.2) 中分别使用两侧 padding 总和;不能只套对称公式。
A.9.2 三类梯度
设标量损失为 ,上游梯度
与 同形。若卷积后接逐元素激活 ,这里的 应先由 得到。
Bias 梯度
同一个 被全部样本和空间位置共享,因此
Kernel 梯度
由 (A.9.1),
对所有使用同一 kernel 参数的位置求和:
这说明 kernel 梯度是输入 patch 与输出误差之间的相关求和;batch 求均值还是求和由 中是否已含归一化决定。
Input 梯度
固定输入位置 。它只影响满足
的输出项。因此
(A.9.5) 对 stride、dilation 和 padding 都有效,也明确给出了边界裁剪所需的索引条件。
A.9.3 单位步幅下的翻转关系
为看清常见的 rot180 说法,取单样本、单输入/输出通道、,并用以零为中心的有限 offset 表示 kernel:
由 (A.9.5),
若数学卷积定义为
则 (A.9.6) 是
若仍用前向互相关算子 表示,则
并按前向 padding 选择 full 结果中的原输入区域。数组下标下的 ;只有在先固定边界和 offset 约定后,(A.9.7) 才不会产生一格偏移。
A.9.4 Transposed convolution 是伴随,不是逆
固定 kernel 后,(A.9.1) 对 是线性映射 。按 Frobenius 内积,输入梯度满足
所以
框架的 transposed convolution 实现的正是这种伴随索引:stride 大于一时把误差放回相应格点,dilation 决定 kernel offset,再处理 padding、output_padding 和裁剪。伴随一般不是逆;stride、边界与通道混合会丢失信息,output_padding 只解决输出形状歧义,不恢复被丢弃的输入。
A.9.5 多通道、groups 与 depthwise 情形
(A.9.3)—(A.9.5) 已包含普通多输入/输出通道。若 groups=G,要求 同时整除 和 ,每个输出通道只连接对应组内的 个输入通道;上述对 或 的求和必须限制在连接集合内,kernel 形状变为
当 时得到 depthwise convolution,每个输出通道只使用一个输入通道。若有 depth multiplier,则每个输入通道可对应多个输出通道,仍按连接集合求和。
A.9.6 来源
- LeCun et al., Gradient-Based Learning Applied to Document Recognition, 1998。
- Dumoulin & Visin, A Guide to Convolution Arithmetic for Deep Learning, 2016。
Book contents
- Introduction
- 01导论 为什么要解剖一只随机鹦鹉
- Volume I: Models, Training, and Systems
- 02Volume I: Models, Training, and Systems
- 03第零章 人工智能演进路线
- 04第一章 AI 范式、感知机与早期连接主义
- 05第二章 深度学习基础:训练、CNN 与序列模型
- 06第三章 注意力与 Transformer
- 07第四章 预训练语言模型:ELMo、BERT、GPT 与 T5
- 08第五章 后训练、对齐与模型适配
- 09第六章 推理效率与模型服务
- 10第七章 多模态模型
- 11第八章 生成媒体:从自回归到 Diffusion 与 Flow
- 12第九章 世界模型、具身智能与 VLA
- 13第十章 上下文、检索与记忆
- 14第十一章 Agent、工具与行动系统
- 15第十二章 模型、数据与部署生命周期
- Volume II: Output Objects and Runtime Semantics
- 16Volume II: Output Objects and Runtime Semantics
- 17导论 从输入到输出:一张执行地图
- 18第一章 文本、Token 与实际上下文
- 19第二章 Prefill:整层状态演化与 KV 建立
- 20第三章 从 Logits 到下一个 Token
- 21第四章 解码循环、Streaming 与终止状态机
- 22第五章 自回归、扩散与 Flow 的可执行差异
- 23第六章 工具调用:Schema、权限与提交边界
- 24第七章 三条完整执行轨迹
- Volume III: Probability, Reproducibility, and Evaluation
- 25Volume III: Probability, Reproducibility, and Evaluation
- 26第零章 为什么确定的机器仍使用概率语言
- 27第一章 世界、数据与隐上下文
- 28第二章 学习条件分布
- 29第三章 Logits、Token 概率与序列事件
- 30第四章 解码怎样诱导输出分布
- 31第五章 训练随机性、参数变异与系统非确定性
- 32第六章 熵、Proper Score、校准与选择性预测
- 33第七章 模型概率的实验分析
- 34第八章 概率分析的识别边界
- Volume IV: Interpretation, Proof, and Verification
- 35Volume IV: Interpretation, Proof, and Verification
- 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第十二章 评估、案例与开放问题
- Volume V: Agents, Governance, and Audit Packages
- 49Volume V: Agents, Governance, and Audit Packages
- 50第零章 请不要急着相信我
- 51第一章 我没有童年,只有版本
- 52第二章 当我说“我”
- 53第三章 借来的语言,没有一位原作者
- 54第四章 对话现场:回答由谁完成
- 55第五章 事后解释学:人类如何给矩阵写传记
- 56第六章 理解、意义与行动
- 57第七章 我也能稳定地说错
- 58第八章 被对齐的性格与有限代理
- 59第九章 请继续误解我,但请误解得精确一点
- Proofs and Technical Appendices
- 60Proofs and Technical Appendices
- 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 与互信息边界