机器人已经可以根据一句自然语言指令,完成抓取、放置甚至整理桌面等一系列复杂操作。但想象这样一些场景:

当机器人连续扫描多件商品时,它需要知道哪些商品已经扫过;当机器人把吸尘器从起始位置拿走后,它需要记住其原本放置的位置;当一次抓取意外失败时,它还需要结合历史判断“尝试过一次但失败了”还是“任务已经完成”。

如果模型只观察当前画面,它无法知道此前发生了什么;如果模型只是简单统计动作次数,它又会把一次失败误认为一次成功。这类任务不仅取决于机器人现在看到了什么,还取决于它此前经历了什么。这就是典型的 Memory-dependent Task,记忆依赖型任务。在这类任务中:模型仅要会做,还要记得自己做过什么

为此,OpenDriveLab与地平线机器人联合提出
NativeMEM: Native Memory Compression for Long-Horizon Robotic Manipulation

NativeMEM 将每个历史画面压缩为 1 个 VLA 能够直接读懂的原生视觉 Token,以极低成本保存分钟级、稠密更新的机器人操作历史。

项目主页:https://opendrivelab.com/NativeMEM/

论文链接:https://arxiv.org/abs/2607.06678/

   现实困境:历史越长,Token 越“爆炸”

最直接的记忆方案,是把机器人过去看到的所有画面都输入 VLA。

假设需要保存:

  • (T) 秒历史;

  • 每秒更新 (N) 次;

  • 每帧历史使用 (M) 个 Token 表示。

那么,单个相机视角需要存储的历史 Token 数量为 T × M × N

当前方法面临两个核心问题:

   历史 Token 随时间持续累积
现有方法难以同时实现长时间覆盖 (T) 和高频历史更新 (N)。

   历史通常需要外部模块进行压缩
VLM、独立视频编码器或全新记忆模块提取的特征,未必处于 VLA 的特征空间中。这意味着,即便外部模块成功把历史压缩得很短,VLA 也不一定能够真正理解这些信息。

这就导致现有的方法还没找到一个合理的解决方案:

有些方法只保存少量关键帧,但可能错过一次短暂的失败或状态变化;有些方法把历史转写为文本,但很难完整保留位置、姿态和接触关系;还有一些方法引入独立记忆架构,却需要额外训练,并可能破坏预训练 VLA 已有的操作能力。

长程机器人记忆因此陷入了一个困境:

记得越多,计算越贵;压得越狠,信息越容易丢;即使压缩成功,VLA 也未必读得懂。

   NativeMEM:每帧历史,只需要一个 Token

NativeMEM 给出的答案非常直接:让 M = 1

每个历史帧、每个相机视角,仅使用一个 Token 表示。

NativeMEM 的关键不仅是“One Frame, One Token”。更重要的是,这个 Token 并不是由外部模型生成的任意表征,而是位于预训练 VLA 自身视觉表示空间中的 Native Memory Token。它可以像普通视觉 Token 一样,被直接加入 VLA 原有的输入序列,并由 VLA 原生的注意力机制读取。

NativeMEM 让操作历史第一次成为了 VLA 能够直接理解的原生视觉信号。

本文的三个关键创新:

   Native Tokenization
复用 VLA 自身的 Vision Encoder 作为 Memory Tokenizer,使记忆 Token 与预训练 VLA 的视觉空间原生兼容。

   Action-Supervised Memory Learning
冻结原有 VLA,仅训练 Memory 分支,全程只使用 VLA 原本的 Action Loss 监督哪些信息值得被记住。

   Two-stage Memory Conversion
通过两阶段训练和缓存式记忆,将单帧 VLA 以少量任务数据转换为具备分钟级记忆能力的长程VLA。

复用 Vision Encoder,将整帧压成一个token

NativeMEM 没有从零训练一个新的历史编码器,而是直接复用预训练 VLA 的 Vision Encoder,构建 Native Memory Tokenizer。

对于每个历史画面,Vision Encoder 首先提取 Patch Feature;随后,一个可学习的 Memory Query Token 从这些 Patch 中聚合与任务相关的信息,并将整帧压缩为单个 Memory Token。

这个设计有两个重要含义。

第一,历史压缩不再依赖外部 LLM 或独立外部模块,而是发生在 VLA 自身的视觉表示空间中。

第二,压缩后的 Token 可以直接附加到 VLA 的原始输入序列中,由 VLA 原生的 Transformer 注意力机制进行检索和使用。

因此,NativeMEM 不需要改变 VLA 的主体架构,历史只是在输入序列中增加了一组极其紧凑的 Native Memory Tokens。

Compact memory tokens are only useful if the pretrained VLA can interpret them.

NativeMEM 首先解决的,正是“VLA 能不能读懂记忆”这一问题。

   冻结 VLA,只用 Action Loss 教会模型“记什么”

将一张图压缩成一个 Token 并不困难。真正困难的是:

这一个 Token 究竟应该保留什么?

如果使用图像重建作为训练目标,Tokenizer 可能会努力保存背景纹理、颜色和光照等视觉细节。但机器人真正需要记住的,通常是:

  • 哪个按钮刚刚被按下;

  • 物体原来位于哪个托盘;

  • 某次动作究竟成功还是失败。

这些信息未必占据最多像素,却直接决定下一步动作。

因此,NativeMEM 不使用图像重建损失,也不需要人工标注关键帧、任务进度、物体状态或记忆内容

在第一阶段训练中:

  • 冻结完整的预训练 VLA;

  • 只更新 Memory Tokenizer;

  • 只使用原有的 Action Loss。

