← 返回
三、Memory Ablation 设计与结果
共用骨架(输入输出为立项口径, 非实验变量)
frozen CLIP-B/16 → 每帧 196 patch token → 线性投影 256 维。
writer C16:16 个全局共享 learnable query 对该帧 196 token 做 cross-attention → 16 个摘要 token, 加 log Δt 时间编码。
reader(两层):当前帧 196 token self-attention → 以 Q=当前 196 token、K/V=历史 memory(8×16=128 token)做 cross-attention。
goal conditioning:goal = 每轨迹一个长程任务文本(frozen CLIP 文本编码, 与上轮同);xattn = 当前 token 以文本 token 为 K/V 做 cross-attention;tri = K/V 为 concat(memory, 文本 token);film = 文本向量做通道缩放偏移。
decoder:196 token → 14×14 → 反卷积 → 56×56 heatmap(同上轮分辨率)。
loss klamp:空间分布 KL + 5×SmoothL1(top-20 峰值幅度);全零负样本帧走 BCE。
Stage A · 五种 frame selection(8 槽位选哪 8 张)
| 方法 | long-term 依据 | 回答的问题 |
| Recent-8 | 只按 recency(0.5–4s) | 长程历史是否必要 |
| Time-8 | 2 recent + 6 个 log 时间锚点 | 近密远疏时间覆盖是否有用 |
| Diverse-8 | 同 bin 内选与已选 memory 最不相似 | 是否应保存不同历史状态 |
| Retrieve-8 | 同 bin 内选与当前帧最相似 | 是否应 current-conditioned 检索 |
| OracleDecision-8 | GT decision frame 占槽 | task-stage-aware 上界 |
实验轮次(严格串行)
第一轮(进行中):loss × conditioning 全笛卡尔网格 —— {klamp, bce_w, qfl, mse} × {xattn, film, tri} 共 12 格。goal = 每轨迹一个长程任务文本(frozen CLIP 文本编码), xattn/tri 的 K/V 为文本 token;decoder 56×56;全量数据(train 890 / seen 50 / unseen 58, task 级切分)。
第二轮:第一轮最优格固定后, 跑 Stage A 五种 selector。
第三轮:memory 定型后做 visual feature(CLIP / DINO / CLIP+DINO)。
第一轮结果 · Loss × Conditioning 12 格终评(固定 512 题, episode bootstrap 95% CI)
| loss × cond | seen CC [CI] | unseen CC [CI] |
|---|
| klamp_xattn | 0.311 [0.261, 0.363] | 0.241 [0.213, 0.269] |
| klamp_film | 0.306 [0.260, 0.358] | 0.243 [0.217, 0.270] |
| klamp_tri | 0.305 [0.259, 0.354] | 0.251 [0.224, 0.279] |
| bce_w_film | 0.279 [0.236, 0.324] | 0.236 [0.206, 0.268] |
| bce_w_xattn | 0.270 [0.229, 0.315] | 0.228 [0.198, 0.259] |
| bce_w_tri | 0.266 [0.224, 0.313] | 0.219 [0.189, 0.248] |
| qfl_film | 0.224 [0.188, 0.264] | 0.191 [0.168, 0.213] |
| qfl_xattn | 0.215 [0.181, 0.253] | 0.187 [0.164, 0.210] |
| qfl_tri | 0.206 [0.173, 0.243] | 0.179 [0.157, 0.200] |
| mse_film | -0.001 [-0.002, -0.001] | -0.001 [-0.002, -0.001] |
| mse_xattn | -0.001 [-0.002, -0.001] | -0.002 [-0.002, -0.001] |
| mse_tri | -0.001 [-0.002, -0.001] | -0.002 [-0.002, -0.001] |
loss 主导且区间可分:klamp > bce_w > qfl, mse 输出坍塌(CC≈0)。
三种 conditioning 在 klamp 下区间几乎重叠, 差异不可分;取 xattn 进入第二轮。
第二轮结果 · Stage A 五种 selector 终评(klamp × xattn 固定)
| selector | seen CC [CI] | unseen CC [CI] |
|---|
| time8 | 0.314 [0.266, 0.365] | 0.244 [0.213, 0.274] |
| oracle8 | 0.308 [0.261, 0.358] | 0.249 [0.219, 0.279] |
| diverse8 | 0.307 [0.260, 0.358] | 0.240 [0.212, 0.268] |
| retrieve8 | 0.306 [0.259, 0.357] | 0.230 [0.202, 0.259] |
| recent8 | 0.304 [0.259, 0.353] | 0.251 [0.223, 0.280] |
五种 selector 置信区间几乎完全重叠:本轮设定(C16, B=8, 3000 步)下 frame selection 策略未分出差异;recent8(无长程)不落后于长程策略。
全部 run: 全量数据(train 890 / seen 50 / unseen 58, task 级切分), goal = 任务文本, decoder 56×56。
推理可视化(最优 checkpoint · 左 RGB | 中 GT | 右 prediction)
待第一轮最优 checkpoint 出炉后生成(RGB | GT | prediction)。