站点图标 高效码农

84%成功率革命!MemoryVLA双记忆系统破解机器人长时序操作难题

MemoryVLA:受人类记忆启发的机器人操作模型解析

本段欲回答的核心问题

MemoryVLA是什么?它如何解决传统机器人操作模型在长时序任务中的不足?

本文深入解析MemoryVLA——一种受人类双记忆系统启发的新型机器人操作模型。通过结合视觉-语言模型(VLM)与类海马体记忆机制,MemoryVLA在100+真实任务中实现了84%的成功率,尤其在需要时间依赖推理的复杂场景中表现卓越。


一、传统机器人操作模型的困境

1.1 非马尔可夫困境

现实中的机器人操作任务往往具有时间依赖性。例如:

  • 按钮按压任务:按压前后视觉状态几乎完全相同(图1a),传统模型难以判断动作是否完成
  • 多步骤任务:像”清洁桌子并计数”这类需要子目标管理的任务,传统单帧输入模型成功率不足10%(表4)

核心问题:主流VLA模型(如OpenVLA、π₀)仅依赖当前帧信息,忽略了历史状态对决策的影响。


二、MemoryVLA的核心架构

2.1 双记忆系统设计

受认知科学启发(工作记忆+海马体记忆),模型包含:

# 核心组件示意图
[视觉输入] --> VLM编码 --> 工作记忆(当前状态)
                ↓
[语言指令] --> 认知符号生成  
                ↓
[感知-认知记忆库] <--> 记忆检索/融合/巩固
                ↓
[扩散动作专家] --> 7自由度机械臂控制

2.1.1 视觉-语言认知模块

  • 输入处理
    • 224×224分辨率RGB图像 + 自然语言指令
    • 使用7B参数Prismatic VLM进行编码
  • 双通道编码
    | 输入类型   | 处理方式                     | 输出维度      |
    |------------|------------------------------|---------------|
    | 视觉特征   | DINOv2 + SigLIP并行编码      | 256维特征向量 |
    | 语言指令   | LLaMA-7B语义理解             | 1x768维认知符|
    

2.1.2 感知-认知记忆库(PCMB)

  • 存储结构
    class PCMB:
        def __init__(self, max_length=16):
            self.perceptual = []  # 低级视觉细节
            self.cognitive = []   # 高级语义摘要
            self.temporal_pos = [] # 时间位置编码
    
  • 关键机制
    1. 记忆检索:通过时序位置编码实现历史状态查询
    2. 门控融合:动态调整历史信息与当前状态的权重
      \tilde{x} = g^x \odot H^x + (1-g^x) \odot x
      
    3. 记忆巩固:合并相似时序相邻条目(余弦相似度>0.85时触发)

三、实验验证与性能对比

3.1 模拟环境测试

3.1.1 SimplerEnv-Bridge数据集

模型 成功率 关键提升点
RT-1-X 1.1% 基线模型
OpenVLA 4.2% VLA基线
CogACT-Large 57.3% 原SOTA
MemoryVLA 71.9% +14.6%提升(本文贡献)

典型案例分析
在”茄子入篮”任务中,MemoryVLA达到100%成功率。该任务需要:

  1. 识别茄子位置 → 2. 抓取 → 3. 视觉遮挡下定位篮子 → 4. 放置
    传统模型在步骤3因视觉遮挡失败,而MemoryVLA通过记忆库存储的篮子位置信息辅助决策。

3.1.2 LIBERO-90复杂任务

在90个长时序任务中:

  • 需要平均4.2个子目标完成
  • MemoryVLA成功率95.6%,较CogACT提升3.5%
  • 特别在”打开容器-放置物品-关闭”类任务中优势明显

四、真实世界验证

4.1 测试环境

  • 硬件:Franka和WidowX机械臂
  • 视觉输入:Intel RealSense D435(640×480 → 224×224)
  • 任务类型
    | 任务类别       | 示例任务                  | 关键挑战              |
    |----------------|---------------------------|-----------------------|
    | 通用技能       | 堆叠杯子/取水果          | 精准操作              |
    | 时序依赖任务   | 顺序按按钮/清理餐桌      | 状态跟踪+多步规划    |
    