由于 VLA 本身被冻结,Memory 分支无法通过优化原本的 VLA 来“走捷径”。想让记忆依赖任务的动作预测变得更准确,唯一的办法就是把历史画面压缩成冻结的 VLA 能够理解、且对后续决策和动作生成真正有用的信息

这使 Native Memory Token 同时具备两项关键属性:

  • Action-relevant:只保留与动作决策相关的历史信息;

  • VLA-compatible:输出能够被预训练 VLA 原生理解的表示。

冻结 VLA 看似限制了训练自由度,实际上却强迫 Memory Tokenizer 学会一件更重要的事:用 VLA 已经掌握的语言,描述过去发生了什么

   先学会“如何记”,再学习“如何用”

NativeMEM 采用两阶段训练流程:

   Stage 1:学习通用 Native Memory Tokenizer

第一阶段在标准操作数据和记忆依赖型任务数据上训练 Memory 分支。这一阶段学习的不是某一个具体任务,而是一种通用能力:如何把过去的视觉观测,翻译成 VLA 可以直接使用的记忆。

   Stage 2:使用缓存记忆完成任务微调

完成第一阶段后,Memory Tokenizer 可以提前把任务轨迹中的历史画面离线压缩并缓存。由于每帧每视角仅生成一个 Token,缓存所需的存储和读取开销都非常有限。

在下游任务训练时,只需将这些 Memory Tokens 加入原有 VLA 输入,再使用标准 Action Loss 完成任务微调。

真实部署时,Memory Tokenizer 可以在后台持续更新记忆队列,VLA 只在需要预测动作时读取历史。

最终,NativeMEM 仅使用 100 条真机轨迹数据和约 5 小时微调,就能够将一个预训练单帧 VLA 转换为具备长程记忆能力的 VLA。

   最极致的记忆压缩,带来了什么?

NativeMEM 实现了:

  • 每帧、每视角仅使用 1 个 Memory Token

  • 保存超过 160 帧历史观测;

  • 覆盖约一分钟的长程交互过程;

  • 支持高频、持续更新的视觉记忆;

  • 少量数据、仅微调即可快速适配新任务;

  • 无需外部 VLM、文本摘要或独立记忆架构;

  • 保持预训练 VLA 原有的通用操作能力。

   仿真实验:成功率达到 32.4% 提升至 84%

研究团队首先在五项仿真任务上测试 NativeMEM,这些任务覆盖了两类不同的记忆能力:

  • Put Back Block 和 Observe and Pickup 任务要求机器人保留任务初始阶段的信息;

  • Click Buttons 和 Swap Blocks 任务则要求机器人持续记录每一次交互和任务进度。

实验结果如下:

NativeMEM 没有在“保存早期历史”和“追踪连续变化”之间二选一。

One Memory Token 的逐帧记忆,使模型同时具备了长程覆盖和稠密更新能力。

   真机实验:平均成功率达到 98.7%

研究团队进一步在三项真实机器人任务中进行验证:

  • Click Buttons:按照指定顺序连续依次按下按钮;

  • Put Back Block:记住积木的初始位置并完成归位;

  • Grocery Checkout Scanning:依次为商品扫码。

其中,Grocery Checkout Scanning 并未出现在第一阶段 Memory Tokenizer 的训练数据中,用于检验通用记忆压缩能力是否可以迁移到全新的未见任务。

实验结果如下:

   Memory Token 究竟记住了什么?

NativeMEM 将每个历史画面最终只剩一个 Token。那么,这个 Token 究竟压缩了哪些信息?研究团队对 NativeMEM 的注意力进行了可视化。

   空间上:它关注真正被操作的物体

结果显示,尽管模型没有接受物体框、分割、关键点或任务进度监督,Memory Query 仍然会主动聚焦于:

  • 正在被操作的物体;

  • 机械臂末端;

  • 按钮、托盘等任务相关区域;

  • 与后续动作有关的空间位置。

在 Put Back Block 中,注意力集中在积木和托盘上;在第一阶段从未见过的 Grocery Scanning 中,它仍然会关注商品及其交互过程。

这说明 Action Loss 已经足以告诉模型:

不是所有像素都值得被记住,只有会影响未来动作的信息才值得进入 Memory Token。

   时间上:它能从长历史中找到真正关键的时刻

结果显示,NativeMEM 并不是简单关注最近几帧。当模型需要判断下一个按钮时,它会检索此前按钮真正被按下的历史时刻;当模型需要把积木放回原位时,它会重新关注积木最初被拿起的画面。

NativeMEM 不只是“把历史存下来”,还让 VLA 能够在需要时,从一分钟的历史中,准确找到决定当前动作的那个瞬间。

NativeMEM 的核心结论可以浓缩为四句话:

   长程记忆不应依赖稀疏关键帧。
短暂的失败、重试和状态变化,可能恰恰决定下一步动作。

   历史压缩不只是“压得多短”。
更重要的是,压缩后的表示能否被预训练 VLA 直接理解。

   一个 Token 也足以表示一个历史画面
前提是它由动作监督学习,并处于 VLA 原生表示空间中。

   记忆不应替代 VLA 的预训练能力。
好的记忆应该提供上下文,并激活模型原本已经具备的操作先验。

NativeMEM 所探索的不只是如何给机器人外挂一个记忆模块。

它试图回答一个更基础的问题:

能否让历史像当前观测一样,成为 VLA 自身能够直接感知、理解和使用的原生输入?

NativeMEM 给出的答案是:

One Frame, One Native Memory Token.

让 VLA 不仅会行动,也真正记得一路发生了什么。

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