arganzheng · 2026-03-29
十篇正文 · 一条连乘链 · 每个结论都能回到原文核对
深网络训练中的现象,能否推到公式、代入数字,再用小实验复现?
%%{init: {"flowchart": {"wrappingWidth": 190}}}%%
flowchart LR
A["01 演进史"] --> B["02 损失"] --> C["03 反向传播"] --> D["04 激活"] --> E["05 初始化"] --> F["06 优化器"] --> G["07 正则化"]
E --> H["08–10(下图)"]
flowchart LR
E["05 初始化"] --> H["08 CNN"] --> I["09 Embedding"] --> J["10 RNN"]
H=4 的 MLP 在 20 个种子上全部解出 XOR;H=2 只有 13/20。
结构分支并行演进,不是所有深度学习都通向同一终点。
五种任务同一条推导:假设分布→最大似然→负对数(DPO 例:-log 0.532=0.630)
V=50,257 的均匀 logits 实测 CE=10.826,恰好等于 ln V=10.825
参数量为 N、训练 D 个 token,前向约 2ND、反向约 4ND,总计约 6ND FLOPs。
手算的 dW、dX、db 与中心差分核对,最大相对误差 4.157e-10
完整 Jacobian 13 GB(3.3×10⁹ 个 fp32),VJP 只需 392 KiB
checkpointing 用额外前向计算换更少的保存激活。
20 层 MLP 上,sigmoid 测试准确率 10.64%,tanh 为 90.48%。
反向传播把上游梯度乘以局部导数;ReLU 正半轴导数为 1。
残差流标准差:无归一化第 64 块 6e9、Pre-Norm 8.1、GPT-2 缩放 1.46
残差把 Jacobian 从 J 改为 I+J;归一化单独不能修复反向连乘。
同一个 g=0.5 的第一步:SGD -0.05、Adam -0.10、AdamW -0.11
warmup 将第一次更新的风险从 loss 4.59 降到 1.26。
weight decay 将测试 loss 的上升从 0.55 压到 0.42;测试 loss 上升而准确率不变,是过度自信。
宽度 8–16 处测试 loss 从 2.07 冲到 5.48;参数是样本 407 倍时泛化最好。
6×6 输入上的 3×3 卷积,对应 16×36 矩阵:144 个非零元素、只有 9 个自由参数。
3×3 卷积每增加一层,stride=1 时感受野边长增加 2。
GPT-2 small 的输入 embedding 为 50,257×768,共 38,597,376 个参数,约占模型 31.0%。
Embedding 同时回答嵌入什么、用什么训练信号,以及是否依赖上下文。
谱半径 0.9 的 16 维矩阵:20 步剩 4.56e-3;谱半径 1.5 时 30 步涨到 17.4
遗忘门偏置初始化为 1 后,20 步和 40 步任务从学不会变为 500 步内学会。
每个模块都要同时检查公式、形状、数值与训练信号。