4.2 性能对比

任务类型 OpenVLA π₀ CogACT MemoryVLA
通用任务 31% 72% 76% 85%
时序依赖任务 9% 52% 57% 83%

典型场景分析
任务:清理餐厅餐桌

  • 要求:将垃圾放入垃圾桶,餐具放入收纳箱
  • 挑战:物体类别识别+放置位置记忆
  • MemoryVLA优势:
    1. 通过认知记忆存储常见物品类别(杯子=收纳,纸巾=垃圾)
    2. 感知记忆记录已处理物品位置,避免重复操作

五、关键组件消融实验

5.1 记忆类型影响

| 记忆配置       | 成功率 | 典型问题场景          |
|----------------|--------|-----------------------|
| 仅认知记忆     | 63.5%  | 视觉相似状态决策错误  |
| 仅感知记忆     | 64.6%  | 抽象语义理解不足      |
| 双记忆协同     | 71.9%  | -                     |

反思:单纯依赖视觉细节或语言理解均不足以处理复杂时序任务,类人双记忆架构是突破关键。

5.2 记忆长度优化

# 不同记忆长度对比
记忆长度 | 成功率
---------|-------
4        | 67.7%
16       | 71.9%  # 最优配置
64       | 67.7%  # 过长导致干扰信息累积

启示:记忆长度存在”甜蜜点”,过长会增加信息检索噪声。


六、典型应用场景

6.1 咖啡机操作任务

步骤分解:
1. 按下电源按钮 → 2. 放置咖啡胶囊 → 3. 选择杯型 → 4. 开始冲泡

MemoryVLA优势:
- 记忆库存储"胶囊仓位置"视觉特征(感知记忆)
- 认知记忆记录"已选杯型"状态
- 解决传统模型因视觉相似导致的重复操作问题

6.2 实验室器材整理

任务:将10种不同颜色/形状的实验器材分类收纳
关键挑战

  • 相似外观物品区分(如不同规格试管)
  • 收纳位置记忆(哪个抽屉存放哪种器材)
    MemoryVLA表现:较CogACT提升37%成功率

七、结论与展望

7.1 主要贡献

  1. 提出首个结合类人双记忆系统的VLA模型
  2. 在150+任务中实现SOTA性能
  3. 特别提升长时序任务成功率(+26%)

7.2 未来方向

  • 开发记忆反思机制,实现思维链式推理
  • 构建终身记忆系统,支持跨场景泛化

实用摘要

操作清单

  1. 输入要求
    • RGB图像(224×224) + 自然语言指令
    • 需提供至少50条专家演示轨迹
  2. 部署步骤
    # 伪代码示例
    model = MemoryVLA.load_pretrained("7B")
    obs = camera.get_frame()
    instruction = "将红色方块放入左侧容器"
    actions = model.predict(obs, instruction)
    robot.execute(actions)
    

一页速览

特性 数值
参数规模 7B (VLM) + 300M (动作头)
支持输入 图像+文本
典型推理时间 120ms/帧 (A100)
适用场景 需时间依赖的复杂操作

FAQ

Q1: MemoryVLA如何处理视觉相似但状态不同的场景?
A: 通过感知记忆存储历史视觉细节,在”按钮按压”任务中正确识别完成状态。

Q2: 记忆长度如何影响性能?
A: 16步为最优配置,过长会引入干扰信息。

Q3: 是否需要额外传感器?
A: 仅需单目RGB相机,无需深度/触觉传感器。

Q4: 在光照变化环境下表现如何?
A: 在SimplerEnv-Fractal的视觉聚合测试中,86.7%成功率。

Q5: 未来会支持多机械臂协同吗?
A: 当前聚焦单臂场景,多臂扩展是未来方向。


本文基于ICLR 2025论文《MemoryVLA: Perceptual-Cognitive Memory in Vision-Language-Action Models》
图片均来自论文图表,完整代码与模型见项目页面

退出移动版