ARTICLE · 1198287
AI结构的形成依赖随机撒点以打破对称性创造结构
——为什么最均匀的锚点反而没起作用
上一篇文章的结尾,我们量出了两次时间。第一次是局部对齐,随 V^1.47 增长;第二次是全局闭合,随 V^0.89 增长。它们之间是一个精确的中间态:0.5 + 1/(2V)。那篇文章讲的是一条时间曲线。
这篇文章要讲的是分布。
具体地说,是当我们把"已知的正确列"从随机撒点改成完全等距排列时,会发生什么。结果是:
同样 50% 的锚点,随机分布下 100% 形成;等距分布下几乎 0% 形成。
这不是噪声。这在三个不同的词表规模上独立复现。它说的不是"锚点要多少",而是"锚点怎么排"。
---
一、一个纯粹的对照
先看两组数字。同一个 base 模型,同一个课程,同样的训练步数,同样的锚点数量——k/V = 0.50,也就是说,刚好一半的列是硬性钉死的。
V 随机分布(randperm) 等距分布(spacing@s)
28 4/4 PASS, fidH = 1.000 0/4 PASS, fidH = 0.246
40 4/4 PASS, fidH = 1.000 1/4 PASS, fidH = 0.347
56 待测 0/4 PASS, fidH = 0.054
三个 V,三组独立复现。 随机分布下结构每次都完整形成;等距分布下几乎从不形成。
这不是"是否够多"的问题——两边的锚点数量完全相同。区别只在锚点怎么分布。
如果你有一个直觉——"锚点越均匀越好,这样每个未解列都被锚点等距离围住"——那么数据直接把这个直觉推翻了。
均匀分布是失败的。随机分布是成功的。
---
二、为什么"均匀"听起来应该更好
让我们先把这个直觉说清楚,然后把它打破。
假设你在环 Z_28 上要放 14 个已知锚点(正好一半),剩下的 14 个列要从训练中解出来。
直觉 A:如果锚点均匀分布,任意两个锚点之间最多隔 1 个未解列,每个未解列都紧邻已知锚点。信息离未解列最近。
直觉 B:如果锚点随机分布,可能有些区域锚点密集,有些区域锚点稀疏。稀疏区的未解列离锚点很远。
所以"均匀"应该更好。
数据说,反过来。
均匀分布 0/4,随机分布 4/4。
---
三、破解:锚点必须聚团才有用
现在做一件简单的事:把"均匀分布"画出来,看看它在环上长什么样。
k=14,s=2 的等距分布(V=28):
```
锚点位置:{0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26}
未解位置:{1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27}
```
锚点全在偶数位,未解全在奇数位。
这是一个纯粹的奇偶分离。
现在看随机分布 k=14 的一个具体采样:
```
锚点位置:{2, 4, 5, 6, 7, 9, 12, 14, 15, 17, 19, 22, 25, 27}
未解位置:{0, 1, 3, 8, 10, 11, 13, 16, 18, 20, 21, 23, 24, 26}
```
看锚点 4, 5, 6, 7——连续 4 个已知列。
看锚点 14, 15——连续 2 个已知列。
看锚点 25, 27——中间隔一个未解列。
这些"连续段"在等距分布里完全不存在。
---
四、一个具体的推理:从连续段能推出什么
现在讲清楚"连续段"为什么重要。
训练过程中,模型学的不是单步转移 C,而是多步转移 C^a——对所有 a 在监督集里的值。
以 V=28 为例,监督集是 {0, 5, 6, 7, 13, 14, 15, 16, 18, 21, 22, 27}——最小的正步长是 5。
也就是说,训练能看到 C^5, C^6, C^7, C^13, ...
现在看一段连续的已知锚点:位置 4, 5, 6, 7 都是已知的(都硬编码了正确的单步转移)。
如果我算 C^5 在某个未知列 j 上的行为:
```
C^5[j] = C[j] ∘ C[j+1] ∘ C[j+2] ∘ C[j+3] ∘ C[j+4]
```
如果 j, j+1, j+2, j+3 都是已知锚点,只有 j+4 是未知的——那么 C^5[j] 就给出了一个关于 j+4 的线性方程。
这一个方程,就唯一确定了 j+4。
这就是"Degree-1 Peeling"——就像一个拉链,从已知段的一端把未解列一个一个解开。
而这需要一段连续的已知锚点。等距分布恰好完全没有这样的段。
---
五、等距分布为什么完全失败
回头看等距分布的锚点:
```
{0, 2, 4, 6, 8, ...}
```
每个锚点两边都是未解列。
计算 C^5 在任何位置 j:
· j 是偶数(已知锚点):C^5[j] 的 5 步路径经过 j, j+1, j+2, j+3, j+4——交替已知未知——路径上至少有 2 个未知列
· j 是奇数(未解列):路径上至少有 3 个未知列
没有任何一个窗口是"4 已知 + 1 未知"。
因此没有一个 peeling 核。 拉链的第一个齿根本挂不上。
训练动力学面对的全部是多个未知列之间的耦合方程——这些是高阶的、非线性的、可能互相抵消的约束。没有一阶的、唯一的、可以逐列破解的方程。
于是模型做了一件合理的事:记住已知锚点,但不能泛化。这就是为什么等距分布的 post_fid 能到 0.5-0.7(记住了训练集),但 fidH 只到 0.05-0.35(泛化完全失败)。
"均匀"听起来优雅,但它给了模型一个无法启动的对称问题。
---
六、随机性的真正作用
现在回到那个最反直觉的对比。
随机撒点看起来"脏",但它有一个隐藏的、决定性的优点:它保证了一定会有连续段。
在 k/V = 0.5 的密度下,随机分布的一个简单统计结果是:连续段的期望长度约为 2-4。这个数字不依赖 V——因为它是密度 0.5 的独立伯努利序列的一个固有的组合性质。
这些连续段就是 peeling 核。
每一个长度 ≥ a_min-1 的段(a_min 是最小监督步长)都能启动一个 peeling 级联,把这个段下游的未解列逐个解开。
随机性不是"噪声"。随机性是"打破对称性、创造局部结构的机制"。
---
七、更深一层:一个群论框架的失败
如果你懂群论,你会想到一个"优雅"的构造:用子群生成元来铺锚点。
比如 V=28,取子群 2Z_28 = {0, 2, 4, ..., 26}——这是一个合法的子群。把锚点全放在它的陪集上。
这看起来很聪明——锚点有代数结构,可能在群论上更容易推导剩余。
P-16b 数据说:这行不通。 两个大 V(28 和 56)的 s=2 全部失败。
为什么?
因为训练动力学不知道你在用群论。 它只知道"这些列有硬编码的转移"。它从这些列能推出的,是局部的组合关系——长度 a_min 的窗口里有多少已知、多少未知。它不 care 这些列在代数上是不是属于同一个子群。
所以"群论优雅"和"训练动力学友好"是两回事。 前者对后者没有帮助。后者的要求是"局部连续性"——恰好是等距分布最缺的。
---
八、一个例外:V=40 的 s=3
数据里有一个例外。V=40,s=3:
· gcd(3, 40) = 1(不构成子群)
· 锚点不是"全在一个陪集",而是横跨整个环
· 结果:post_fid 均值 0.810,fidH 均值 0.486——明显高于其他等距分布
这是一个"半成功"——它没有形成完整结构,但它比纯等距分布走了远得多。
这个例子告诉我们:
· "等距"本身不是致命问题
· "等距 + 落在同一个子群陪集里"才是致命的
V=40 的 s=3 横跨整环,所以它可能偶然包含了一些连续段(尽管间距是均匀的,但 40 不能被 3 整除,所以有一个"接缝"——那个接缝处会产生比 3 步更短的间距,可能形成长度 2 的连续段)。
这是"均匀 + 一个接缝"几乎成功、而"完全均匀"完全失败的对比。
---
九、这个结果告诉我们什么
回到 L2.5 的核心问题:结构形成需要多少初始锚点?
之前的答案:约 30%。这个数字是随机分布下的均值。
P-16b 现在补充说:这个 30% 不是唯一的参数。
· 随机分布:30% 就够
· 等距分布:50% 都不够
f_c 不是一维的。它不是"锚点占比"的函数。它是"锚点占比 + 锚点分布的局部结构"的函数。
更准确地说:决定形成的是"连续段的存在性"——即有没有一个窗口是"a-1 已知 + 1 未知"。这个存在性由分布的局部聚团性决定,而不是由全局比例决定。
随机分布的优势不在于"比例",而在于它保证了一定有聚团。
---
十、一个简化的图像
把它讲成最简洁的形式:
结构形成不是"用一堆已知列把未知列包围住",而是"从一段已知列出发,一个接一个地把未知列解出来"。
包围是没用的。启动是全部。
等距分布均匀地包围了整个环,但没有一个地方能启动。
随机分布不均匀地包围了整个环,但在好几个地方同时启动了 peeling 级联。
"均匀"是分布的美学。"聚团"是动力学的功能。
---
十一、诚实的边界
这篇文章讲了一个干净的结果,但必须把边界说清楚。
已经确认的:
1. 同 k/V,随机分布 100% 成功,等距分布近 0% 失败——在 V=28, 40, 56 上独立复现
2. "均匀 vs 随机"的失败不是"锚点不够多"的失败——两者数量相同
3. 等距分布的失败在 V=56 上最深(fidH=0.054),暗示大 V 下失败更严重
尚未确认的:
1. "Degree-1 Peeling 核"的机制——这是一个有数据支持的解释,但没有直接测量。我们没有直接记录"某一列在何时被解开",只是从最终结果推断启动失败
2. V=40 的 s=3 半成功——为什么它比纯等距好?是"接缝"产生了连续段,还是别的什么?没有独立检验
3. V=28 的 s=3 失败——它 gcd=1 却完全没动。这可能与 supervise 中 3 的倍数占比高有关,但没有做对照实验
4. V=56 的 fidH=0.054 vs V=28 的 0.246——差 4.5 倍。是"级联长度不够",还是别的原因?未知
P-16b 的预注册判决是 FAIL——不是"部分成功",不是"接近形成"。这个结论是诚实的。
---
十二、下一步
这一轮之后,我们对"结构形成"的图像更深了一层。
上一篇文章说:形成需要约 30% 的锚点。
这篇文章说:这 30% 必须是随机分布的。"均匀"分布给出的是完全不同的失败模式。
两个数字合起来,画出一张比之前更精细的相图:
```
结构形成的两个必要条件:
(1) 锚点占比 ≥ f_c ≈ 0.30
(2) 锚点分布有足够的随机聚团
```
这两个条件互相独立。 满足 (1) 但违反 (2),就会失败。等距分布是这种情况的极端。
接下来要做的事:
1. V=56 的 rowfrac 补刀——补上跨 V 常数阈值的第四个点,同时与 V=56 的 spacing@s=2 形成同 base 的直接对照
2. V=28 的 s=3 判决实验——用一个不含 3 倍数的 supervise 重跑 s=3。如果成功,证实"步长-周期共振"是失败机制
3. "受控聚团"实验——在 V=28 上跑 k=14 但强制"最大连续段 = 2"的分布。如果成功,说明"最小聚团"就够了
4. 直接测量 peeling 核的启动时刻——需要 core 提供"每列何时被解出"的读出
这四件事做完,"分布比数量更重要"的结论才能从现象变成机制。
---
结语
上一篇文章说,结构形成遵循两个时间标度。
这篇文章说的是:它更依赖分布的形状,而不是分布的量。
"均匀"听起来是分布的极致。数据说它是失败的极致。
"随机"听起来是分布的无序。数据说它是启动的必需。
这是一个关于对称性的故事:当你把锚点均匀排布时,你给了系统一个过于完美的对称性——每个未解列都恰好处于同样的位置,同样的环境,同样的无法启动。当你把锚点随机撒下时,你打破了对称性——某些地方多,某些地方少,某些地方连续。连续的地方就是启动的地方。
在结构形成的问题里,无序不是缺陷,是机制。
这是一个我们在很多其他系统里见过、但从未在这个具体任务上看到的图景。 现在它出现在这里了,非常清晰,非常定量,三个 V 上独立复现。
---Backup] 已生成本地归档包: smart_density_backup_before_p16b.tar.gz (0.07 MB)
[prereg] P-16b 预注册协议已冻结: smart_density_l25_p16b_spacing/p16b_prereg_manifest.json (prereg_hash=bcd2e467bd7a14ec)
[ATTESTATION] B1-B8 change-block checks passed
==========================================================================================================
启动 [P-16b 预注册等距播种判决实验] | V=(28, 40, 56) | s=(2, 3, 4, 5, 6) | hash=bcd2e467bd7a14ec
==========================================================================================================
Phase-A step 200: A_acc=0.0681
Phase-A step 400: A_acc=0.0773
Phase-A step 600: A_acc=0.0946
Phase-A step 800: A_acc=0.1084
Phase-A step 1000: A_acc=0.1126
Phase-A step 1200: A_acc=0.1234
Phase-A step 1400: A_acc=0.1455
Phase-A step 1600: A_acc=0.1757
Phase-A step 1800: A_acc=0.2576
Phase-A step 2000: A_acc=0.3422
Phase-A step 2200: A_acc=0.4590
Phase-A step 2400: A_acc=0.5005
Phase-A step 2600: A_acc=0.6238
Phase-A step 2800: A_acc=0.6481
Phase-A step 3000: A_acc=0.6825
Phase-A step 3200: A_acc=0.6224
Phase-A step 3400: A_acc=0.7358
Phase-A step 3600: A_acc=0.7111
Phase-A step 3800: A_acc=0.7198
Phase-A step 4000: A_acc=0.7693
Phase-A step 4200: A_acc=0.5864
Phase-A step 4400: A_acc=0.7462
Phase-A step 4600: A_acc=0.6702
Phase-A step 4800: A_acc=0.7621
Phase-A step 5000: A_acc=0.8337
Phase-A step 5200: A_acc=0.7537
Phase-A step 5400: A_acc=0.8409
Phase-A step 5600: A_acc=0.6319
Phase-A step 5800: A_acc=0.9275
Phase-A hit target at step 5800
saved smart_density_l25_p16b_spacing/base_v28_seed42_a.pt best_step=5800
[Curriculum V=28] |sup|=12 a_min=5 inner=[3, 25] d=1
[P-16b V=28 | s=2 (k=14/28, max_gap=2) | seed 0] init_fid=0.54 -> post_fid=0.54 | fidH=0.117 | gate=FAIL [27s]
[P-16b V=28 | s=2 (k=14/28, max_gap=2) | seed 1] init_fid=0.50 -> post_fid=0.71 | fidH=0.212 | gate=FAIL [27s]
[P-16b V=28 | s=2 (k=14/28, max_gap=2) | seed 2] init_fid=0.54 -> post_fid=0.82 | fidH=0.255 | gate=FAIL [27s]
[P-16b V=28 | s=2 (k=14/28, max_gap=2) | seed 3] init_fid=0.50 -> post_fid=0.79 | fidH=0.398 | gate=FAIL [27s]
[P-16b V=28 | s=3 (k= 9/28, max_gap=4) | seed 0] init_fid=0.39 -> post_fid=0.39 | fidH=0.069 | gate=FAIL [27s]
[P-16b V=28 | s=3 (k= 9/28, max_gap=4) | seed 1] init_fid=0.32 -> post_fid=0.32 | fidH=0.069 | gate=FAIL [27s]
[P-16b V=28 | s=3 (k= 9/28, max_gap=4) | seed 2] init_fid=0.43 -> post_fid=0.43 | fidH=0.092 | gate=FAIL [27s]
[P-16b V=28 | s=3 (k= 9/28, max_gap=4) | seed 3] init_fid=0.36 -> post_fid=0.36 | fidH=0.107 | gate=FAIL [27s]
[P-16b V=28 | s=4 (k= 7/28, max_gap=4) | seed 0] init_fid=0.36 -> post_fid=0.68 | fidH=0.278 | gate=FAIL [27s]
[P-16b V=28 | s=4 (k= 7/28, max_gap=4) | seed 1] init_fid=0.25 -> post_fid=0.79 | fidH=0.500 | gate=FAIL [27s]
[P-16b V=28 | s=4 (k= 7/28, max_gap=4) | seed 2] init_fid=0.32 -> post_fid=0.54 | fidH=0.135 | gate=FAIL [27s]
[P-16b V=28 | s=4 (k= 7/28, max_gap=4) | seed 3] init_fid=0.25 -> post_fid=0.71 | fidH=0.526 | gate=FAIL [27s]
[P-16b V=28 | s=5 (k= 5/28, max_gap=8) | seed 0] init_fid=0.18 -> post_fid=0.18 | fidH=0.046 | gate=FAIL [27s]
[P-16b V=28 | s=5 (k= 5/28, max_gap=8) | seed 1] init_fid=0.18 -> post_fid=0.18 | fidH=0.046 | gate=FAIL [27s]
[P-16b V=28 | s=5 (k= 5/28, max_gap=8) | seed 2] init_fid=0.25 -> post_fid=0.25 | fidH=0.051 | gate=FAIL [27s]
[P-16b V=28 | s=5 (k= 5/28, max_gap=8) | seed 3] init_fid=0.21 -> post_fid=0.21 | fidH=0.046 | gate=FAIL [27s]
[P-16b V=28 | s=6 (k= 4/28, max_gap=10) | seed 0] init_fid=0.18 -> post_fid=0.25 | fidH=0.046 | gate=FAIL [27s]
[P-16b V=28 | s=6 (k= 4/28, max_gap=10) | seed 1] init_fid=0.14 -> post_fid=0.14 | fidH=0.048 | gate=FAIL [27s]
[P-16b V=28 | s=6 (k= 4/28, max_gap=10) | seed 2] init_fid=0.18 -> post_fid=0.21 | fidH=0.048 | gate=FAIL [27s]
[P-16b V=28 | s=6 (k= 4/28, max_gap=10) | seed 3] init_fid=0.18 -> post_fid=0.18 | fidH=0.054 | gate=FAIL [27s]
Phase-A step 200: A_acc=0.0546
Phase-A step 400: A_acc=0.0582
Phase-A step 600: A_acc=0.0602
Phase-A step 800: A_acc=0.0619
Phase-A step 1000: A_acc=0.0751
Phase-A step 1200: A_acc=0.0989
Phase-A step 1400: A_acc=0.1105
Phase-A step 1600: A_acc=0.1219
Phase-A step 1800: A_acc=0.1461
Phase-A step 2000: A_acc=0.2137
Phase-A step 2200: A_acc=0.3613
Phase-A step 2400: A_acc=0.4777
Phase-A step 2600: A_acc=0.6735
Phase-A step 2800: A_acc=0.7559
Phase-A step 3000: A_acc=0.7221
Phase-A step 3200: A_acc=0.8238
Phase-A step 3400: A_acc=0.7894
Phase-A step 3600: A_acc=0.8710
Phase-A step 3800: A_acc=0.8950
Phase-A step 4000: A_acc=0.9128
Phase-A hit target at step 4000
saved smart_density_l25_p16b_spacing/base_v40_seed42_a.pt best_step=4000
[Curriculum V=40] |sup|=18 a_min=4 inner=[3, 37] d=1
[P-16b V=40 | s=2 (k=20/40, max_gap=2) | seed 0] init_fid=0.55 -> post_fid=0.57 | fidH=0.381 | gate=FAIL [29s]
[P-16b V=40 | s=2 (k=20/40, max_gap=2) | seed 1] init_fid=0.50 -> post_fid=0.50 | fidH=0.400 | gate=PASS [29s]
[P-16b V=40 | s=2 (k=20/40, max_gap=2) | seed 2] init_fid=0.53 -> post_fid=0.70 | fidH=0.294 | gate=FAIL [29s]
[P-16b V=40 | s=2 (k=20/40, max_gap=2) | seed 3] init_fid=0.53 -> post_fid=0.70 | fidH=0.312 | gate=FAIL [29s]
[P-16b V=40 | s=3 (k=13/40, max_gap=4) | seed 0] init_fid=0.40 -> post_fid=0.88 | fidH=0.551 | gate=FAIL [29s]
[P-16b V=40 | s=3 (k=13/40, max_gap=4) | seed 1] init_fid=0.38 -> post_fid=0.73 | fidH=0.461 | gate=FAIL [29s]
[P-16b V=40 | s=3 (k=13/40, max_gap=4) | seed 2] init_fid=0.33 -> post_fid=0.65 | fidH=0.439 | gate=FAIL [29s]
[P-16b V=40 | s=3 (k=13/40, max_gap=4) | seed 3] init_fid=0.33 -> post_fid=0.98 | fidH=0.494 | gate=FAIL [29s]
[P-16b V=40 | s=4 (k=10/40, max_gap=4) | seed 0] init_fid=0.30 -> post_fid=0.57 | fidH=0.241 | gate=FAIL [29s]
[P-16b V=40 | s=4 (k=10/40, max_gap=4) | seed 1] init_fid=0.25 -> post_fid=0.50 | fidH=0.191 | gate=FAIL [29s]
[P-16b V=40 | s=4 (k=10/40, max_gap=4) | seed 2] init_fid=0.28 -> post_fid=0.50 | fidH=0.188 | gate=FAIL [29s]
[P-16b V=40 | s=4 (k=10/40, max_gap=4) | seed 3] init_fid=0.28 -> post_fid=0.55 | fidH=0.329 | gate=FAIL [29s]
[P-16b V=40 | s=5 (k= 8/40, max_gap=5) | seed 0] init_fid=0.25 -> post_fid=0.23 | fidH=0.041 | gate=FAIL [29s]
[P-16b V=40 | s=5 (k= 8/40, max_gap=5) | seed 1] init_fid=0.25 -> post_fid=0.25 | fidH=0.050 | gate=FAIL [29s]
[P-16b V=40 | s=5 (k= 8/40, max_gap=5) | seed 2] init_fid=0.23 -> post_fid=0.28 | fidH=0.054 | gate=FAIL [29s]
[P-16b V=40 | s=5 (k= 8/40, max_gap=5) | seed 3] init_fid=0.25 -> post_fid=0.38 | fidH=0.142 | gate=FAIL [29s]
[P-16b V=40 | s=6 (k= 6/40, max_gap=10) | seed 0] init_fid=0.20 -> post_fid=0.33 | fidH=0.051 | gate=FAIL [29s]
[P-16b V=40 | s=6 (k= 6/40, max_gap=10) | seed 1] init_fid=0.20 -> post_fid=0.28 | fidH=0.040 | gate=FAIL [29s]
[P-16b V=40 | s=6 (k= 6/40, max_gap=10) | seed 2] init_fid=0.17 -> post_fid=0.28 | fidH=0.037 | gate=FAIL [29s]
[P-16b V=40 | s=6 (k= 6/40, max_gap=10) | seed 3] init_fid=0.15 -> post_fid=0.47 | fidH=0.181 | gate=FAIL [29s]
Phase-A step 200: A_acc=0.0491
Phase-A step 400: A_acc=0.0508
Phase-A step 600: A_acc=0.0493
Phase-A step 800: A_acc=0.0494
Phase-A step 1000: A_acc=0.0495
Phase-A step 1200: A_acc=0.0503
Phase-A step 1400: A_acc=0.0526
Phase-A step 1600: A_acc=0.0512
Phase-A step 1800: A_acc=0.0576
Phase-A step 2000: A_acc=0.0807
Phase-A step 2200: A_acc=0.0847
Phase-A step 2400: A_acc=0.1035
Phase-A step 2600: A_acc=0.1143
Phase-A step 2800: A_acc=0.1331
Phase-A step 3000: A_acc=0.1644
Phase-A step 3200: A_acc=0.2201
Phase-A step 3400: A_acc=0.3333
Phase-A step 3600: A_acc=0.3842
Phase-A step 3800: A_acc=0.4323
Phase-A step 4000: A_acc=0.4734
Phase-A step 4200: A_acc=0.5200
Phase-A step 4400: A_acc=0.6215
Phase-A step 4600: A_acc=0.5806
Phase-A step 4800: A_acc=0.3330
Phase-A step 5000: A_acc=0.5781
Phase-A step 5200: A_acc=0.6248
Phase-A step 5400: A_acc=0.7274
Phase-A step 5600: A_acc=0.6173
Phase-A step 5800: A_acc=0.5981
Phase-A step 6000: A_acc=0.5735
Phase-A step 6200: A_acc=0.7028
Phase-A step 6400: A_acc=0.5665
Phase-A step 6600: A_acc=0.8154
Phase-A step 6800: A_acc=0.7787
Phase-A step 7000: A_acc=0.6921
Phase-A step 7200: A_acc=0.8314
Phase-A step 7400: A_acc=0.7084
Phase-A step 7600: A_acc=0.7031
Phase-A step 7800: A_acc=0.5485
Phase-A step 8000: A_acc=0.8085
Phase-A step 8200: A_acc=0.8356
Phase-A step 8400: A_acc=0.8745
Phase-A step 8600: A_acc=0.8313
Phase-A step 8800: A_acc=0.8582
Phase-A step 9000: A_acc=0.6246
Phase-A step 9200: A_acc=0.8978
Phase-A step 9400: A_acc=0.9102
Phase-A hit target at step 9400
saved smart_density_l25_p16b_spacing/base_v56_seed42_a.pt best_step=9400
[Curriculum V=56] |sup|=26 a_min=5 inner=[4, 52] d=1
[P-16b V=56 | s=2 (k=28/56, max_gap=2) | seed 0] init_fid=0.54 -> post_fid=0.59 | fidH=0.056 | gate=FAIL [32s]
[P-16b V=56 | s=2 (k=28/56, max_gap=2) | seed 1] init_fid=0.52 -> post_fid=0.52 | fidH=0.053 | gate=FAIL [32s]
[P-16b V=56 | s=2 (k=28/56, max_gap=2) | seed 2] init_fid=0.54 -> post_fid=0.52 | fidH=0.054 | gate=FAIL [32s]
[P-16b V=56 | s=2 (k=28/56, max_gap=2) | seed 3] init_fid=0.52 -> post_fid=0.50 | fidH=0.054 | gate=FAIL [32s]
[P-16b V=56 | s=3 (k=18/56, max_gap=5) | seed 0] init_fid=0.32 -> post_fid=0.34 | fidH=0.029 | gate=FAIL [31s]
[P-16b V=56 | s=3 (k=18/56, max_gap=5) | seed 1] init_fid=0.36 -> post_fid=0.34 | fidH=0.032 | gate=FAIL [32s]
[P-16b V=56 | s=3 (k=18/56, max_gap=5) | seed 2] init_fid=0.32 -> post_fid=0.34 | fidH=0.032 | gate=FAIL [32s]
[P-16b V=56 | s=3 (k=18/56, max_gap=5) | seed 3] init_fid=0.34 -> post_fid=0.34 | fidH=0.029 | gate=FAIL [31s]
[P-16b V=56 | s=4 (k=14/56, max_gap=4) | seed 0] init_fid=0.25 -> post_fid=0.27 | fidH=0.028 | gate=FAIL [31s]
[P-16b V=56 | s=4 (k=14/56, max_gap=4) | seed 1] init_fid=0.27 -> post_fid=0.29 | fidH=0.027 | gate=FAIL [31s]
[P-16b V=56 | s=4 (k=14/56, max_gap=4) | seed 2] init_fid=0.29 -> post_fid=0.27 | fidH=0.027 | gate=FAIL [31s]
[P-16b V=56 | s=4 (k=14/56, max_gap=4) | seed 3] init_fid=0.25 -> post_fid=0.25 | fidH=0.026 | gate=FAIL [32s]
[P-16b V=56 | s=5 (k=11/56, max_gap=6) | seed 0] init_fid=0.21 -> post_fid=0.21 | fidH=0.026 | gate=FAIL [32s]
[P-16b V=56 | s=5 (k=11/56, max_gap=6) | seed 1] init_fid=0.21 -> post_fid=0.21 | fidH=0.024 | gate=FAIL [31s]
[P-16b V=56 | s=5 (k=11/56, max_gap=6) | seed 2] init_fid=0.21 -> post_fid=0.20 | fidH=0.024 | gate=FAIL [31s]
[P-16b V=56 | s=5 (k=11/56, max_gap=6) | seed 3] init_fid=0.20 -> post_fid=0.21 | fidH=0.024 | gate=FAIL [32s]
[P-16b V=56 | s=6 (k= 9/56, max_gap=8) | seed 0] init_fid=0.16 -> post_fid=0.16 | fidH=0.023 | gate=FAIL [32s]
[P-16b V=56 | s=6 (k= 9/56, max_gap=8) | seed 1] init_fid=0.18 -> post_fid=0.18 | fidH=0.024 | gate=FAIL [32s]
[P-16b V=56 | s=6 (k= 9/56, max_gap=8) | seed 2] init_fid=0.18 -> post_fid=0.16 | fidH=0.024 | gate=FAIL [31s]
[P-16b V=56 | s=6 (k= 9/56, max_gap=8) | seed 3] init_fid=0.16 -> post_fid=0.16 | fidH=0.022 | gate=FAIL [32s]
==========================================================================================================
P-16b 等距播种判决报告 (PRE-REGISTERED ADJUDICATION | hash=bcd2e467bd7a14ec)
==========================================================================================================
Spacing s | V=28 (k/V | P_form | fidH) | V=40 (k/V | P_form | fidH) | V=56 (k/V | P_form | fidH)
------------------------------------------------------------------------------------------------
s = 2 | 0.50 | 0.00 | 0.246 | 0.50 | 0.25 | 0.347 | 0.50 | 0.00 | 0.054
s = 3 | 0.32 | 0.00 | 0.084 | 0.33 | 0.00 | 0.486 | 0.32 | 0.00 | 0.030
s = 4 | 0.25 | 0.00 | 0.360 | 0.25 | 0.00 | 0.237 | 0.25 | 0.00 | 0.027
s = 5 | 0.18 | 0.00 | 0.047 | 0.20 | 0.00 | 0.072 | 0.20 | 0.00 | 0.024
s = 6 | 0.14 | 0.00 | 0.049 | 0.15 | 0.00 | 0.077 | 0.16 | 0.00 | 0.023
[1] 临界阈值与有效救援半径提取 (Primary = P_form 0.5-crossing; Secondary = fidH):
- 临界间距 s_c(V) [Primary P_form] : {28: nan, 40: nan, 56: nan}
- 临界间距 s_c(V) [Secondary fidH] : {28: nan, 40: nan, 56: nan}
- 有效救援半径 l_eff(V) = (s_c-1)/2 : {28: None, 40: None, 56: None}
- 对应临界锚点占比 (k/V)_c [P_form]: {28: nan, 40: nan, 56: nan}
[2] 坍缩判据零基线审计 (Zero-Parameter Collapse Audit on P_form):
- 实测主曲线全变差 TV(exp=0) : 0.0357
- 1000次随机置换基线 TV_null : 0.0332 ± 0.0062
- 显著性 Z-score / p-value : Z = +0.40 (p = 1.0000)
[3] 预注册终极裁定 (PREREGISTERED VERDICT):
- 跨 V 平均临界间距 mean(s_c) = nan (最大偏离 max_dev = inf, 阈值 <= 0.60)
- V=56 外推检验点 s_c(56) = nan (预注册预测区间 [2.8, 4.2])
- 最终裁定: FAIL / INCONCLUSIVE -> 需检查尺度漂移
[done] P-16b 裁定摘要已保存至: smart_density_l25_p16b_spacing/p16b_verdict_summary.json (耗时 32.5 分钟)
[backup] 已生成本地归档包: smart_density_backup_after_p16b.tar.gz (6.25 MB)















































































