一个子系统里的全部科学:优化器比较
原型 · 2026-10-31 · 子系统:同数据、同模型、同损失、同批量、同预算 T 下的优化器比较 · 基准 523 对(187 题)· 实验室 7,901 对,数据集与基准不相交
定义:S_procedure.md · 报告:S_report.md · 数字全部由 scripts/sci_compute.py 算出;没有调用模型。唯一的新实验是初始化处的梯度测量(只做前向和反向,不训练)。
已定(2026-10-31,用户“按建议定”):按格子核验前提算“已核验”,逐对核验的结果另报;第三道检验从严,排除被预测关系的平局点,放宽的结果作敏感性分析另报;映射没有核验的 S 不计入覆盖率,单列;做初始化处逐坐标梯度 RMS 的测量(只做前向和反向),给 SGD 对自适应补一条可独立检验的桥。
结论
- 判定 S 可以写成程序。一条候选依次过七道检验:是不是子系统里的主张、前提是否写明、前提能否不经被预测关系检验、结论能否由前提推出、前提测过没有、在这一格成立没有、实际误差是否守住前提许诺的上界。每道检验都有可执行的实现,见下方流程图。
- 这个子系统里找到的科学,核心是一条“时钟律”。从 PyTorch 的更新规则推出每种优化器的进展时钟(Adam ηT,RMSprop 多出初期放大,Adagrad 约 2η√T,SGD 动量除以 1−m),结论是同一流类里时钟大者胜。两条前提(时钟相等则损失相等、同一配置训练更久更好)都在不含“同 T 比 lr”的实验上检验,与被预测关系独立。
- 证据是事先作答的成绩。基准上 13 对方向判定全对,单侧 95% 误差上界 20.6%(按定义稿的 1 − δ^(1/n);三分之一法则给 23.1%);实验室 547 对错 10 对,上界 3.1%。用基准自己的学习曲线逐对核验(要跑完整训练)时,285 对时钟不等的同类对里前提在 247 对上成立;前提成立时时钟大者必胜,这是按构造成立的一致性检查,不是证据。有信息的是失效归因:时钟大者输的 33 对,16 对是 A2 失效(训练更久不再更好),17 对是 A1 失效(噪声地板)。
- 事先能核验的部分很小。前提只能在实验室按(任务族、流类、时钟量级、lr 档)这样的粗格子核验,基准上事先核验后作答的只有 13 个方向判定和 5 个平局判定。同一推导不核验前提时答 285 对、错 11.6%,与 KB 的 L(K1001 错 10.5%)相当。
- 新实验给 SGD 对自适应补了前提,但还核验不了。在初始化处做前向和反向(532 组、每组 4 个种子),测得两种换算:下降速率桥 k 与位移桥 r。推导成立、前提可测;但实验室里能检验桥的跨类对只有 33 对、三个族,ε = 0.1 时事先作答 0 对。不核验前提时,测得的 r 给 210 对排序错 7.6%,好于 K1001(10.1%)、截断训练到同样代价(15.9%)和“自适应总胜”(18.2%);KB 的拟合常数在样本内错 5.9%。KB 拟合的 |g| 原来大致就是可测的梯度 RMS。
- “找全了”只能相对地说。相对于三条搜索路线和由更新规则出发的前提库,推导的闭包在全部对上逐一算过;覆盖率分层报告(可达、事后成立、事先核验),没有覆盖的部分逐类给出原因和补法。机制层面的捕获再捕获估计约 11.1 个,已找到 11 个;到 S 的机制估计约 9.0 个,已找到 9 个。
价值:三个坐标
同一批 523 对上,每条答案规则是三轴上的一个点:作答部分的误差 e、不作答的比例 u、代价 c(直接训练为 1)。按定义稿 §2.4,把不作答的对回退到直接训练,三轴就压成代价 c′ 与误差 e′ 两轴,可以和截断试探直接比:截断要花多少算力才达到同样误差,就是这条规则值多少算力(ρ*)。
| 答案规则 | 作答 | e | u | c | 补全后 e′ | 补全后 c′ | 截断达到 e′ 要的 ρ* | ρ* − c′ |
|---|---|---|---|---|---|---|---|---|
| S:时钟律,前提事先核验(ε=0.1) | 13 | 0.0% | 0.975 | 0.0% | 0.0% | 97.5% | 100.0% | +2 点 |
| 时钟律,不核验前提 | 285 | 11.6% | 0.455 | 0.0% | 6.3% | 45.5% | 40.0% | -6 点 |
| 时钟律 + 测得 r 的桥,都不核验前提 | 495 | 9.9% | 0.054 | 1.4% | 9.4% | 6.7% | 20.0% | +13 点 |
| K1001(KB,样本内) | 488 | 10.5% | 0.067 | 0.0% | 9.8% | 6.7% | 20.0% | +13 点 |
| 位移族全部成员(KB,样本内) | 464 | 8.0% | 0.113 | 0.0% | 7.1% | 11.3% | 35.5% | +24 点 |
在这个子系统里,层次和价值是两回事(定义稿 §6 第 6 条):已核验的 S 准确但覆盖太小,补全后的价值约等于零;同一推导不核验前提时作答更多,但还没有截断试探省;加上初始化处测得的桥之后,覆盖到 95%,与 KB 的定律同样省下约 13 个点的训练算力,而它的数字不来自任何训练结果。KB 的数字是样本内的。
子系统与数据
一个条件是两份训练配置:数据集、模型、损失、批量和预算 T 都相同,只有优化器设置不同(类型、lr、动量、权重衰减、betas)。问题是谁的最终测试损失(10 个种子的平均)更低。选它的理由:边界清楚(只有一类设置在变),基准里有 523 对(481 对胜负超过 2 个标准误),实验室里另有 7,901 对同 T 的比较和大量只差 T、只差衰减的实验,可以用来独立检验前提。
| 同为自适应 | SGD 对自适应 | 同为 SGD | 合计 | |
|---|---|---|---|---|
| 基准(v1.5 主榜,同模型的候选对) | 284 | 214 | 25 | 523 |
| 实验室(同 T 的同模型对) | 5,690 | 1,637 | 574 | 7,901 |
实验室数据来自 kb_lab 与六个 kb_science_loop 运行的 lab_experiments(共 16,574 行,与基准同一训练管线、10 个种子),数据集与基准不相交(读取时逐行断言)。注意:这些实验有一部分是科学循环为找反例专门设计的,偏向失败区域,所以用它核验前提偏保守。
怎样判定一条知识是 S
SAI 定义稿 §3 给了三个条件:前提 (a) 显式写出,(b) 可以独立于所预测的关系检验,(c) 结论由前提推出、边界就是前提失效的地方。下面把它写成七道可执行的检验。每道检验不通过,就从右侧出口离开,出口给出这条候选的判定。
(b) 的执行方式:每条前提都有一个“检验关系”(它在哪类实验对上检验)。被预测的是同 T 下两份配置的比较;前提的检验关系必须是另一种关系,例如只差 T、lr 与 T 都不同但时钟相等、只差衰减,或者读代码。若一对配置本身就只差衰减,那么“衰减可忽略”的检验关系与这对的预测重合,这对的平局判定只算 L(定律的直接应用),不算 S。同理,同 T 下动量匹配的对是被预测关系的平局点,不能拿来检验“动量并入时钟”。
怎样找:三条路线
同一个子系统里的候选从三处来,三条路线互不参照,最后在机制层面比对重叠,用来估计还有多少没找到。
- KB 路线:读全部 KB(科学循环各运行的 kb_live 与历史快照、qwen kb_evolve 快照),筛出在子系统里作预测的主张,逐条判定依据。
- 文献路线:读研究库里与优化器、训练动力学有关的论文,提取在子系统里有预测或能当前提的主张。
- 理论路线:从 PyTorch 的更新规则出发,系统地问:每一种设置差异能不能被一个可独立检验的前提搬运到同一把“时钟”上。
KB 路线
读了 kb_scratch 下全部 KB:各科学循环运行的 kb_live(含已退役条目)、qwen 的 kb_evolve 快照和种子 KB。按 KB 自己记录的依据定层次:K 213 条、L 39 条、S 0 条。
| KB 路线的漏斗 | 条数 |
|---|---|
| KB 文件里的主张记录(28 个 KB) | 4,885 |
| 文本归一化后 | 904 |
| 合并近似文本后 | 876 |
| 提到优化器 | 778 |
| 人工逐条读出:说的是这个子系统 | 270 |
| 去掉已被后继合并的 | 252 |
| 写成可执行规则 | 42 |
| 写出推导的 40 条,为什么不是 S | 条数 |
|---|---|
| (b) 前提不独立(Δ 规则这座桥,或拟合常数) | 23 |
| (c) 推导有误或没有推导 | 10 |
| (b)(c) 未检验且推导不全 | 6 |
| (a) 前提没写出 | 1 |
- 推导大多是对的,但停在“位移换算”。Adagrad 的 2·lr·√T、RMSprop 的初期放大、动量的 lr/(1−m) 与起步亏欠,按更新规则重算都一致。要预测谁胜,还得经过“位移大者胜”这座桥,而 KB 只用胜负计数检验它,胜负正是被预测的关系,所以 (b) 不成立。理论路线的 A1、A2 补的正是这座桥:它们在只差 T、时钟相等的实验上检验,不碰同 T 的胜负。
- K1001 自己的机制字段写着 no theory is established。KB 不认为核心规则是理论。
- SGD 的换算常数 |g| 是拟合出来的(0.01 / 0.03 / 0.003,来自 SGD 对自适应的比较),属于“把拟合出的关系换个说法当作前提”。
- 有 8 条推导本身是错的,都来自 qwen 起步的 KB,例如“Adagrad 位移反比于 |g|”与更新规则的尺度不变性矛盾。
- KB 规则的成绩都是样本内的。v1.5 的 500 题有 498 题出现在某个 KB 的语料或解题记录里,实验室行就是这些循环自己跑的实验。理论路线的判定不用任何基准结果,所以它在基准上的成绩是样本外的。
写出推导的 40 条 KB 主张,逐条检查
| 主张 | 前提 | (a) 写明 | (b) 独立检验 | (c) 推导 | 结论 |
|---|---|---|---|---|---|
| _smoke_soa:K1001 | 每个任务都欠训练:Δ 大者胜 | 部分 | 否:前提就是所预测的排序 | 无推导 | 不是 S |
| kb_evolve_archonly:K0001 | Adagrad 每参数近似尺度不变,位移 ≈2·lr·√T 与梯度尺度无关;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| kb_evolve_archonly:K0112 | (无) | 否:稳态条件(梯度在 1/(1−m) 步内变化小)没有写出 | — | — | 不是 S:前提没有写出 |
| kb_evolve_archonly:K0157 | RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| kb_evolve_archonly:K0207 | 偏差校正后每步位移 ≈lr,与 β₂ 无关(符号一致的梯度);Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| kb_evolve_archonly:K0247 | RMSprop 累计位移 ≈ lr·T/√(1−α) | 部分 | 未检验;需要梯度统计或参数位移的测量,现有数据只有终点 | 否:1/√(1−α) 只在第 1 步成立,全程平均是 F(T)(T=256 时 1.47,不是 10) | 不是 S:推导本身有误 |
| kb_evolve_archonly:K0364 | Adagrad 位移修正式 2·lr·√T/(1+0.005·T) | 是 | 否:拟合出的修正被当作前提 | 无推导 | 不是 S |
| kb_evolve_puct20_arch:K0210 | 各优化器的输出偏置位移:动量 SGD (lr/(1−m))·T·‖g‖,自适应 lr·T,SGD lr·T·‖g‖;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 部分:‖g‖ 未给定 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| kb_evolve_puct20_mixed:K0298 | β₂=0.999 时二阶矩前 200 步低估约 5 倍,步长更大 | 部分 | 未检验;需要梯度统计或参数位移的测量,现有数据只有终点 | 否:Adam 有偏差校正,零初始化不会让 v̂ 系统性低估 | 不是 S:推导本身有误 |
| kb_evolve_puct20_mixed:K0307 | Adagrad 有效位移 ≈ lr·T/√(T+T_w),是 2·lr·√T 的 3–5 倍 | 部分 | 未检验;需要梯度统计或参数位移的测量,现有数据只有终点 | 否:给出的式子约等于 lr·√T,小于 2·lr·√T,却说是它的 3–5 倍,前后矛盾 | 不是 S:推导本身有误 |
| kb_evolve_puct20_mixed:K0310 | Adam 初期每步位移 lr/max(√v̂, ε),放大 10–100 倍 | 部分 | 未检验;需要梯度统计或参数位移的测量,现有数据只有终点 | 否:Adam 的偏差校正更新是 lr·m̂/(√v̂+ε),每坐标步长 ≲lr;文中漏掉 m̂ | 不是 S:推导本身有误 |
| kb_evolve_puct40_arch:K0012 | 偏置对齐时间 ≈1/(2·lr/(1−m)) | 部分 | 未检验 | 部分:缺 ‖h‖² 等因子 | 不是 S |
| kb_evolve_puct40_arch:K0027 | RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| kb_evolve_puct40_arch:K0069 | 动量 SGD 的有效学习率与 Adagrad 衰减后的步长直接比较 | 部分 | 未检验;需要梯度统计或参数位移的测量,现有数据只有终点 | 否:把 SGD 的学习率直接和归一化步长比较,缺了 SGD 位移里的 |g| | 不是 S:推导本身有误 |
| kb_evolve_puct40_arch:K0289 | RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 部分:忽略了初期放大(T=256 时 F=1.47) | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| kb_evolve_run3:K0297 | RMSprop 前约 10 步放大 1/(1−β₂)≈10 倍 | 部分 | 未检验;需要梯度统计或参数位移的测量,现有数据只有终点 | 否:α=0.99 时 1/(1−α)=100;按更新规则是 1/√(1−α)=10,且只在第 1 步 | 不是 S:推导本身有误 |
| kb_evolve_run3:K0305 | 曲率不连续处动量有效学习率公式高估位移 ≥2 倍 | 部分 | 未检验 | 否:断言,没有推导 | 不是 S |
| kb_evolve_smoke:K0297 | RMSprop 前 20 步平均放大只有 2–3 倍 | 部分 | 未检验;需要梯度统计或参数位移的测量,现有数据只有终点 | 否:按更新规则前 20 步平均放大是 3.9 倍 | 不是 S:推导本身有误 |
| luna_main:K0156 | Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| qwen_6ep_40eval:K0012 | 偏置对齐时间 ≈1/(2·lr/(1−m)) | 部分 | 未检验 | 部分:缺 ‖h‖² 等因子 | 不是 S |
| qwen_6ep_40eval:K0019 | Δ 相同则进展相同、Δ 大者胜(Δ 规则);三处门限:过拟合(epochs≥16 且 params/N≥15)、MSE 大梯度、大偏移 | 是 | 否:Δ 规则就是所预测的排序 | 无推导 | 不是 S:是定律 |
| qwen_6ep_40eval:K0024 | 稳态有效学习率 lr/(1−m);重球加速与噪声平滑使动量更好 | 部分 | 未检验 | 否:“动量在等有效学习率时更好”没有由前提推出 | 不是 S |
| qwen_6ep_40eval:K0307 | 插值门限:epochs≥16 且 params/N≥15 时测试损失随 D 呈 U 形;最优 D≈(2–5)·d*,d*=σ_y/(0.5√W_last) | 是 | 门限只能用所预测的胜负来定 | 部分:d* 有论证,门限是拟合 | 不是 S |
| qwen_6ep_40eval:K0309 | 插值门限:epochs≥16 且 params/N≥15 时测试损失随 D 呈 U 形;最优 D≈(2–5)·d*,d*=σ_y/(0.5√W_last) | 是 | 门限只能用所预测的胜负来定 | 部分:d* 有论证,门限是拟合 | 不是 S |
| qwen_6ep_40eval:K0310 | Adagrad 位移饱和:D≈2·lr/|g_rms|,与 T 无关 | 部分 | 未检验;需要梯度统计或参数位移的测量,现有数据只有终点 | 否:与更新规则的尺度不变性矛盾:梯度整体乘 c 时 Adagrad 的步长不变,D 不可能反比于 |g|;同一批 KB 的 K0001 正写着与梯度尺度无关 | 不是 S:推导本身有误 |
| qwen_6ep_40eval:K0311 | RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是:F(T) 由更新规则推出 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| qwen_6ep_40eval:K0314 | 深层近似冻结(核区);读出层按 df≈−2·lr_eff·‖h‖²(f−y) 收缩 | 是 | 可独立检验,但现有数据测不到 | 部分:比较结论没有推出 | 不是 S:比较这一步没有推导 |
| qwen_6ep_40eval:K0315 | 插值门限:epochs≥16 且 params/N≥15 时测试损失随 D 呈 U 形;最优 D≈(2–5)·d*,d*=σ_y/(0.5√W_last) | 是 | 门限只能用所预测的胜负来定 | 部分:d* 有论证,门限是拟合 | 不是 S |
| smoke_qwen:K0157 | RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| soa_async_v1:K1001 | 同模型、饱和以下:名义累计位移 Δ 越大,进展越多 | 部分:Δ 公式写明,“饱和”没有判据 | 否:唯一的前提就是所预测的排序 | 无推导 | 不是 S:KB 自己写明这只是进展启发式 |
| soa_async_v1:K1002 | Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是:Δ_Ada 由更新规则推出 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| soa_async_v1:K1019 | SGD 的 Δ=lr·T·|g|/(1−m);|g| 按任务取 0.01 / 0.03 / 0.003;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是 | 否:拟合出的常数被当作前提 | 部分:形式是推导,常数不是 | 不是 S:把拟合出的关系换个说法当作前提 |
| soa_v1:K1001 | 每个任务都欠训练:Δ 大者胜 | 部分 | 否:前提就是所预测的排序 | 无推导 | 不是 S |
| soa_v1:K1002 | Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是:Δ_Ada 由更新规则推出 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| soa_v1:K1019 | SGD 的 Δ=lr·T·|g|/(1−m);|g| 按任务取 0.01 / 0.03 / 0.003;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是 | 否:拟合出的常数被当作前提 | 部分:形式是推导,常数不是 | 不是 S:把拟合出的关系换个说法当作前提 |
| soa_v1:K1026 | 动量速度从 0 开始(PyTorch 定义),梯度近似不变;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是:位移亏欠由更新规则推出 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则;这是 KB 里最接近 S 的一条:推导正确,还推出差距随 T 按 1/T 缩小 |
| soa_v1:K1035 | RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是:F(T) 由更新规则推出 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| soa_v2:K1002 | Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是:Δ_Ada 由更新规则推出 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| soa_v3:K1042 | Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是:更新规则层面的前提写明了;Δ 规则作为桥被引用 | 否:桥(Δ 规则)只能用所预测的排序检验 | 是:Δ_Ada 由更新规则推出 | 不是 S:换算是推导,排序要经过未独立检验的 Δ 规则 |
| soa_v3:K1049 | SGD 的 Δ=lr·T·|g|/(1−m);|g| 按任务取 0.01 / 0.03 / 0.003;Δ 相同则进展相同、Δ 大者胜(Δ 规则) | 是 | 否:拟合出的常数被当作前提 | 部分:形式是推导,常数不是 | 不是 S:把拟合出的关系换个说法当作前提 |
完整清单(252 条,含层次、依据和可执行规则的成绩)见 routes/kb_route.md。
文献路线
读了研究库的预训练、RL、可解释性三个目录和 claims 试点:条目 344 + 271 + 317,关键词命中 86 + 49 + 7,读后补入 5 篇,与优化器或训练进程有关的共 54 篇。其中 14 篇在子系统里给出预测(共 18 条:K 8、L 5、S 5),15 篇只提供前提,25 篇两样都不给。前提记录 29 条、检验项 46 个,其中 16 个能用我们的数据绕开被预测关系检验。
- 5 条 S 预测都没有在子系统里落地。Saxe 要求深线性网络,Wilson 的构造数据不在子系统里;EoS 的稳定阈值要曲率;Mandt 与 Three Factors 的稳态规则只有“已到稳态”一条前提能检验。
- 文献在同一关系上给出方向相反的两组规则,分界是能独立检验的前提。过渡期有效 lr 大者胜,稳态有效 lr 小者胜;分界“是否已到稳态”可以在时间轴上检验。这与理论路线的 M1 / M3 完全对上。
- 标为可检验的 4 条规律,在我们的数据上有一条方向相反。Porian 的“β2=0.999 ≻ 0.95”在实验室只对 31.3%;文献设定是长训练的语言模型预训练,子系统里 T 只有 256–2048 步。
| 编号 | 来源 | 子系统里的预测 | 层次 | 映射 |
|---|---|---|---|---|
| LIT-ADAM-1 | Adam: A Method for Stochastic Optimization §6.4,图 4(VAE) | 同学习率、同 β2 时 Adam ⪰ RMSprop(不会更差) | K | 可检验 实验室 137 对,对 68.6% |
| LIT-ADAM-2 | Adam: A Method for Stochastic Optimization §6.1–6.3,图 1–3 | 各自在调优学习率下:Adam ≻ Adagrad(训练代价);Adam ≈ SGD+Nesterov | K | 开放:要用没有的量 |
| LIT-ADAMW-1 | Decoupled Weight Decay Regularization §4.3,图 3;§4.2 图 2 | 同学习率:训练够长时 AdamW(解耦衰减)≻ Adam(L2);训练前半程两者相近 | K | 开放:要用没有的量 |
| LIT-EOS-2 | Gradient Descent on Neural Networks Typically Occurs at the Edge of Stability §1,§3.2–3.3,图 1 | 全批量 GD、同模型:不发散的前提下,较大 η 在固定迭代数时训练损失更低 | K | 开放:要用没有的量 |
| LIT-EOS-3 | Gradient Descent on Neural Networks Typically Occurs at the Edge of Stability; literature/science_boundary_cases.md EoS §2;资料库 science_boundary_cases.md 第一节 | 若较大学习率越过 2/λmax 而较小者未越过,较小学习率胜(较大者发散) | S | 开放:要用没有的量 |
| LIT-SAXE-1 | Exact solutions to the nonlinear dynamics of learning in deep linear neural networks §1 式 (2)(τ≡1/λ)、§2 式 (11)–(12) | 深线性网络、白化输入、小初值、全批量、λ 足够小:固定迭代数时较大 λ 训练误差更低(轨迹只依赖 λt) | S | 前提在子系统里不成立 |
| LIT-KAPLAN-1 | Scaling Laws for Neural Language Models 附录 D.6,图 22;§2.2 | 常学习率、固定 T:若较小学习率的累计学习率 ηT 未到饱和,较大者胜;两者都已饱和则近似持平(差异在 0.05 量级的噪声内) | K | 可检验 实验室 1755 对,对 75.0% |
| LIT-CHIN-1 | Training Compute-Optimal Large Language Models 附录 G,图 A6–A7,脚注 8 | 同日程:训练够长时 AdamW ≻ Adam;较早阶段 Adam 领先或持平 | K | 开放:要用没有的量 |
| LIT-PORIAN-1 | Resolving Discrepancies in Compute-Optimal Scaling of Language Models §3.5,附录 G.3;pilot pretrain:2406.19146#C4 | 同学习率、小 batch:β2=0.999 ≻ β2=0.95 | L | 可检验 实验室 83 对,对 31.3% |
| LIT-WARM-1 | Why Warmup the Learning Rate? Underlying Mechanisms and Improvements 摘要、§1 贡献、§2(Twrm=1 即常学习率)、§3 | 常学习率:低于失败边界时较大学习率不差;越过边界后较大学习率变差或失败 | L | 开放:要用没有的量 |
| LIT-PRELN-1 | On Layer Normalization in the Transformer Architecture §3(warmup 实验与定理 1:初始化处的梯度尺度)、§4 实验 | Post-LN Transformer、Adam 类、无 warmup:较大学习率可能不稳而落后 | K | 开放:要用没有的量 |
| LIT-MOM-1 | On the importance of initialization and momentum in deep learning §2 式 (1)–(2),表 1,表 5 | 各自在最佳学习率下:SGD 动量 0.9 ≻ 无动量 | L | 可检验 实验室 9 对,对 100.0% |
| LIT-WILSON-1 | The Marginal Value of Adaptive Gradient Methods in Machine Learning §4 实验,图 1 | 训练到底并调好学习率与衰减时:SGD/动量 ≻ Adam、RMSprop、Adagrad(测试指标);短训练时自适应方法常领先 | K | 开放:要用没有的量 |
| LIT-WILSON-2 | The Marginal Value of Adaptive Gradient Methods in Machine Learning §3 引理 3.1 与构造 | 满足构造条件(X·sign(Xᵀy)=c·y 等)的数据上:SGD ≻ 自适应方法 | S | 前提在子系统里不成立 |
| LIT-MANDT-1 | Stochastic Gradient Descent as Approximate Bayesian Inference §3.2 假设 1–4 与式 (13);§4.1 定理 1 证明中的 Tr(AΣ)=(ε/2S)Tr(BBᵀ);§4.3 式 (25) | 两者都已进入稳态、同一极小值附近、同 batch 的 SGD:有效学习率 ε/(1−m) 较小者稳态期望(训练)损失更低;ε/(1−m) 相等则稳态分布相同 | S | 开放:要用没有的量 |
| LIT-3F-1 | Three Factors Influencing Minima in SGD §2.2 假设 1–2,式 (9) | 同 batch、同一极小值附近、均已稳态:较小 η 的期望训练损失更低 | S | 开放:要用没有的量 |
| LIT-3F-2 | Three Factors Influencing Minima in SGD 摘要,§2.1,§3 实验 | 同 batch:较大学习率终点更宽,测试表现常更好 | L | 开放:要用没有的量 |
| LIT-SMITH-1 | A Bayesian Perspective on Generalization and Stochastic Gradient Descent 摘要,§4–5 | 固定 batch 时测试表现对学习率非单调,存在最优 ε ∝ B/N;离最优点近者胜 | L | 开放:要用没有的量 |
逐篇的相关性判断、前提记录和排除理由见 routes/lit_route.md。
理论路线:从更新规则推出时钟
四种自适应优化器都把梯度除以自己估计的梯度 RMS。梯度统计平稳时,它们沿同一条归一化流走,区别只在每一步走多远;SGD 沿梯度流走。把每一步走的距离累加起来,得到每种优化器的时钟 τ:
| T | Adam / AdamW | RMSprop | Adagrad | SGD(m = 0.9) |
|---|---|---|---|---|
| 256 | 256.0 KB 名义值 256.0(×1.00) | 376.0 KB 名义值 256.0(×1.47) | 30.6 KB 名义值 32.0(×0.96) | 2,470.0 KB 名义值 2,560.0(×0.96) |
| 512 | 512.0 KB 名义值 512.0(×1.00) | 635.6 KB 名义值 512.0(×1.24) | 43.8 KB 名义值 45.3(×0.97) | 5,030.0 KB 名义值 5,120.0(×0.98) |
| 1024 | 1,024.0 KB 名义值 1,024.0(×1.00) | 1,147.9 KB 名义值 1,024.0(×1.12) | 62.6 KB 名义值 64.0(×0.98) | 10,150.0 KB 名义值 10,240.0(×0.99) |
| 2048 | 2,048.0 KB 名义值 2,048.0(×1.00) | 2,171.9 KB 名义值 2,048.0(×1.06) | 89.1 KB 名义值 90.5(×0.98) | 20,390.0 KB 名义值 20,480.0(×1.00) |
条件 (c) 的数学一半(推导在假设内是否正确)用合成梯度检验:不训练任何模型,只把 PyTorch 的更新规则作用在平稳的随机梯度序列上,量沿梯度方向走了多远。常数梯度下与公式逐位相同;有噪声时四种自适应优化器按同一比例变慢,所以它们之间的换算比不变。
| T | 类型 | 公式 | 模拟(常数梯度) | 模拟(噪声梯度,信噪比 1) | 噪声下与 Adam 之比 |
|---|---|---|---|---|---|
| 256 | Adam | 256.00 | 256.00 | 181.16 | 1.000(公式 1.000) |
| 256 | RMSprop | 375.97 | 375.97 | 265.44 | 1.465(公式 1.469) |
| 256 | Adagrad | 30.57 | 30.57 | 21.63 | 0.119(公式 0.119) |
| 256 | SGD | 2,470.00 | 2,470.00 | 2,472.39 | — |
| 2048 | Adam | 2,048.00 | 2,048.00 | 1,447.62 | 1.000(公式 1.000) |
| 2048 | RMSprop | 2,171.86 | 2,171.86 | 1,532.45 | 1.059(公式 1.060) |
| 2048 | Adagrad | 89.06 | 89.06 | 62.98 | 0.044(公式 0.043) |
| 2048 | SGD | 20,390.00 | 20,390.00 | 20,382.59 | — |
前提逐条检验
推导用到两条主前提和几条搬运前提。所有检验都在实验室数据上做,检验关系都不是“同 T 比较两份配置”。
A1 时钟充分:时钟相等,损失相等
取同一类型、lr 与 T 都不同、时钟相差不到 15% 的实验对。若时钟抓住了 lr 与 T 的换算,这些对的损失应当接近;作为对照,时钟相差 2 倍以上的对差得多。
A1 失效有方向:显著的时钟相等对里,lr 小者更好的占 66.9%,单变量与螺旋为 100%,表格分类反过来。这就是噪声地板(候选 T12)。所以 A1 按 lr 档分格核验:地板随 lr 变大。
A2 沿时钟进展:同一配置训练更久更好
搬运前提:其余设置能否忽略
一对配置若还差衰减、β2、动量或类型,必须有一条前提把这项差异搬走(并入时钟,或证明可忽略)。下图是每条搬运前提在“只差这一项”的实验对上的检验。
推导与误差传递
对同一流类、时钟 τ_大 > τ_小 的一对,把时钟大者训练到它的时钟等于 τ_小 的那一步 s*。则精确地有
δ1 由 A1 管(时钟相等处的差),δ2 由 A2 管(时钟大者自己的进展)。两条都成立(δ2 > 0 且 |δ1| < δ2)时 D > 0,时钟大者胜;时钟大者输,就一定是其中一条失效。这是数学的一半,按构造成立。基准的学习曲线可以把每一对的 δ1、δ2 直接量出来,这就是用户定的“逐对核验”,另报于此;它要跑完整训练,代价等于直接比较。
事先作答时还看不到这一对的曲线,只能用实验室格子里 δ1 与 δ2 的分布做卷积,得到 P(时钟大者胜),达到 1 − ε 才作答。卷积的校准:
证据看事先作答。基准上方向判定 13 对全对,单侧 95% 误差上界 20.6%(三分之一法则给 23.1%);实验室 547 对错 10 对,上界 3.1%。
反转侧(前提说时钟小者胜)的经过值得记下:第一版 A1 不分 lr 档,实验室上给出 174 个反转判定,实际错 25.9%,超出了前提许诺的 10%;按定义稿的降级规则收窄声明域,并把 A1 改为按 lr 档核验后,反转侧不再有通过核验的格子。
新实验:初始化处的梯度测量
SGD 沿梯度流走,自适应优化器沿归一化流走,两类时钟要换算才能比较。用户同意做一个新实验来补这条前提:对每个含 SGD 对自适应的(数据集、模型、损失、批量)组,按训练时的方式设种子、建模型、抽批次,在第一次更新之前做一次全批量的反向(得到平均梯度 μ)和训练流的前 32 个小批量(得到二阶矩 ν),种子 0, 1, 2, 3。共 532 组(实验室 422、基准 110),出错 0 组,本机 CPU 半分钟,ArchitectureIQ 下没有写入任何文件。
| 任务族 | 测量组 | k 中位数 [10%, 90%] | r 中位数 | KB 拟合的 g | 4 个种子间 k 的最大/最小 |
|---|---|---|---|---|---|
| 单变量回归 | 72 | 0.0689 [0.0185, 0.4674] | 0.0277 | 0.01(MSE 带动量 0.03) | ×2.65 |
| 多变量回归 | 162 | 0.2282 [0.0317, 0.8666] | 0.0908 | 0.01(MSE 带动量 0.03) | ×1.47 |
| 表格分类 | 63 | 0.0172 [0.0057, 0.0407] | 0.0087 | 0.01 | ×1.57 |
| XOR 分类 | 51 | 0.0138 [0.0044, 0.0270] | 0.0069 | 0.01 | ×1.68 |
| 螺旋分类 | 72 | 0.0216 [0.0022, 0.2027] | 0.0135 | 0.01 | ×1.66 |
| Bigram 语言模型 | 112 | 0.0048 [0.0020, 0.0074] | 0.0019 | 0.003 | ×1.10 |
前提 B 像 A1 一样检验:取实验室里 T 也不同的 SGD 对自适应的对(949 对),换算后时钟相等的应当打平。这些对没有一对是“同 T 比较”的平局点,符合从严的 (b)。
七道检验
| 步 | 检验 | 桥 B(B_k 为主,B_r 并列) |
|---|---|---|
| 0 | 是子系统里的主张 | 是:预测同 T 下 SGD 对自适应谁胜。 |
| a | 前提写明 | 是:B(初始化处测得的换算在整个训练中成立)与 A2(沿时钟进展)。 |
| b | 前提不经被预测关系检验 | 是:k、r 由初始化处的梯度测得,不看任何训练结果;B 在 T 也不同、桥接时钟相等的实验室跨类对上检验,没有一对是同 T 关系的平局点。 |
| c | 结论由前提推出 | 是:一阶展开给出换算(下降速率或位移相等),比较仍用恒等式 D = δ1 + δ2。 |
| m | 前提测过 | 部分:能检验 B 的实验室跨类对只在 Bigram、多变量回归、XOR 三个族里有;桥接时钟相等的对 B_k 33 对、B_r 19 对。 |
| v | 前提在这一格成立 | ε = 0.1 时否:B_k 的 5 个格子里只有 3 个满 5 对,等值检验显著比例 29%–100%,卷积给出的 P 没有一对达到 0.9。 |
| e | 实际误差守住 ε | ε = 0.2 时 B_k 在实验室作答 29 对、错 27.6%,超出许诺的 20%;B_r 作答 17 对、错 5.9%。ε = 0.3 时两者基准上作答 2 对、4 对,全对。 |
事先作答随 ε 的前沿(只算 SGD 对自适应)
| ε | B_k 实验室 | B_k 基准 | B_r 实验室 | B_r 基准 |
|---|---|---|---|---|
| 0.02 | 0 对 | 0 对 | 0 对 | 0 对 |
| 0.05 | 0 对 | 0 对 | 0 对 | 0 对 |
| 0.1 | 0 对 | 0 对 | 0 对 | 0 对 |
| 0.2 | 29 对 · 错 27.6% | 1 对 · 错 0.0% | 17 对 · 错 5.9% | 0 对 |
| 0.3 | 56 对 · 错 17.9% | 2 对 · 错 0.0% | 87 对 · 错 18.4% | 4 对 · 错 0.0% |
| 0.4 | 199 对 · 错 18.6% | 6 对 · 错 0.0% | 117 对 · 错 15.4% | 4 对 · 错 0.0% |
同一批 214 对上的比较
逐对核验(用基准曲线,要跑完整训练):桥接时钟不等的 210 对里,B_k 下两条前提都成立的有 163 对,B_r 下 177 对;这些对里桥接时钟大者必胜,同样只是一致性检查。
判定结果
全部机制的判定
三条路线的候选对齐到机制之后,逐个给出判定:找到的 S、前提没有核验或核验失败的 S,以及排除的候选和理由。
| 机制 | 判定 | 依据 | |
|---|---|---|---|
| M1 | 时钟与时间重标(lr·T 换算,进展侧) | S,已核验 | 时钟律的进展侧。A1、A2 在实验室按格子核验;实验室作答 547 对、错 1.8%,基准 13 对全对。KB 有同一机制,但从位移到胜负这座桥只用胜负计数检验(L);文献唯一的 S(Saxe)要求深线性网络。 |
| M7 | 权重衰减:解耦与耦合 | S,已核验 | 解耦衰减(AdamW、SGD)可忽略:102 对里 0 对显著。反面也由更新规则推出并核验:耦合 L2 在除以梯度 RMS 前加入,Adam 即使 λ≤1e-4 也有 24.2% 显著。 |
| M10 | λ=0 时 Adam 与 AdamW 恒等 | S,已核验 | λ=0 时 Adam 与 AdamW 是同一个更新规则,读代码即可检验;实验室 50 对差异全为 0。 |
| M3 | 稳态的噪声地板(有效 lr 小者胜) | S,前提只在部分族成立 | 噪声地板:时钟相等时 lr 小者更好。推导来自稳态 SDE(文献 Mandt、Three Factors)。显著的时钟相等对里 lr 小者更好占 66.9%,单变量与螺旋为 100%,表格分类相反。它是 M1 的 A1 失效的系统部分。 |
| M4 | 自适应优化器之间的换算(Adagrad √t、RMSprop 初期放大、归一化步长) | S,映射证据薄或未检 | RMSprop 的初期放大(T=256 时 ×1.47)与 Adagrad 的 1/√t 时钟由更新规则推出,模拟核对逐位一致;能独立检验的时钟相等对分别只有 13 对和 3 对。KB 的同类推导正确,但桥不独立。 |
| M5 | 动量即有效学习率 | S,映射未独立检验 | 动量并入时钟。T 也不同的匹配对只有 4 对;同 T 的匹配对是被预测关系的平局点,不算。KB 的三条主张互相矛盾,数据支持“打平”。 |
| M9 | 稳定阈值(edge of stability、warmup) | S,映射未检 | 稳定阈值 2/λ_max 要用曲率,数据里没有。KB 只有 2 条 K 级观察,文献的 EoS 给出前提。 |
| M6 | SGD 与自适应之间的桥(梯度尺度) | S,映射证据不足(ε=0.1 时 0 对) | SGD 对自适应:初始化处测得换算(B_k 下降速率、B_r 位移),推导成立、前提可测。实验室能检验桥的跨类对只有 33 对、三个族,事先作答在 ε=0.1 时为 0。不核验前提时,测得的 r 在基准上错 7.6%(210 对),K1001 错 10.1%,KB 的拟合 g 错 5.9%(样本内)。 |
| M2 | 边界:何时更大位移反而输(饱和、过拟合、过冲) | S,映射失败,域收窄为空 | 反转侧:前提说时钟小者胜。第一版在实验室给出 174 个判定、错 25.9%,超出许诺的 10%;改为按 lr 档核验后没有通过的格子。KB 的饱和门限是拟合出来的(L)。 |
| M8 | β2 与梯度统计的平稳性 | 排除:前提被证伪 | β2 可忽略要求梯度统计平稳;只差 β2 的对 50.6% 显著。短训练里 0.95 多胜,与文献 Porian 的“0.999 ≻ 0.95”相反(实验室 83 对里该规则只对 31.3%)。 |
| M11 | 单步最优步长(要用梯度噪声与曲率) | 不计入 | 单步最优步长要梯度噪声与曲率,数据里没有,也不在子系统里作预测。 |
理论路线的全部候选
理论路线按“每种设置差异能否被搬运”系统地列出候选,共 13 条。
| 编号 | 候选 | 前提 | (b) 独立检验 | (c) 推导 | 映射(核验) | 判定 |
|---|---|---|---|---|---|---|
| T1 | 时钟律(进展侧) 同一流类、同一 T:由更新规则算出的时钟 τ 大者胜。 | A1 时钟充分:同型、时钟相等则损失相等 A2 沿时钟进展:同一配置训练更久,损失更低 A5 同一归一化流(跨型时用) | 是:A1 用 lr 与 T 都不同、时钟相等的对;A2 用只差 T 的对;都不含“同 T 比 lr”这一被预测关系 | 恒等式 D = δ1 + δ2:A1 管 δ1,A2 管 δ2,两者都成立则时钟大者胜;时钟公式经合成梯度模拟核对 | 实验室按格子核验:ε=0.1 时实验室 547 对、错 1.8%;基准 13 对、错 0.0% | S已核验(域 = 前提通过的格子) |
| T2 | 时钟律(反转侧) A2 显示“越训越差”(过拟合)或噪声地板主导时,时钟小者胜。 | A1 A2 的反向(更久更差) | 是,同 T1 | 同 T1 的恒等式,取相反符号 | 第一版(A1 不分 lr 档)在实验室给出 174 个反转判定,实际错 25.9%(全在 bigram),超出 ε 承诺的 10%;A1 按 lr 分档后,反转侧在任何 ε≤0.4 下都没有通过核验的格子(0 对) | S推导成立,映射失败,域收窄为空 |
| T3 | 动量并入时钟(SGD) SGD(η, m) 与 SGD(η/(1−m), 0) 等价;比较时用 η/(1−m)。 | 重球稳态:梯度在 1/(1−m) 步内变化慢 | 只有 4 对 T 也不同的匹配对可作独立检验;同 T 的 127 对匹配对是被预测关系的平局点,不算 | 稳态 v = g/(1−m);模拟核对(m=0.9) | 独立证据不足 | S映射未独立检验 |
| T4 | 解耦衰减可忽略(AdamW、SGD) AdamW 与 SGD 的权重衰减(λ ≤ 1e-3)不改变胜负。 | 衰减因子 exp(−ηλT) ≥ 0.994(η ≤ 3e-3,T ≤ 2048) | 对“lr 与 λ 都不同”的对是独立的;对只差 λ 的对,检验关系就是被预测关系,那是定律本身 | 算术 | 只差 λ 的实验室对 102 对,显著 0.0% | S已核验(作为搬运前提) |
| T5 | 耦合 L2 被归一化放大(Adam、RMSprop、Adagrad) 耦合 L2 在除以梯度 RMS 之前加入,梯度小时衰减项被放大,所以不能当作可忽略。 | L2 项 λθ 与梯度 g 一起除以 √v | 是:只差 λ 的对 | 更新规则直接给出;方向(变好或变差)推不出 | Adam λ≤1e-4 显著 24.2%;RMSprop、Adagrad λ≤1e-4 为 0/16;λ>1e-4 显著 45.5%–80.0% | S“不可忽略”已核验;只有 RMSprop、Adagrad 的小 λ 可当作可忽略 |
| T6 | β2 可忽略(梯度统计平稳) 平稳时 β2 只改变二阶矩的平均窗口,不改变流,所以 β2 不同不改变胜负。 | 梯度 RMS 在训练中平稳 | 是:只差 β2 的对 | 平稳性下两种窗口估计同一个 E[g²] | 只差 β2 的对 83 对,显著 50.6%:平稳性前提失败 | S前提被证伪,排除;β2=0.95 在进展区多胜,只是观察(L 候选) |
| T7 | Adam 与 AdamW 在 λ=0 时恒等 λ=0 时两者是同一个更新规则,结果相同。 | 两个实现在 λ=0 时计算同一更新(读 torch.optim 的定义即可核对) | 是:前提靠读代码检验,不看训练结果 | 恒等 | 实验室 50 对,差异全为 0 | S已核验 |
| T8 | RMSprop 的初期放大(无偏差校正) RMSprop 的 v 从 0 起步、不做偏差校正,前约 100 步步长被放大;T=256 时时钟是 ηT 的 1.47 倍。 | 梯度统计平稳 | 是:时钟相等的 RMSprop 对(lr 与 T 都不同) | Σ(1−0.99^t)^(−1/2);模拟核对 | 推导时钟下匹配 13 对,中位偏差 8.6%;朴素时钟下 4 对,62.8% | S支持推导时钟,但证据薄 |
| T9 | Adagrad 的 1/√t 时钟 Adagrad 的累加器线性增长,第 t 步的步长是 η/√t,时钟约 2η√T。 | 梯度统计平稳 | 是:时钟相等的 Adagrad 对 | Σt^(−1/2);模拟核对 | 只有 3 对匹配对 | S映射未检 |
| T10 | SGD 对自适应:下降速率桥 B_k(主) 初始化处一阶下降速率相等时,SGD 的 lr 相当于归一化优化器的 lr·k;k = Σμ²/Σ(μ²/√ν) 在初始化处测得(只做前向和反向)。SGD 的时钟乘以 k 后与自适应的时钟比较,大者胜。 | B_k:初始化处测得的换算在整个训练中成立 A2 沿时钟进展 | 是:k 由初始化处的梯度测得,不看任何训练结果;B_k 在 T 也不同、桥接时钟相等的实验室跨类对上检验,这些对没有一对是同 T 关系的平局点 | 一阶展开:两者下降速率相等;比较仍用恒等式 D = δ1 + δ2 | 桥接时钟相等的实验室对 33 对,只在三个族里有;匹配对的差远小于不匹配对,但等值检验大多不过。ε=0.1 时事先作答 0 对。不核验前提时基准 210 对错 12.4% | S推导成立,前提可测;映射证据不足以在 ε=0.1 下作答 |
| T13 | SGD 对自适应:位移桥 B_r SGD 每步把每个坐标移动 lr·|g|,归一化优化器移动约 lr;位移范数相等要求 lr·r,r 是初始化处测得的逐坐标梯度 RMS(KB 写作 |g|,K1019 用拟合值)。 | B_r:位移相等则进展相等,且 r 在整个训练中成立 A2 沿时钟进展 | 是:r 是测量值,不再从被预测关系里拟合;检验方式同 B_k | 位移范数相等;比较用同一恒等式 | 桥接时钟相等的实验室对 19 对;ε=0.1 时事先作答 0 对。不核验前提时基准 210 对错 7.6%,KB 的拟合 g 在同样规则下错 5.9%(样本内) | S推导成立,前提可测;映射证据不足以在 ε=0.1 下作答 |
| T11 | 稳定性边界 lr 超过曲率决定的稳定阈值时训练发散,必输。 | 最大曲率 λ_max(未测) | 是,但数据里没有曲率 | GD 在 η > 2/λ_max 时发散(edge of stability) | 未检 | S映射未检 |
| T12 | 噪声地板:时钟相等时 lr 小者更好 接近收敛时,随机梯度的稳态波动随 lr 增大,所以时钟相等时 lr 小者损失更低。 | 接近收敛 稳态方差随 η 增大(SDE) | 是:时钟相等、lr 与 T 都不同的对 | SDE 稳态方差 ∝ η | 显著的匹配对里 lr 小者更好占 66.9%;单变量、螺旋为 100%,表格分类反过来 | S推导成立,前提只在部分族成立;它就是 T1 的 A1 失效的系统部分 |
基准上事先核验后作答的对
ε = 0.1 时,方向判定 13 对、平局判定 5 对、恒等 1 对(另有 9 对只差衰减的平局判定,算 L)。
| 对 | 任务族 | 候选 a | 候选 b | 判定 | P(时钟大者胜) | 实际 |
|---|---|---|---|---|---|---|
| q_fd4fbc:AB | 表格分类 | AdamW lr=0.0003 | Adagrad lr=0.001 λ=1e-05 | a 胜 | 0.91 | a 胜 |
| q_fd4fbc:AC | 表格分类 | AdamW lr=0.0003 | RMSprop lr=3e-05 λ=0.0001 | a 胜 | 0.91 | a 胜 |
| q_fd4fbc:BC | 表格分类 | Adagrad lr=0.001 λ=1e-05 | RMSprop lr=3e-05 λ=0.0001 | a 胜 | 0.96 | a 胜 |
| q_ea5717:BC | 表格分类 | Adagrad lr=0.0003 | Adam lr=0.0001 β2=0.95 | b 胜 | 0.96 | b 胜 |
| q_49d499:AB | 表格分类 | Adam lr=0.0001 λ=1e-05 β2=0.95 | Adam lr=0.0003 λ=1e-05 β2=0.95 | b 胜 | 0.91 | b 胜 |
| q_f18ec5:AB | 表格分类 | Adagrad lr=3e-05 λ=1e-05 | AdamW lr=0.0003 λ=0.0001 β2=0.95 | b 胜 | 0.91 | b 胜 |
| q_f18ec5:BC | 表格分类 | AdamW lr=0.0003 λ=0.0001 β2=0.95 | Adagrad lr=0.0001 λ=1e-05 | a 胜 | 0.91 | a 胜 |
| q_4e8c54:BC | 表格分类 | Adagrad lr=0.0001 λ=0.001 | Adagrad lr=0.0003 λ=0.001 | b 胜 | 0.91 | b 胜 |
| q_84392b:BC | Bigram 语言模型 | AdamW lr=0.0003 λ=0.0001 β2=0.95 | Adagrad lr=0.0003 | a 胜 | 0.99 | a 胜 |
| q_14d21e:AC | Bigram 语言模型 | Adagrad lr=0.0003 λ=0.0001 | Adam lr=0.0001 | b 胜 | 1.00 | b 胜 |
| q_ac1991:AB | Bigram 语言模型 | AdamW lr=0.0001 λ=0.001 β2=0.95 | Adagrad lr=3e-05 λ=1e-05 | a 胜 | 1.00 | a 胜 |
| q_9a8f36:AB | Bigram 语言模型 | Adam lr=0.0001 β2=0.95 | Adam lr=3e-05 β2=0.95 | a 胜 | 1.00 | a 胜 |
| q_17797d:BC | Bigram 语言模型 | AdamW lr=0.0003 β2=0.95 | AdamW lr=0.0003 β2=0.95 | 平局 | — | a 胜(不显著) |
| q_2866a0:AC | Bigram 语言模型 | RMSprop lr=3e-05 | RMSprop lr=0.0001 λ=0.0001 | b 胜 | 1.00 | b 胜 |
| q_3b8efc:AB | Bigram 语言模型 | RMSprop lr=0.0003 | RMSprop lr=0.0003 | 平局 | — | a 胜 ✗ |
| q_ad98b9:BC | Bigram 语言模型 | AdamW lr=3e-05 | Adam lr=3e-05 | 平局 | — | b 胜(不显著) |
| q_a74038:AB | Bigram 语言模型 | Adagrad lr=0.0001 λ=0.001 | Adagrad lr=0.0001 λ=0.001 | 平局 | — | a 胜(不显著) |
| q_a12ca6:AB | Bigram 语言模型 | SGD lr=0.001 λ=1e-05 | SGD lr=0.001 λ=1e-05 | 平局 | — | a 胜(不显著) |
与 KB 的定律在同一批对上比较
| 答案规则 | 全部 523 对 | 同一流类 309 对 | SGD 对自适应 214 对 |
|---|---|---|---|
| S:时钟律(前提已核验,ε=0.1) | 13 对 · 错 0.0% | 13 对 · 错 0.0% | 不作答 |
| 同一推导,不核验前提 | 285 对 · 错 11.6% | 285 对 · 错 11.6% | 不作答 |
| 桥接时钟(测得 k),不核验前提 | 210 对 · 错 12.4% | 不作答 | 210 对 · 错 12.4% |
| 桥接时钟(测得 r),不核验前提 | 210 对 · 错 7.6% | 不作答 | 210 对 · 错 7.6% |
| 桥接时钟(KB 拟合的 g,样本内) | 204 对 · 错 5.9% | 不作答 | 204 对 · 错 5.9% |
| 自适应总胜 | 214 对 · 错 18.2% | 不作答 | 214 对 · 错 18.2% |
| K1001(KB,L) | 488 对 · 错 10.5% | 280 对 · 错 10.7% | 208 对 · 错 10.1% |
| 位移族全部成员(KB,L) | 464 对 · 错 8.0% | 266 对 · 错 9.4% | 198 对 · 错 6.1% |
“找全了”是什么意思
“全部科学”只能相对于三样东西说:搜索路线、前提库(这里是从更新规则出发的时钟与搬运前提)、推导规则(时钟比较与搬运的组合)。在这个意义上可以检验三件事。
1. 闭包:每一对都算过
推导引擎对基准的 523 对和实验室的 7,901 对逐一判定:要么给出判定和所用前提,要么给出不作答的原因。没有遗漏,闭包是完全的;剩下的问题是前提库够不够。
2. 没覆盖的地方,原因逐类可查
3. 残差里还有没有规律
如果没覆盖的对里结果本来就不可预测,那么没有科学可找;如果有定律能预测它们,那里就有可以晋升的东西。SGD 对自适应的 214 对:KB 的位移族答 198 对、错 6.1%(样本内);新测的梯度 RMS 不看结果就排对到错 7.6%。规律存在,前提也已经可测,缺的是实验室里足够多的“T 也不同、桥接时钟相等”的跨类实验来核验桥 B。
敏感性分析:放宽 (b)
放宽 (b):允许用同 T 下动量匹配的对(被预测关系的平局点)检验“动量并入时钟”。严格时这条前提只有 4 对可用(显著 25%,实验不足);放宽后 131 对、显著 2.3%,通过。
| 严格(主结果)方向判定 | 放宽后方向判定 | 平局判定(严格 / 放宽) | |
|---|---|---|---|
| 基准 | 13 对 · 错 0.0% | 13 对 · 错 0.0% | 5 / 5 |
| 实验室 | 547 对 · 错 1.8% | 554 对 · 错 1.8% | 58 / 58 |
4. 路线之间的重叠:捕获再捕获
三条路线各自独立地找,最后对齐到 11 个机制上。格子里是该路线在这个机制上达到的最高层次和条数。
| 机制 | 理论路线 | KB 路线 | 文献路线 | 合并判定 | |
|---|---|---|---|---|---|
| M1 | 时钟与时间重标(lr·T 换算,进展侧) | S1 条 | L44 条 | S12 条 | S,已核验 |
| M2 | 边界:何时更大位移反而输(饱和、过拟合、过冲) | S1 条 | L76 条 | L1 条 | S,映射失败,域收窄为空 |
| M3 | 稳态的噪声地板(有效 lr 小者胜) | S1 条 | — | S2 条 | S,前提只在部分族成立 |
| M4 | 自适应优化器之间的换算(Adagrad √t、RMSprop 初期放大、归一化步长) | S2 条 | L68 条 | K9 条 | S,映射证据薄或未检 |
| M5 | 动量即有效学习率 | S1 条 | L22 条 | L1 条 | S,映射未独立检验 |
| M6 | SGD 与自适应之间的桥(梯度尺度) | S2 条 | L61 条 | S2 条 | S,映射证据不足(ε=0.1 时 0 对) |
| M7 | 权重衰减:解耦与耦合 | S2 条 | L27 条 | K3 条 | S,已核验 |
| M8 | β2 与梯度统计的平稳性 | S 被证伪1 条 | K15 条 | L1 条 | 排除:前提被证伪 |
| M9 | 稳定阈值(edge of stability、warmup) | S1 条 | K2 条 | S6 条 | S,映射未检 |
| M10 | λ=0 时 Adam 与 AdamW 恒等 | S1 条 | — | — | S,已核验 |
| M11 | 单步最优步长(要用梯度噪声与曲率) | — | — | 前提1 条 | 不计入 |
- 机制几乎找全了。理论路线找到 10 个,文献 10 个,重叠 9 个;Chapman 估计总数约 11.1,三条路线合计已找到 11 个。
- 能到 S 的机制可能还差一两个。理论路线到 S 的 9 个、文献 4 个、重叠 4 个,估计约 9.0 个;合计已找到 9 个。KB 路线一个 S 也没有。
- 三条路线找到的机制差不多,差在能不能到 S。KB 有数据但检验错了关系;文献有推导但前提在子系统外;理论路线用实验室里另一种关系的实验检验前提,才到 S。
捕获再捕获假设两条路线独立。三条路线都从同一套优化器常识出发,正相关会让估计偏低,所以这些数只是下限的量级。
定义在哪里不够用
- “检验前提比跑出结果便宜”只对一部分前提成立。在这一对上核验 A1、A2 需要把两份配置都跑到 T,代价约等于直接比较;桥 B 的前提量(k、r)倒是便宜,测一对的代价中位是直接训练的 3.2%。难的是核验“换算在整个训练中成立”本身,这又回到实验室里按格子摊销的实验。
- 前提的“格子”是建模选择。(任务族、流类、时钟量级、lr 档)是按理论选的,换一种分格,核验结果和覆盖率都会变,ε 和最少实验数 5 也是参数;S 本身因此也是一个族,要报前沿。
- 独立数据有选择偏差。实验室实验有一部分是为找反例设计的,偏向失败区域,所以核验偏保守:事后前提在 247/285 对上成立,事先只核验出很小一部分。
- “找全了”只相对于路线和前提库。完全的闭包只说明前提库推得出的都推了;前提库之外的科学只能通过残差里的规律去发现。梯度测量就是这样补进来的:残差里有规律(KB 的定律能预测),才去找能测的前提。
- 平局判定依赖噪声口径。训练对种子是确定的(λ=0 时 Adam 与 AdamW 结果逐位相同),所以“显著”很容易达到;时钟相差 15% 的两份配置在 10 个种子下常常显著不同,平局判定只在 A1 的等值检验通过的格子里作出。
复现
sci_grad.py 是唯一碰模型的一步:初始化处的前向和反向,不训练,约半分钟。其余只读已有数据,不调用模型。KB 与文献路线的结果由 scripts/sci_kb_route.py、scripts/sci_lit_route.py 生成。