10月21日,全球AI领导者英伟达(NVIDIA)在官网开源了Eureka,可自动训练实体机器人的动作指令,例如,转笔、开抽屉、使用剪刀等超复杂动作。
据悉,Eureka是基于OpenAI的GPT-4打造而成,具备零样本生成、编写代码和语境改进等能力,可对强化学习的奖励设计流程、代码进行大幅度优化,达到人类专家级水平。
研究人员通过10个不同类型机器人在IsaacGym 模拟器上进行了实验,结果显示,在 29 项任务中Eureka生成的奖励函数,83%的任务优于人类专家编写的指令,平均标准优化效率为52%。
开源地址:https://github.com/eureka-research/Eureka
论文:https://arxiv.org/abs/2310.12931
Eureka训练机器人的复杂动作展示
英伟达AI高级研究总监兼该论文作者Anima Anandkumar表示,在过去十年,强化学习取得了空前成功,但仍面临许多困难,例如,奖励设计需要不断试错才能完成。Eureka的出现开创了一种全新的算法,将生成式AI与强化学习相结合以实现更高的执行效率。
在介绍Eureka之前,「AIGC开放社区」先为大家简单讲解强化学习概念,以便更好地理解Eureka用途和技术原理。
什么是强化学习
强化学习(Reinforcement Learning)是机器学习的一种类型,其目标是让一个智能体(Agent)在与环境的交互中学习如何实现最优行为,以获取最大累积奖励。
在强化学习中,需智能体不断地从环境中获取状态,并在此基础上选择一个行动。环境对智能体的行动给出反馈,这个反馈称为“奖励”。强化学习的目标是找到一个最优的策略,关键元素包括智能体、环境、状态、行动和奖励。
例如,当你玩一个全新的电脑游戏时,需要不断的犯错和试验才能掌握游戏规则、通关技巧。当年战胜九段围棋高手李世石的AlphaGo,就是最典型的强化学习应用案例。
Eureka简单介绍
从上面的强化学习概念就能看出,想训练机器人执行各种动作,奖励机制是关键之一。传统方法是通过人类编写代码来完成,而Eureka是靠ChatGPT自动生成来完成。
首先,Eureka将未修改的环境源代码和语言任务描述作为上下文,使用ChatGPT从零开始生成可执行的奖励函数。然后,在演化奖励搜索、GPU加速奖励评估和奖励反思之间迭代,以逐步改进其奖励输出。
环境作为上下文:通过使用原始环境代码作为上下文,Eureka可以零样本生成合理的奖励,无需任何特定任务的提示。
这使得Eureka能够成为一个通用的奖励设计者,在所有的环境中,首次尝试时就能轻松产生奖励函数。
通过大规模并行强化学习进行快速奖励评估:Eureka利用NVIDIA Isaac Gym中的最先进的GPU加速模拟,能够快速评估大批奖励候选者的质量,从而实现在奖励函数空间中的可扩展搜索。
在奖励评估之后,Eureka构建了奖励反思,总结了强化学习训练的关键统计数据。接着,Eureka使用这个奖励反思使得ChatGPT能够灵活地利用多种独特类型的自由形式、有针对性的修改来改进奖励函数。
例如:改变现有奖励组件的超参数;改变现有奖励组件的功能形式以及引入新的奖励组件。
Eureka实验测试
研究人员对Eureka在多样化的实体机器人和任务中进行了全面评估,测试了其生成奖励函数、解决新任务等能力。
测试环境由由10个不同的机器人和29个使用IsaacGym模拟器实现的任务组成。首先,包括了来自IsaacGym(Isaac)的9个原始环境,涵盖了从四足动物、双足动物、四旋翼、协作机器人臂到灵巧手的多样化机器人形态。
除了对机器人形态因素的覆盖,还通过包含双手操作基准中的所有20个任务,确保了评估的深度。
包含20个复杂的双手任务,需要一对Shadow Hands解决从物体传递到将杯子旋转180度的一系列复杂操作技能。
Eureka对机器人训练的开抽屉动作
结果显示,Eureka可以生成超过人类水平的奖励函数。在29个任务中,Eureka的奖励在83%的任务中,超过了人类专家编写的奖励函数,平均规范化改进为52%。尤其是在高维灵活性环境中,Eureka实现了更大的收益。
Eureka对机器人训练的复杂奔跑动作
Eureka的进化奖励搜索,使得奖励随时间的持续改进成为可能。Eureka通过结合大规模奖励搜索和详细的奖励反馈反馈,逐渐产生更好的奖励。
此外,Eureka支持基于人类反馈的强化学习(RLHF)。Eureka可以融入人类反馈以修改其奖励函数,这可以极大提升智能体的安全行为,尽量避免一些非法操作。
– END –
报告下载
大佬观点