MemER 分层策略 · 长时记忆 · 对齐 Human HL
Stanford Chelsea Finn · Qwen2.5-VL-7B(高)+ π₀.₅(低)· Keyframe 检索式记忆 · 打过 GPT-5 / Gemini Robotics
MemER(arXiv 2510.20328)解决 VLA 一个基础缺陷:大多数策略是无状态的,看不到几分钟前发生了什么。天真地把 long observation history 塞进上下文既贵又对分布偏移脆弱,subsample 又漏掉关键帧。
MemER 的解法:分层策略 + keyframe 检索。高层 policy(π_h)是 fine-tune 过的 Qwen2.5-VL-7B-Instruct,负责从历史里主动挑相关 keyframes 并生成文字子指令;低层 policy(π_l)是 π₀.₅,负责执行动作。真机三个长时任务上追平"Human HL"(人类给子指令)的上限。
三个长时任务(论文 §4)
- Object Search:3 个不透明 bin 里散布 3-5 个物体,机器人依次找 3 个指定物体。要求记住已看过的 bin、直接去正确 bin 而不重复搜。测跨 episode 记忆。
- Counting Scoops:往两个碗里各舀指定数量的两种食材(花生 / 糖豆)。keyframes 之间几乎相同,容易 miss / duplicate。测计数记忆。
- Dust & Replace:从两层架子上取物体 → 拿掸子 → 擦一层 → 换手 → 擦另一层 → 把物体放回原位。中途要 return duster 到模糊位置使近期上下文难判断哪层擦过。测双种类记忆(物体原位 + 已擦哪层)。
主结果(论文 Table 1)—— MemER 追平 Human HL
| Method | Object retrieved | Optimal path | Wrong scoops ↓ | Dust bottom | Dust top | Replace bottom | Replace top |
|---|---|---|---|---|---|---|---|
| MemER (Ours) | 59 | 57 | 1 | 20 | 19 | 18 | 20 |
| No history(同现在的 VLA foundation) | 32 | 25 | 61 | 5 | 4 | 5 | 7 |
| Short History(8 帧上下文) | 38 | 31 | 26 | 14 | 14 | 11 | 12 |
| Long History(32 帧上下文) | 47 | 41 | 12 | 11 | 11 | 12 | 12 |
| Human HL(人类给子指令,上限) | 58 | 58 | 0 | 19 | 19 | 18 | 17 |
最大值均为 60 或 20 (20 次 trials)。MemER counting task 只错 1 次;no history 错 61 次(要多倒的次数)。Long history (32 frames) 每帧 1 秒推理,实时性到极限,而且性能只到 47(vs MemER 59) —— 说明naive 扩展 context 不能替代 keyframe 检索。
vs 通用大模型(论文 Table 2 · offline)
| Method | Object Search Traj Acc | Boundary Acc | Counting Traj Acc | Dust Traj Acc |
|---|---|---|---|---|
| MemER (finetuned Qwen2.5-VL-7B) | 0.80 | 0.76 | 0.67 | 0.87 |
| GPT-5 | 0.15 | 0.16 | 0.43 | 0.67 |
| Gemini Robotics-ER 1.5 | 0.21 | 0.23 | 0.13 | 0.19 |
GPT-5 / Gemini API 延迟 10-15 秒 —— 在闭环控制里根本没法用(需要 < 1s)。所以作者做 offline trajectory 对比:本地微调的 Qwen2.5-VL-7B 大幅超过通用巨大 API 模型。核心失败模式:通用 VLM 无法识别哪些帧是信息型 keyframe,会返回大量无信息候选。
模态对比:为什么"只用图像"更好(论文 Fig 6)
| Method | Object retrieved | Optimal path | Wrong scoops ↓ |
|---|---|---|---|
| MemER(image keyframes only) | 59 | 57 | 1 |
| Short History + Text(8 帧 + 文本子任务) | 40 | 28 | 10 |
| MemER + Text(图像 keyframes + 文本 interleave) | 59 | 49 | 13 |
反直觉发现:加文本反而变差。原因是模型过度关注 text tokens、忽略视觉输入。例如 Object Search 里,text 只记"我在找什么",但没记"我看到过什么"—— 视觉记忆更完整。
系统架构
硬件(DROID-style)
- Franka arm + parallel jaw gripper
- 两相机:第三人称 ZED + 手腕 miniZED · 320×180 @ 15 Hz
- π_l 输出 15 步 action chunk @ 15 Hz,开环执行 8 步再 replan
分层控制频率
- π_h(Qwen2.5-VL-7B):~1 Hz 输出子任务
- π_l(π₀.₅):~2 Hz 输出 action chunk
- 相机 subsample 到 2 Hz 作为 π_h 输入
Model Merging
把 finetuned π_h 权重和 pretrained Qwen2.5-VL-7B-Instruct 合并(linear interp)能进一步稳定各任务性能 —— 保持了预训练的通用能力,避免灾难性遗忘。
为什么这条 idea 重要
MemER 展示了 VLA 领域第一条成熟可用的"记忆机制":
- vs naive context extension:naive 加 context 到 32 帧只到 47 分(vs 59),推理还慢
- vs 纯文本 memory:反而降 —— 视觉表征更 grounded
- vs 通用 VLM zero-shot:GPT-5 API 太慢且分数低,本地小 VLM 微调更靠谱
- vs Human HL 上限:MemER 追平人类 —— 说明 memory 检索这一步不再是瓶颈,剩下失败集中在低层 policy 执行层,可以靠更好的 low-level 数据修
MemER 是"VLA + 显式记忆机制"这条路的第一个开源可信实现。任何做长时任务的团队都值得看它的分层设计。