# EXP-3D-CAJU3D-FUSENET-V1:CAJU-3D 第四步——学到的按像素读出:JEPA 的完整潜预测能否帮助"信谁" **结论:`JEPA_FUSION_NOT_ESTABLISHED`;次要发现:学到的读出(不用 JEPA)大幅改善 Core B,几乎全部来自对未覆盖区域 R7 填充的修正。** - **JEPA 部分不成立**:在相同结构的网络里加入 H-JEPA 的查询格预测(ẑ、log P、命中),没有改进学到的读出。 - P1(SYSTEM3):−0.00098,80/0/80; - P2(VAL):+0.00186,34/0/46。 - **不用 JEPA 的学到的读出(FUSE_BASE)**: | 队列 | Core B → FUSE_BASE | 差值 [95% CI] | 场所 好/平/坏 | 判定 | |---|---|---|---|---| | SYSTEM3 | 0.1569 → 0.1143 | +0.0426 [+0.0204, +0.0739] | 119/0/41 | PARTIAL | | VAL | 0.1161 → 0.0984 | +0.0176 [+0.0093, +0.0270] | 63/0/17 | SUPPORTED | - 改善偏重尾:中位场所只改善 +0.006(SYSTEM3)和 +0.008(VAL),约四分之一的场所略变差。 - 改善集中在 Core B 本来误差很大的场所(秩相关 0.56)。 ## 设计([PROTOCOL.md](PROTOCOL.md),2026-10-14 22:20:46 锁定,sha256 `fda3cf90…`) - **队列**:与 KFUSE-V1 相同,根目录文件逐字节复制。 - 拟合集 SYSTEM + SYSTEM2,按种子划分为 128 个训练场所和 32 个验证场所; - 确认集 SYSTEM3(160 个场所)和 VAL(80 个场所)。 - **输入**(只来自到达数据和查询相机): - 基础图像 8 通道:log R7、log F7、分歧、α、near7、cosine、是否已覆盖、log TTT 原始深度; - JEPA 臂另加 66 通道:第二步冻结的 H-JEPA 在查询格上的 ẑ、log P、命中。 - **FuseNet**: - 5 层膨胀卷积,32 通道; - 已覆盖像素输出卡尔曼式权重 w,结果为 R7^(1−w)·F7^w; - 未覆盖像素输出有界修正 r = 0.7·tanh(·),结果为 R7·e^r; - 输出头初始化为零,未训练时等于 Core B。 - **训练**: - 每个臂 3 个种子,30 个 epoch,Adam lr 1e-3,损失为场所加权的 AbsRel; - 每个种子取验证集上最好的 epoch;读出取三个种子的平均; - 6 个网络在 GPU 4 上共用 136 秒。 - 模型哈希记录之后,才读取确认集真值。 - **完整性**: - 8 个测试通过; - 特征排练与第三步的 log P 完全一致; - 确认在 CPU 上运行两次,逐字节一致。 ## 结果([confirm_results.json](results/confirm_results.json)) | 臂 | SYSTEM3(160) | VAL(80) | |---|---|---| | CORE_B | 0.15689 | 0.11608 | | KF_BASE(第三步的分箱表) | 0.15381 | 0.11341 | | FUSE_BASE_W(关掉未覆盖修正) | 0.15436 | 0.11401 | | **FUSE_BASE** | **0.11431** | 0.09844 | | FUSE_JEPA | 0.11530 | **0.09658** | | 对比(> 0:右边更好) | SYSTEM3 | VAL | |---|---|---| | **P:FUSE_BASE − FUSE_JEPA** | −0.00098 [−0.00448, +0.00252],80/0/80,NOT_ESTABLISHED | +0.00186 [−0.00230, +0.00656],34/0/46,NOT_ESTABLISHED | | CORE_B − FUSE_BASE | +0.04257,119/0/41,PARTIAL | +0.01764,63/0/17,SUPPORTED | | KF_BASE − FUSE_BASE | +0.03949,111/0/49,PARTIAL | +0.01497,50/0/30,PARTIAL | | FUSE_BASE_W − FUSE_BASE(未覆盖修正的贡献) | +0.04004,119/0/41,PARTIAL | +0.01557,59/0/21,PARTIAL | | KF_BASE − FUSE_BASE_W(只比已覆盖像素的权重) | −0.00055,44/0/116,HARMFUL | −0.00060,19/0/61,HARMFUL | ## 描述性分析([describe.json](results/describe.json)) **每个种子单独看都稳定**: - SYSTEM3:BASE 三个种子为 0.1173、0.1173、0.1145,JEPA 三个种子为 0.1181、0.1189、0.1175; - VAL:BASE 为 0.1002、0.0994、0.0998,JEPA 为 0.0995、0.0986、0.0992。 **像素级 AbsRel(SYSTEM3)**: | 区域 | 像素占比 | Core B | FUSE_BASE | |---|---|---|---| | 已覆盖 | 71% | 0.048 | 0.044 | | 未覆盖、R7 直接重投影 | 8% | 0.265 | 0.204 | | 未覆盖、R7 为填充值 | 21% | 0.488 | 0.320 | VAL 上未覆盖区域的 AbsRel 从 0.298 降到 0.242。 **修正量 r**: - 均值 +0.04,正负各约一半; - 约 7–8% 的未覆盖像素接近 ±0.7 的上限。 **逐场所改善的分位数**: | 队列 | 最小 | 25% | 中位 | 75% | 最大 | |---|---|---|---|---|---| | SYSTEM3 | −0.049 | −0.0001 | +0.0064 | +0.028 | +1.675 | | VAL | −0.081 | +0.0008 | +0.0078 | +0.026 | +0.208 | 最大的改善来自 Core B 严重出错的场所:R7 的填充值与真实深度相差几倍。 ## 解读 - **JEPA 在第四个角色里也没有作用**: - 前面已检验过三个角色:挑 TTT 的测量、读出的方差 P、何时更新(Gate 0)。 - 本实验给出 H-JEPA 预测的完整潜特征,学到的读出也没有因此变好。 - **最大的可改进之处在未覆盖区域**: - R7 在那里用最近邻或调和插值加常数填充,误差很大(远处 AbsRel 0.49)。 - 一个只看到达数据的小网络,就能消掉约三分之一。 - 这与以前补全线的结论一致:平均改善大、逐场所不稳。 - 不同的是,这里在同域、用与部署时相同的输入训练,系统级均值改善显著。 - **在已覆盖像素上**,学到的权重不如冻结的分箱表(−0.0006),说明那里的信息已被分箱表用尽。 - **下一步**: - 冻结的 FUSE_BASE 已在 CAJU-V1 的 58 个场所上预注册复现:0.1176 → 0.0979,48/0/10,REPLICATED(EXP-3D-CAJU3D-FUSENET-REPL-V1)。 - 若要实际采用,需要专门改进逐场所的一致性,例如用分箱表处理已覆盖像素、只学未覆盖修正,并在全新队列上确认。 ## 文件 - **代码**:`code/`。 - 查询特征:`fn_query_features.py`; - 输入:`fn_data.py`; - 网络:`fn_model.py`; - 训练:`fn_train.py`; - 确认:`fn_score.py`; - 锁定:`fn_lock.py`; - 任务:`fn_jobs.sh`; - 测试:`test_fn.py`。 - **分析**:`analysis/fn_describe.py`。 - **记录**:`preregistration.json`、`audit/`(锁定、模型哈希、排练、链、两次确认的一致性)、`results/`、`scores/`。 - **不进 git**:查询特征 `features/`。模型权重 `models/` 很小(每个 166–189 KB),但由 ARKitScenes 训练,同样不进 git,哈希记在 audit/fit_log.txt。