同架构蒸馏全历史压缩,循环记忆200步位姿逼近教师

Compressing Observation History into Agent Memory: Distilling Transformers into Recurrent Transformers

Philippe Weinzaepfel, Christian Wolf, Bülent Mert Sariyildiz, Guillaume Bono, Gianluca Monaci

cs.CV, cs.LG

2026-06-19

Naver Labs把全历史Transformer学到的瓶颈压缩策略蒸馏进Kinaema的循环记忆槽里。同架构Chimera在200步2m90°准确率70%,逼近教师72%,800步从Kinaema的37%拉到45%。

这篇在解决什么

机器人要在已经走过的环境里回答「这张图相对当前位姿在哪」,就不能把旧观测丢掉。History Transformer 每一步都能 attend 全部历史,精度高,但存储和计算都是 O(T²),序列一长就铺不开。Kinaema、MooG 这类 Recurrent Transformer 只维护固定大小的记忆槽,每步 O(1),可它必须在当下决定当前帧哪些该写进记忆。写漏了,后面再也找不回来。

Naver Labs Europe 的判断很硬:循环模型落后,多半不是容量不够,是压缩这件事学得太难。全历史模型可以等查询到来再回头挑 token;循环模型没有这个后见之明,监督还要穿过一长串更新,梯度又晚又稀。

方法

Chimera 把记忆学习改成有监督的压缩蒸馏。

教师是 Latent Bottleneck History Transformer(LBHT)。在完整观测序列上再放 20 个可学习的 readout token,压成和 Kinaema 记忆同形状的张量:20×3072。这套瓶颈在查询图像进来之前就定稿,相当于一张不看任务的隐式场景地图,做法接近 Perceiver Resampler。教师用非因果注意力,旧帧可以被直到当前时刻的新帧回写,但不看未来帧。它不是部署模型,7 层,还带掩码图像重建辅助损失,训练序列随机 50 到 400 步,远超原版 Kinaema 的 100 步上限。

学生就是 Kinaema,3 层 Transformer 加跨槽共享的 GRU 门控。每步只吃当前 112×112 RGB(微调过的 DINO-v2 ViT-s)和 7 维里程计差。蒸馏时把学生整段 rollout 切成 N 段,每段末尾用 L1 对齐教师在同一前缀上的瓶颈;梯度回传截断在固定步数,既省显存也稳住训练。下游相对位姿损失叠在同一批端点上,查询既有见过的帧,也有仿真器在已探索区域另渲的「附近但没拍过」替代帧。学生蒸馏序列最长 200 步,λdist 取 0.001。

两个假设要同时成立:整段压缩比逐步压缩好学;教师压出来的瓶颈轨迹,循环更新函数跟得上。

结果

任务是 Mem-RPE:给一张查询图,在机器人当前坐标系里报出相对平移和旋转。数据来自 Habitat 上的 HM3D 与 Gibson。测试带分布偏移,序列拉到 800 步,前进步长 25cm 对训练的 10cm,转角 10° 对 5°。指标是落在误差阈值内的准确率。

RPE-test(HM3D val)上 2m/90° 这一档:

方法200 步800 步
LBHT 教师(看全历史)7244
Kinaema(同架构,无蒸馏)6337
Chimera7045
GRU5631
xLSTM4729

更严的 1m/10°:200 步 Chimera 36,对 Kinaema 21、教师 44;800 步 Chimera 18,教师 16、Kinaema 10。超过教师训练长度 400 之后,循环学生略高于教师,教师掉得更明显。

把 Kinaema 硬训到 T=400、600 epoch,直接发散。无瓶颈的 History Transformer 在训练长度内很强(RPE-val、200 步 2m/90° 达 85),拉到 800 步掉到 35;LBHT 同设置是 74 和 55,所以拿它当教师。蒸馏段数从 1 加到 5,短训里 200 步 2m/90° 从 69 升到 74,大约 4 段饱和。因果教师明显弱:同样 200 步训练、300 epoch,非因果 200 步 2m/90° 是 76,因果只有 40。

记忆统计也靠向教师:逐步更新幅度更小,多数槽几乎不动,少数槽承担大部分改写。A100 上学生每步大约 7ms,显存不随 T 涨;教师是二次曲线。

为什么重要

这是一次压缩策略蒸馏,不是换小模型。部署时的参数量和推理图与 Kinaema 完全一样,变的是记忆里该写什么。对必须记住任意过去观测、又不能把历史帧堆在 KV 里的具身任务,这条路比改用 Mamba 或 xLSTM 更直接。它也说明循环 Transformer 的表达力可能已经够,缺的是「写什么」的监督。

账单不低:教师单卡 H200 大约 30 天,学生蒸馏 H100 大约 16 天。验证只停在无地图相对位姿,没有接到导航或操作闭环。

局限与存疑

附录写得很干脆:相机内参和分辨率固定,多内参还在做;训练全在仿真里,因为要真值位姿,更因为替代查询几乎只能靠仿真器生成。

蒸馏对齐的是非因果瓶颈,学生推理必须因果逐步走。800 步反超教师,可能来自循环归纳偏置,也可能只是教师外推崩了,论文没有拆开。对照全在 Mem-RPE 上,和 CUT3R、VGGT-long 这类重建路线没有直接比。λdist 在 0.001 之后饱和,但主表来自完整训练,消融是 200 epoch 短训,幅度不能直接抄到主结果上。

术语

原文与代码

社区讨论

相关论文

全部论文解读