MEMENTO: Memory-Guided Memetic Code-as-Policy Evolution
本文介绍了 MEMENTO,这是一个记忆引导的模因框架,它通过将大语言模型驱动的生成与来自进化评估器的结构化反馈相结合,为长程具身任务进化出可执行的代码即策略,从而实现了比现有基线更优越的性能和从仿真到现实的迁移能力。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在试图教一个机器人完成一项复杂的家务,比如搭建积木塔或制作三明治。这不仅仅是按下单个按钮那么简单;这是一个由一系列步骤组成的漫长过程,每一步都取决于前一步。如果机器人抓错了积木,或者开错了门,整个计划就会崩溃。这就是“具身智能”(Embodied AI)的世界——在这里,软件与混乱的物理世界相遇。这里面临的一个巨大挑战是“信用分配问题”(credit assignment problem):当机器人在完成一项长任务失败时,你如何知道到底是哪一步出了错?是第一步,还是第十步?
为了解决这个问题,研究人员正在尝试一种被称为“代码即策略”(code-as-policy)的聪明技巧。他们不是通过模糊的指令或试错奖励来训练机器人,而是将机器人的大脑编写成真正的计算机代码。这就像是给机器人一本食谱,而不是仅仅给它一种感觉。如果食谱失败了,你可以阅读它,看清楚究竟是哪条指令让人困惑,然后对其进行重写。但手动编写这些食谱很难,而猜测正确的代码更是难上加难。这就是大语言模型(LLMs)——那些能写文章并与我们聊天的 AI 大脑——派上用场的地方。它们可以生成代码,但它们通常需要帮助来弄清楚为什么一段代码失败了,以便能够进行正确的修复。
这就是一个名为 MEMENTO 的新方法的故事,它扮演着一个超级聪明的、具有记忆功能的机器人代码编辑器的角色。研究人员想看看,能否通过让 AI 编写、测试代码,并利用一种特殊的“记忆”来记住哪些做法行不通,从而避免重复犯错,以此来进化出更好的机器人食谱。他们在两个棘手的游戏上进行了测试:一个是机器人手臂需要解决汉诺塔谜题(在不违反规则的情况下移动方块),另一个是机器人需要在虚拟房屋中导航以制作零食。
以下是 MEMENTO 的工作原理以及团队的发现。
“猜与试”的问题
想象一下,你正在尝试编写一个程序来解决一个谜题。你要求 AI 编写代码。它写了一些东西,你运行了它,结果失败了。如果你只是要求 AI “再试一次”,并给出一个新的、随机的想法,你可能只会得到一个略有不同的失败结果,但这并不是真正的学习。这就像是在一片巨大的田野里寻找一把隐藏的钥匙,却蒙着眼睛乱投飞镖。
以前的方法试图通过同时生成许多个不同版本的代码并从中挑选最好的一个来解决这个问题。但研究人员发现,这种方法往往达不到预期。这就像有一百个人在提议如何修理漏水的管道,但没有人真正去观察水滴漏出的具体位置。它们缺乏一种方法来获取一个好的想法,对其进行仔细调整,记住哪些调整失败了,然后将不同想法中的精华部分结合起来。
走进 MEMENTO:记忆型编辑器
作者引入了 MEMENTO,全称是 Memory-Guided Memetic Code-as-Policy Evolution(记忆引导的模因式代码即策略进化)。这个名字听起来很高级,但其核心理念却非常符合人类直觉。把 MEMENTO 想象成一位资深的编辑,正对着一份机器人大脑的“明星初稿”进行工作。
这个过程分为两个主要阶段:
第一幕:构建裁判
在机器人开始学习之前,MEMENTO 会创建一个特殊的“裁判”(评估器)。这个“裁判”是一段代码,它观察机器人的尝试过程并给出评分。但它不仅仅是说“通过”或“失败”,它还会给出一份详细的成绩单:“你拿到了分数,但你在这一步掉落了方块,”或者“你开门的速度太快了。”研究人员首先对这个“裁判”进行了进化,确保它能够精准地识别出机器人表现中的问题所在。
第二幕:三分支搜索
一旦“裁判”准备就绪,真正的进化就开始了。MEMENTO 不仅仅是在乱投飞镖;它使用三种特定的策略来改进机器人的代码,同时保持对过去失败案例的“记忆”:
- 爬山者(细心的修补匠): 这个分支会对当前最好的代码进行微小且精细的改动。如果改动让机器人变得更好,它就会保留该改动。如果改动让效果变差,它会记住为什么这个特定的改动失败了。这种“对被拒绝想法的记忆”阻止了 AI 重复犯错。这就像一个徒步旅行者尝试了一条路径,发现是死路后,在地图上做个标记,然后尝试另一条路,确保自己不会再次走进同一个灌木丛。
- 宏观突变者(大创意生成器): 有时候,微小的调整是不够的。这个分支会对现有的最佳代码进行大胆的改动——比如重写整个食谱段落。这是那种“如果我们尝试一种完全不同的方法会怎样?”的时刻。
- 交叉结合(混合器): 这是神奇的成分。它提取“细心的修补匠”产生的最佳结果和“大创意生成器”产生的最佳结果,并将它们混合在一起。这就像是从两份不同的食谱中提取最好的食材,从而创造出一道全新的、更完美的佳肴。
在尝试完这三个路径后,MEMENTO 会挑选出表现最好的那一个作为下一轮的“精英”(Elite)。这个循环不断重复,逐步精炼代码,直到机器人能够完成任务。
结果:它真的有效吗?
研究人员在两个完全不同的世界中测试了 MEMENTO:
- Robosuite 汉诺塔: 一个机器人手臂堆叠四个方块。
- AI2-THOR: 一个机器人在虚拟厨房中导航,将苹果放入微波炉,将面包放入冰箱。
他们将 MEMENTO 与另外两种流行的方法(Eureka 和 REvolve)进行了对比。结果显而易见:MEMENTO 胜出了。
在汉诺塔任务中,MEMENTO 达到了 0.97 ± 0.06 的成功率(这意味着它几乎每次都能解决谜题),而其他方法则表现挣扎,其中一个仅达到 0.53,另一个则完全失败(0.00)。在厨房任务中,MEMENTO 达到了完美的 1.00 ± 0.00 成功率,而其他方法仅能达到 0.40 和 0.00。
但真正的魔力不仅在于训练室里。研究人员测试了机器人处理从未见过的场景的能力。
- 新形状: 当他们把方块从立方体改为奇怪形状的圆柱体或不对称物体时,MEMENTO 仍然能以 0.87 的概率解决问题。而其他方法则跌至 0.23 或 0.00。
- 新房间: 当他们把厨房机器人移动到一个从未见过的全新房屋布局中时,MEMENTO 仍然能以 0.78 的概率成功。而其他方法则降至 0.08。
这表明 MEMENTO 不仅仅是记住了特定的方块或特定的厨房;它实际上学习了任务背后的“逻辑”。
“顿悟”时刻(消融实验)
为了证明其设计的独特性确实是成功的关键,研究人员尝试移除 MEMENTO 的各个部分,看看会发生什么:
- 没有记忆: 当他们移除了对“被拒绝想法”的记忆时,机器人会陷入重复犯错的怪圈。
- 没有大改动: 如果只允许机器人进行微调(没有“宏观突变”),它就无法逃离局部陷阱。
- 没有混合: 如果停止混合最佳想法(没有“交叉结合”),机器人就无法结合不同的策略。
- 没有裁判进化: 当使用一个未经训练的简单“裁判”而非进化的“裁判”时,机器人无法弄清楚如何获胜。
每一次移除组件,性能都会显著下降,这证明了整个系统的完整性是必不可少的。
从模拟到现实
最令人兴奋的部分是什么?他们将 M-EMENTO 在计算机模拟中进化出的最佳代码应用到了一个真实的物理机器人(Franka 机械臂)上。他们没有重新训练,也没有修改代码,只是让它运行。
该机器人在现实世界中成功解决了汉诺塔谜题,成功率高达 90%(10 次尝试中有 9 次成功)。唯一的失败并非因为代码错误,而是因为机器人的摄像头误读了方块的位置。这证明了“代码即策略”的方法不仅仅是一个模拟实验的小技巧——它在真实、混乱的物理世界中同样奏效。
这意味着什么
论文指出,对于想要学习复杂长任务的机器人来说,我们需要的不仅仅是随机的猜测。我们需要一个能够记住哪些行不通、能进行大小结合的改动、并能将最佳想法融合在一起的系统。MEMENTO 展示了通过将机器人代码视为可以被编辑、测试并带有失败记忆进行精炼的“食谱”,我们可以教会机器人解决那些此前对它们来说过于困难的谜题。
作者也谨慎地指出,这项研究是在特定任务上进行的,并且该方法依赖于所使用的特定语言模型。他们并未声称这能解决所有机器人问题,但他们确实展示了一条非常有前景的路径,用于教机器人如何用代码进行思考。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。