【EAI 019】Eureka: Human-Level Reward Design via Coding LLM-1 INTRODUCTION

时间:2024-02-15 14:57:33

大型语言模型(LLMs)作为机器人任务的高层次语义规划器表现出色,但它们能否用于学习复杂的低层次操作任务,如灵巧地旋转钢笔,仍是一个未决问题。现有的尝试需要大量的领域专业知识来构建任务提示,或者只能学习简单的技能,在实现人类级别的灵巧性方面还存在很大差距。

另一方面,强化学习(RL)在灵巧性以及许多其他领域都取得了令人印象深刻的成果——前提是人类设计者能够精心构建奖励函数,为所需行为准确编码并提供学习信号。由于现实世界中的许多 RL 任务都存在难以学习的稀疏奖励,因此在实践中,提供增量学习信号的奖励塑造是必要的。尽管奖励功能具有根本性的重要性,但众所周知其设计难度很大;最近进行的一项调查发现,92%的受访强化学习研究人员和从业人员表示奖励设计需要手动试错,89%的人表示他们设计的奖励是次优的,会导致非预期行为。

鉴于奖励设计的极端重要性,我们不禁要问,是否有可能利用最先进的编码 LLM(如 GPT-4)来开发一种通用的奖励编程算法?它们在代码编写,零样本生成和上下文学习方面的卓越能力曾使有效的编程Agent成为可能。理想情况下,这种奖励设计算法应具有人类水平的奖励生成能力,可扩展到广泛的任务范围,在没有人类监督的情况下自动完成乏味的试错过程,同时与人类监督兼容,以确保安全性和一致性。

在这里插入图片描述

我们介绍了一种由编码 LLMs 驱动的新型奖励设计算法——Agent进化驱动通用奖励工具包(Evolution-driven Universal REward Kit for Agent,EUREKA),其贡献如下:

  1. 在 29 种不同的开源 RL 环境中,EUREKA 的奖励设计性能达到了人类水平,这些环境包括 10 种不同的机器人形态,包括四足机器人,四旋翼机器人,双足机器人,机械手以及几种灵巧的手;见图 1。在没有任何特定任务提示或奖励模板的情况下,EUREKA 自主生成的奖励在 83% 的任务中优于人类专家的奖励,并实现了 52% 的平均归一化改进。

  2. 解决以前无法通过人工奖励工程实现的灵巧操作任务。我们考虑了钢笔旋转的问题,在这种情况下,一只五指手需要按照预先设定的旋转配置快速旋转钢笔,并尽可能多地旋转几个周期。通过将 EUREKA 与课程学习相结合,我们首次在模拟的拟人影子手上演示了快速旋转笔的操作(见图 1 底部)。

  3. 我们采用了一种新的无梯度上下文学习方法,即从人类反馈中进行强化学习(RLHF),这种方法可以根据各种形式的人类输入生成性能更强,与人类更匹配的奖励函数。我们证明,EUREKA 可以从现有的人类奖励函数中获益并加以改进。同样,我们还展示了 EUREKA 利用人类文本反馈来共同引导奖励函数设计的能力,从而捕捉到人类在Agent行为中的细微偏好。

与之前使用 LLMs 辅助奖励设计的 L2R 工作不同,EUREKA 完全没有特定任务提示,奖励模板以及少量示例。在我们的实验中,EUREKA 的表现明显优于 L2R,这得益于它能够生成和完善*形式,富有表现力的奖励程序。EUREKA 的通用性得益于三个关键的算法设计选择:环境作为背景,进化搜索和奖励反射

  • 首先,通过将环境源代码作为上下文,EUREKA 可以从主干编码 LLM(GPT-4)中零样本生成可执行的奖励函数。
  • 然后,EUREKA 通过执行进化搜索,在 LLM 上下文窗口内迭代地提出一批候选奖励并完善最有希望的奖励,从而大幅提高奖励质量。这种在上下文中的改进通过奖励反思来实现,奖励反思是基于策略训练统计数据的奖励质量文本总结,可实现自动和有针对性的奖励编辑;EUREKA zero-shot 奖励的示例及其优化过程中积累的各种改进见图 3。为了确保 EUREKA 能够将奖励搜索扩展到最大潜力,EUREKA 在 IsaacGym 上使用 GPU 加速的分布式强化学习来评估中间奖励,这可以提供高达三个数量级的策略学习速度,使 EUREKA 成为一种广泛的算法,可以随着计算量的增加而自然扩展。概况见图 2。

我们致力于开源所有提示,环境和生成的奖励函数,以促进对基于 LLM 的奖励设计的进一步研究。

在这里插入图片描述
在这里插入图片描述