# EXP-3D-RGBD-DYNAMIC-WRITE-V1 协议(Core B 第一轮) 起草:Claude(经用户授权持续推进),2026-09-29。本协议在任何写入规则的正式训练之前冻结。按用户要求,GPU 暂停使用,全程只用 CPU(8–23 号核)。 ## 0. 背景 - **Core B 的前提已满足:** V7 的 RGB-D carrier 在 FRESH-V2 上 `QUALIFIED`,按项目规则可以开启 Core B 的下一阶段(动态 TTT 写入)。 - **以往结果:** 2026-09-27 的写入实验都建立在一个未合格、只用 RGB 的小 carrier 上: - 写入收益约为 0,有益的历史动作翻转为 0/3; - 写入训练阶段相对静态阶段反而退步。 - **探索性试点(只用 TRAIN):** 冻结 V7 C1,在 TRAIN24 上训练项目原设计的写入规则 1000 步,在 48 个 TRAIN-X 场景上评价。结果存于 `audit/exploratory_coreb_pilot_train_only/`。 | seed | 只看上下文 | OFF | 写入(训练后) | 写入相对 OFF | |---|---|---|---|---| | 20260928 | 0.278 | 0.306 | 0.267 | +0.039 | | 20260929 | 0.281 | 0.432 | 0.274 | +0.158 | - OFF 反而比只看上下文更差。原因是提升统计量里含有原始的有效视角计数,carrier 训练时最多只见过 3 个视角。 - 写入相对 OFF 的收益,大部分可能是在修补这一偏移;写入相对只看上下文只好约 0.01。 - 所以本轮额外设置两个对照:只看上下文,以及不需要学习的计数截断。 - **试点 2(只用 TRAIN,采用本协议的 stream 规则与代码,训练 1500 步):** 结果存于 `audit/exploratory_coreb_pilot2_train_only/`。 | seed | NO_STREAM | OFF | OFF_CLAMP3 | ALL | ALL_WRONG_SCENE | |---|---|---|---|---|---| | 20260928 | 0.278 | 0.298 | 0.260 | 0.254 | 0.257 | | 20260929 | 0.281 | 0.403 | 0.280 | 0.263 | 0.269 | - 写入相对 OFF:+0.044 / +0.140,CI >0。 - 写入相对计数截断:+0.006 / +0.017,CI 跨零。 - 写入相对别的场景的快速权重:+0.003 / +0.006,CI 跨零。 - 试点预示本轮很可能落在分支 B。本协议照常执行,作为正式记录。 - **本轮问题:** 在冻结且已合格的静态 carrier 上,项目原设计的学习写入能否让流式到达的 RGB-D 观测带来真实、场景专属的收益?这个收益要超出三样东西:只缓存观测、静态状态、非学习的计数修正。 ## 1. 数据与 episode - **场景:** 与 V7 相同,训练用 TRAIN72,评价用 8 个 DEV 场景。FRESH-V1、FRESH-V2 不使用;受保护的 final holdout 不打开。 - **episode 的构成:** - warmup:一个冻结的 V2 上下文角色(A 或 B,各 3 个 RGB-D 视角); - stream:随后 4 个 stream RGB-D 帧。 - **stream 帧规则:** 只看帧号。 - 从场景的空闲帧(不属于任何上下文或 query 角色)中按帧号均匀取 4 个,A、B 两个角色共用。 - 空闲帧不足 4 个的 episode 不合格,不缩短。 - 每个 DEV 场景都有 9 个空闲帧,所以 16 个 DEV episode 全部合格;TRAIN 中合格的 episode 用于训练。 - stream 帧按帧号从小到大依次到达。缓存里的帧号改用到达序号,因为 carrier 只用到先后次序;原始帧号记入元数据。 - 改用这条规则的原因:试点采用的"只取 warmup 最后一帧之后"的规则,只能让 11/16 个 DEV episode 合格。这一修改发生在冻结之前,没有查看任何 DEV 结果。 - **数据边界:** - stream 帧的 RGB、测得深度与相机是测试时输入,与上下文同等对待; - 所有 DEV 状态封存之前,深度只按 CONTEXT_ONLY_RGBD(上下文帧)或 STREAM_RGBD(stream 帧)读取; - query 帧不可达。 - **bounds:** V7 C1 规则,只用 warmup 上下文计算。 ## 2. 模型与训练 - **慢 carrier:** V7 C1 每个 seed 已封存的 DEV 选择 checkpoint(Core A),全程冻结,从不更新。 - **写入规则:** 项目原设计的 `DirectWriteRule`,使用 WriteConfig 默认值(学习率 0.01,单次更新范数上限 0.05),约 500 个参数。 - 初始化:`torch.manual_seed(seed)`。 - 初始规则单独保存,作为 ALL_UNTRAINED 参与评价。 - **训练:** - 每个 seed 在合格的 TRAIN72 episode 上训练 3000 步; - 每个 stream 到达都执行 ALL; - loss 是冻结的 V2 C1 loss,在 stream 之后,于一个 TRAIN primary query 的 1024 条随机射线上计算; - Adam,学习率 1e-3,梯度裁剪 1.0。 - **不做 checkpoint 选择:** 评价最后一步,训练期间不对 DEV 做任何前向。 ## 3. 策略(每个 episode 固定) | 策略 | 含义 | |---|---| | NO_STREAM | 只用 warmup 的状态(静态 Core A 状态) | | OFF | 缓存全部 stream 帧后重建,不写入 | | OFF_CLAMP3 | 同 OFF,但把提升统计量里的视角计数截断为 3(非学习对照) | | FUSE / COMPLETE | 同 OFF,并把每次到达的写入提议提交到 fuse 或 complete 矩阵 | | ALL | 同 OFF,并提交到两个矩阵(**PRIMARY_METHOD**) | | ALL_UNTRAINED | 同 ALL,写入规则未训练 | | ALL_WRONG_SCENE(对照) | 本场景的缓存,配上另一个 DEV 场景 ALL episode 的快速权重 | ## 4. 判定 - **聚合方式:** 每个 seed 内,先对 query 取平均,再对角色取平均;场景内各 seed 等权。 - **统计:** 10,000 次 scene paired bootstrap(seed 20260928),与冻结的 V2 估计器相同。 - **gate:** 采用冻结的 V2 主对比检查: - 均值 >0、CI 下界 >0、≥75% 的场景不差; - 每个 LOSO 均值 >0; - 正向贡献最大的单个场景占比 ≤0.5; - 封存状态完整。 - 状态分为 HARMFUL / SUPPORTED / PARTIAL / NOT_ESTABLISHED。 - **各项判定:** - WRITE_STATUS(主对比):WRITE_GAIN = AbsRel(OFF) − AbsRel(ALL)。 - STREAM_STATUS:STREAM_WRITE_GAIN = AbsRel(NO_STREAM) − AbsRel(ALL)。 - BEYOND_CLAMP_STATUS:BEYOND_CLAMP_GAIN = AbsRel(OFF_CLAMP3) − AbsRel(ALL)。 - WRITE_SPECIFICITY_STATUS:AbsRel(ALL_WRONG_SCENE) − AbsRel(ALL) 的 CI 下界 >0。 - **描述性结果:** - 缓存本身的效果(NO_STREAM − OFF); - 计数截断的效果; - FUSE、COMPLETE 各自的收益; - 训练的作用(ALL_UNTRAINED − ALL); - 各 seed 的结果; - 快速权重范数、delta1、训练曲线。 - **分支(预先写定):** - A:WRITE、STREAM、BEYOND_CLAMP 都为 SUPPORTED,且 WRITE_SPECIFICITY 为 SUPPORTED。学到的写入带来场景专属的、超出缓存、静态状态和计数修正的收益。下一步需要一个新的独立队列做 Core B 资格验证,并学习何时写入。 - B:WRITE_STATUS 为 SUPPORTED,但不满足 A。写入主要在修补视角数量偏移。下一步用可变视角数重新训练静态 carrier(需要重新做静态资格验证),再检验写入。 - C:其余情况。冻结的写入设计在合格的 carrier 上没有稳定收益。下一步重新设计写入,例如利用 stream 帧测得深度的写入统计,或基于梯度的测试时训练。 ## 5. 禁止项 - 更新慢 carrier; - 用 DEV 选择写入规则 checkpoint; - 根据 DEV 结果修改策略、规则、步数或 stream 长度; - 使用 GPU;使用 FRESH-V1 或 FRESH-V2;打开 final holdout。