专栏名称: AI生成未来
AIGC最新技术及资讯
目录
相关文章推荐
北京本地宝  ·  在北京持居住证可以享受的7大便利! ·  3 天前  
北京吃货小分队  ·  庆丰包子铺出自助了!但... ·  3 天前  
最爱大北京  ·  高程履新,系爱国将领程潜外孙女 ·  3 天前  
51好读  ›  专栏  ›  AI生成未来

机器人学习和控制的新里程碑!谷歌研发可以打乒乓球的机器人!完胜初学者!

AI生成未来  · 公众号  ·  · 2024-08-10 00:02

正文

点击下方 卡片 ,关注“ AI生成未来
>>后台回复“GAI”,免费获取AI行业报告和资料!

作者:DeepMind

解读:AI生成未来

亮点直击

  • 采用分层和模块化的策略架构,具体包括:(i) 具有技能描述的低级控制器和(ii) 选择低级技能的高级控制器;
  • 使zero-shot 模拟到现实转化的技术,包括一种迭代的方法来定义基于现实世界的训练任务分布,并定义自动化课程;
  • 对未见对手的实时适应能力;
  • 一项用户研究,测试本文的模型在物理环境中与未见人类进行实际比赛的表现。

首先,恭喜中国兵乓球男团获得巴黎奥运会金牌!期待人和乒乓机器人的奥运对决!

实现人类水平的速度和性能,在现实世界任务中是机器人研究社区的终极目标。本研究朝着这一目标迈出了重要一步,展示了首个能在竞技乒乓球中达到业余人类水平表现的学习型机器人agent。乒乓球是一项对身体要求极高的运动,要求人类运动员经过多年的训练才能达到高级水平。在本文中,本文贡献了以下内容:(1) 一个层次化和模块化的策略架构,包括(i) 具有详细技能描述符的低级控制器,模型化代理的能力,帮助弥合模拟与现实之间的差距,以及(ii) 选择低级技能的高级控制器;(2) 实现零-shot 模拟到现实的技术,包括一种迭代方法来定义基于现实世界的任务分布,并定义自动课程;(3) 对未见对手的实时适应。策略性能通过29场机器人对人类的比赛进行评估,其中机器人赢得了45%(13/29)的比赛。所有人类对手都是未见的选手,他们的技能水平从初学者到比赛级别不等。尽管机器人在与最先进选手的所有比赛中均告失利,但在与初学者的比赛中赢得了100%的胜利,与中级选手的比赛中赢得了55%的胜利,充分展示了其业余人类水平的表现。

方法

A. 硬件、问题设置和环境

上图 1 展示了物理机器人。这个乒乓球机器人是一个具有 6 自由度的 ABB IRB 1100 机械臂,安装在两个 Festo 线性龙门架上,能够在二维平面上运动。 龙门架负责横向移动,长度为 4 米; 龙门架负责向桌子方向和远离桌子的移动,长度为 2 米。一个使用短颗粒橡胶的 3D 打印球拍手柄和球拍附在 ABB 机械臂上。一对以 125Hz 运行的 Ximea MQ013CG-ON 摄像头用来捕捉球的图像,这些图像作为神经感知系统的输入,该系统以相同频率生成球的位置。本文使用由 20 个摄像头组成的 PhaseSpace 动作捕捉系统,这些摄像头安装在比赛区域周围,用于追踪人类对手的球拍。

本文将 乒乓球建模为一个单代理的顺序决策问题,其中人类对手被建模为环境的一部分 。本文使用马尔可夫决策过程(MDP)的形式化方法。它由一个四元组 组成,其中的元素分别是状态空间 ,动作空间 ,奖励函数 ,以及转移动态 。一个回合 是一个有限的序列,包含 元素,从起始状态 开始,当环境终止时结束。一个回合由一次击球和回球组成,从对手的球拍接触球的那一刻开始,结束于以下条件之一发生时:1)机器人回球,2)球出界,或 3)机器人漏球。回球意味着机器人击球,使其在对方桌面弹起,而不先在自己一侧弹起。

真实环境包括神经感知系统,该系统用于跟踪球的轨迹;运动捕捉系统,用于跟踪人类玩家球拍的姿态;一个用于跟踪比赛状态的状态机;以及一个观察模块,该模块向策略提供诸如球的位置和速度、机器人位置等数据。此外,本文还构建了一个基于MuJoCo物理引擎的对应模拟环境。关于基本系统的详细描述可以在[9]中找到。下面,本文描述了为实现与人类实时竞技而对该系统所做的更改。

B. 分层代理架构和培训概述

本文的代理架构和训练方法专为解决与人类进行乒乓球竞技所带来的诸多挑战而设计。下图2所示的乒乓球代理由两个控制层级组成,本文称之为高层控制器(HLC)和低层控制器(LLCs)。LLCs是代表不同乒乓球技能的策略,训练以每秒50次的频率生成关节速度命令。例如,LLCs可能代表使用正手击球并击打斜线球、保守地使用反手击球,或使用正手回击下旋发球。

HLC负责在每次来球事件中选择应执行的LLC。HLC没有固定的控制频率,而是在对手击球时触发动作。在HLC中,有六个组件组合起来选择LLC:(1)风格:这是一个训练选择打法风格的策略,比如正手或反手,基于来球情况;(2)旋转分类器:该分类器提供关于来球旋转的信息,识别上旋或下旋;(3)LLC技能描述符:这些是代理自身能力的模型。它们为每个LLC提供性能元数据,比如在特定来球情况下的预估回球率、击球速度和落地点;(4)关于对手和机器人的比赛统计数据;(5)策略:这些以(1)、(3)和(4)为输入,输出LLCs的候选名单;(6)LLC偏好(H值):这些估计每个LLC在当前玩家下的表现,并在每次击球后更新。HLC结合(3)、(5)和(6)来最终选择LLC。HLC内的整个控制流程在20毫秒内完成。

本文选择训练多个模块化的LLCs而不是单一的整体LLC,原因有多方面:避免灾难性遗忘——一旦学会了一个好的技能,它就不会被遗忘,同时还能作为进一步技能学习的初始化点。可扩展性——通过添加新的LLC可以轻松地加入新技能。评估效率——这反过来加快了实验速度。一旦低层技能在现实世界中经过测试,其能力就被充分了解,不必重新测试。相比之下,每次模型权重变化时,整体学习系统需要在所有预期能力上进行测试。快速推理——每个LLC在CPU上的推理耗时为3毫秒。

C. LLC 训练

LLC和HLC风格的策略通过迭代训练进行,交替进行模拟训练和在真实世界中的zero-show部署,在此过程中人类对手与机器人进行对抗。任务中固有的人机交互性促使本文将所有训练完全在模拟中进行。在真实世界中进行人类参与的复杂技能微调过于耗时且不可行,尤其是因为之前的研究[8]显示,与单个人类合作训练一个策略需要6小时的真实世界微调。这导致本文付出了大量努力来缩小模拟与现实之间的差距。

LLC旨在提供一套技能库,以便本文的HLC可以在其策略中部署这些技能。本文对LLC的训练方法可以总结为三个步骤:

  1. 训练两个通用基础策略,每个主要的打法风格(正手、反手)各一个,并将其添加到LLC集合中。

  2. 通过添加奖励函数组件和/或调整训练数据混合来使策略专门化,以便从现有的LLC中初始化一个新的策略进行微调。通常,这个新的策略是从通用基础策略之一开始的,但也可以是LLC集合中的任何策略。

  3. 评估新策略并判断其是否表现出期望的特性。例如,如果一个策略被训练来瞄准桌上的特定位置,则计算球落点与目标之间的平均误差。如果成功,就将该策略添加到LLC集合中。

训练算法 所有策略均在模拟中使用黑箱梯度感知(Blackbox Gradient Sensing,BGS)进行训练,这是一种进化策略(Evolutionary Strategies,ES)算法,应用于前文中描述的任务。初始球状态的训练任务分布是从一个真实世界数据集中采样的,该数据集是通过多轮策略训练和真实世界评估迭代收集的。有关创建此数据集的详细信息在接下来的内容中讨论。本文选择BGS是因为本文观察到它生成的策略动作相对平滑,而使用PPO或SAC等RL算法训练的策略动作明显较为急促。此外,BGS在模拟到现实的传输性能上表现出色。本文假设动作的平滑性以及可能较少过拟合于模拟器是BGS训练的策略表现出良好传输性能的主要原因。

网络架构 每个策略是一个扩张门控卷积神经网络(CNN),遵循[23]中的架构,具有10,000个参数,并可选配有一个2,800个参数的FiLM适配层,以帮助模拟到现实的转移。CNN包含1D卷积,沿时间步长进行卷积。[23]发现这加速了学习并导致输出更平滑。观察空间是 ,包括8个连续时间步长的球位置和速度(6),机器人关节位置(8),以及一种一热编码的风格:正手或反手(2)。风格组件是早期实验的产物,可能可以在不影响性能的情况下移除。所有策略输出维度为 的动作,代表以50Hz的频率的关节速度。8个时间步长代表0.14秒的历史,这在经验上被认为足以平滑轨迹中的噪声并为当前状态提供上下文。

训练通用基础策略 为了训练特定风格(正手、反手),数据集中每个球状态都根据球轨迹与机器人一侧桌子后方的交点标注为正手、反手或中心。中心定义为桌子中心±0.2米,正手为> 0.2,反手为< -0.2。正手策略仅在正手+中心球上训练,反手在反手+中心球上训练。这在中心区域产生了重叠,两种风格的策略都能够返回相同的球。策略还因在击球开始时朝参考姿势(正手或反手)移动而获得奖励。没有这样的奖励,本文观察到机器人有时会采用反手姿势来击打正手球,即使这样效率较低。这些基础策略很重要,不仅因为它们提供了一个能够返回广泛球类的强大起始策略,还因为它们在特定风格中锚定了比赛以便高效返回。

训练专家 本文根据乒乓球教练的建议和一般比赛直觉,尝试训练不同类型的技能,包括针对特定回球位置、最大化回球速度,以及专门应对上旋或下旋发球、快速球和高球。本文发现不需要专门训练处理高球的专家,并且由于数据和硬件限制,无法训练处理快速球的专家。因此,本文专注于开发发球、定位和快速击球的专家,除了通用策略之外。

确定技能策略的总集合 最终系统包含17个低级控制器(LLC)。其中4个专门用于回发球,13个用于对打。11个使用正手风格,6个使用反手风格。重要的是,每个策略都有相同的初始机器人姿势,这使得LLC选择的顺序安排变得简单,因为所有LLC的初始机器人姿势都在分布范围内。训练谱系以及每个LLC的简要描述如下图3所示。本文持续训练LLC,直到覆盖了目标技能集——一致的通用策略、定位、快速击球、上旋和下旋发球。除此之外,拥有多样化的比赛风格并为高级控制器(HLC)提供选项是有利的。演化策略(ES)训练意味着使用相同目标训练的策略可以表现出不同的行为,并且由于模块化架构,包含额外的LLC几乎没有缺点。因此,如果本文有一个强大的LLC,本文会将其包括在内,即使已经有一个LLC涵盖了该特定技能。

D. 高级控制器 (HLC)

高层控制器(HLC)负责做出战略决策,例如:球应该回到哪里、击球速度多快、以及采取多大的风险。决策过程的概述可以在下面算法1和下图4中找到。目前,HLC只能执行简单的策略,作为整个系统的初步概念验证。然而,选择策略的子组件可以很容易地替换为更具表现力的实现,甚至可以包括一个完全学习的模型。接下来本文详细介绍HLC的组成部分以及它们如何结合起来产生一个动作。

  1. 事件驱动的决策:HLC的动作由对手击球(即代理外部的事件)触发。在对手击球后的一个时间步,HLC做出一个决定,该决定适用于直到对手再次击球为止。在HLC决定该球的策略后,机器人才开始移动。等待一个时间步为策略提供了足够的信息来做出决策。本文也尝试过零和三个时间步,但三个时间步没有给机器人足够的时间来对更快的球做出反应,而零时间步则不能准确估计球速。决策只做一次,因为在挥拍过程中切换低层控制器(LLCs)导致策略进入了训练分布之外的状态(即机器人手臂不在预期的位置,因为之前的LLC将其移动到了新的位置),从而表现不佳。

  2. 风格策略,应该使用正手或反手风格来回击球。一个简单的启发式方法是将球台简单地分成两半,并根据球落在哪一半来选择风格。然而,这种方法忽略了许多战略上的权衡,例如正手击球更容易被对手扣杀,以及靠近中心的球具有不明确的性质。此外,现实世界中的噪声和本文无法完全捕捉旋转的能力可能导致本文的物理估计不准确。

通过学习风格策略,高级控制器(HLC)可以理解个别低级控制器(LLC)的优势,并补偿系统性的不准确性,从而做出更好的整体战略决策。风格策略的架构与LLC相似,但只有4,500个参数,具有 的观察空间。本文将LLC的 观察展平,并堆叠最新的8个观察来形成观察。这种观察空间是先前HLC迭代需要更长历史的产物。对于当前每个球只做一次早期决策的实现而言,更小的历史记录是更可取的。动作空间是 ,表示在正手和反手之间进行单一热编码的选择。

为了训练风格策略,本文首先选择了一个通用的正手和反手LLC,并冻结了它们的权重。然后,本文选择了所有可用的球状态(包括反射),并训练风格策略以最大化预期的球落点率。尽管本文用回合球状态训练了风格策略,但本文发现它能泛化到发球状态。因此,本文在比赛的发球和回合阶段使用了单一策略。

  1. 旋转分类器:旋转分类器是一个二元分类器,用于确定来球是被人类以上旋还是下旋击打的。这对于选择合适的服务低级控制器(LLC)至关重要,因为与回合中的击球不同,本文发现很难有一个通用的策略来处理上旋和下旋的发球。为了训练该模型,本文从发球数据集中构建了一个球拍和球状态的数据集。具体来说,本文记录了球拍接触球之前的6个时间戳的球和球拍状态的历史。观察空间为 ,策略是一个两层的多层感知器(MLP),输出的是来球是上旋或下旋的概率。

在推理过程中,为了提高对下旋(这两种旋转类型中较不常见的)预测的精确度,本文要求分类器在至少连续5次查询中有4次预测为下旋,才能将其总体视为下旋预测。

  1. LLC 技能描述符:在互动性体育运动中表现出色,了解自身能力至关重要。这促使本文开发了 LLC 技能描述符,为高级控制器(HLC)提供每个 LLC 在给定来球情况下的估计性能的详细指标。它们是代理对自身能力的模型,与对手模型和当前比赛玩法一起,构成了所有战略决策的基础。

为了创建这些描述符,本文在模拟环境中对每个 LLC 进行评估,覆盖所有 28k 的球状态,并平均重复十次,记录以下策略元数据:

  • 初始球位置和速度。
  • 球拍后中位数击球速度(击球速度)。
  • 球在对方场地上的落地点和标准差。
  • 球落地率(落地点率)。

这些元数据用于构建查找表(本文使用了 KD 树),其中键代表初始球位置和速度。对于比赛中的任意球,可以查询该表以获取关于每个 LLC 可能性能的信息,通过平均它过去见过的相似球的性能来进行选择。尽管本文观察到每个 LLC 的高zero-show传输率,仍然存在模拟到现实的差距。现实世界中的击球率很高,但球返回率虽然不错,却低于本文在模拟中通常观察到的 >80% 的返回率。一种常见的失败模式是 LLC 将球击到桌子的边缘之外。这种模拟到现实的差距意味着仅使用模拟数据构建技能描述符可能会导致错误。

为了解决这个问题,本文使用现实世界数据更新了每个 LLC 的技能描述符。四位研究人员与机器人进行对抗,HLC 设置为随机选择一个 LLC,以便大致均等地采样它们。这为每个 LLC 产生了 91 到 257 次现实世界的球抛出。对于每个 LLC 和每个收集的球,更新了相关 LLC 特定树中的 25 个最近邻,假设现实世界数据更准确地反映了预期性能,将模拟指标和现实世界指标对单个球抛出的权重设为相等。

  1. 策略和 LLC 候选名单:每次 HLC 执行时,使用五个手动编码的启发式方法生成一个最有前景的 LLC 候选名单(每个启发式方法一个),这些方法基于风格策略的输出以及 HLC 收集的关于对手的信息,包括他们总的回球能力以及正手、反手和中路回球的能力。这些对手信息在与同一对手的比赛之间会被保留。并不是所有的启发式方法都使用所有可用的信息。

本文使用的启发式方法如下:

  • 随机选择:如果某个 LLC 的落点率超过 80%,则随机选择该 LLC。
  • 命中速度优先:选择命中速度最快的前 个 LLC,前提是它们的落点率位于前
  • 落点距离优先:选择从初始球状态起落点最远的前 个 LLC,前提是它们的落点率位于前
  • 利用对手的弱侧(反手或正手):选择一个针对对手较弱侧的 LLC。
  • 考虑对手的整体技能:对于强大的对手,本文假设他们可以从自己场地的任何位置击球。如果对手的命中率超过 75%,本文选择给定球状态下最远的落点,假设这会迫使对手更努力地回球。否则,选择落点率最高的 LLC。

从候选名单中,本文通过加权采样(以使机器人更不易预测)选择用于回球的 LLC,如下所述。

  1. LLC 偏好(H 值)及选择 LLC:

竞技体育的另一个关键方面是了解对手的能力并能够做出相应的调整。这促使本文在线学习每个 LLC 的偏好,这不仅有助于弥合模拟与现实之间的差距,还提供了一个简单的人类对手模型。

本文为每个 LLC 学习了一个数值偏好, ,基于 LLC 的在线表现。代理更倾向于选择偏好值较高的 LLC。然而,偏好本身与奖励无关。只有 LLC 之间的相对偏好才重要。本文使用了一个简单的梯度赌博算法 [10] 来学习这些偏好,算法的伪代码在下面算法2中给出。

对于给定的球,每个入选的 LLC 都与一个离线回报率相关联。本文结合离线回报率和在线偏好(H 值)来选择一个 LLC。本文发现,将学习到的 H 值与技能描述符表中的信息结合起来在提高性能方面发挥了重要作用。这些 H 值具有两个主要目的:(1) 在线模拟到现实的校正;尽管通过离线更新技能描述符表做出了努力,但模拟到现实的差距依然存在,可能是因为用于更新表的真实世界球样本较少且由少数玩家生成。H 值允许策略迅速从表现不佳的 LLC 切换到更稳定的 LLC。(2) 学习特定玩家的强项和弱项;如果当前对手能够轻松发送一个 LLC 难以回击的球,HLC 可以将权重转移到另一个对手不易利用的 LLC 上。每次选择一个 LLC 时,使用二进制球落地信号作为奖励函数更新 H 值。对于每个新对手,这些值初始化为一组已知的基线偏好,以确保每个人都与相同的初始代理对战。这些偏好在同一对手的比赛中更新并持续存在。

E. 实现zero-shot模拟到现实的技术

在模拟机器人乒乓球中有两个核心挑战。首先是准确地建模机器人、球拍和乒乓球的动力学。需要高保真度的原因是,先进的乒乓球技术涉及操控球的角速度(即旋转),而由于球的大小和重量,空气摩擦和球拍材料在动力学中扮演的角色比在典型的机器人任务中要大得多。其次是准确地建模任务分布,即真实世界中来球轨迹的初始状态分布。

与之前的工作[8]相比,本节介绍的增强模拟组件实现了高度的zero-shot迁移,消除了对低级策略进行真实世界微调的需求。

  1. 球和机器人的动力学建模:本文通过引入MuJoCo物理引擎,利用其先进的固体流体动力学进行球轨迹模拟,改进模型和系统识别,并改善球拍橡胶的表现,来增强[9]和[8]中描述的模拟环境。

本文的模拟使用了集成速度致动器,这是一种具有激活状态的状态致动器,结合了积分器和位置反馈机制。激活状态对应于位置致动器的设定点,控制信号表示该设定点的速度。对每个致动器-关节对进行了系统识别,以确定参数如位置增益(N/rad)、致动器阻尼(N/rad/s)、摩擦损失、关节阻尼(Nm/(rad/s))、力限制(Nm)和转子惯量(kg m )。本文的系统识别方法与[25]中介绍的方法一致。

本文利用MuJoCo的基于椭球的无状态流体模型来模拟球的轨迹。本文测量了钝体阻力系数,并使用了默认的细长阻力系数,同时将角阻力系数设为零。库塔升力系数和马格努斯升力系数保持其默认值。

此外,乒乓球拍的橡胶被明确建模为使用两个正交的被动关节,代表一个弹簧阻尼系统,以近似橡胶表面。球与橡胶的接触求解器参数(柔软度、滑动、摩擦)是通过经验确定的,而关节的刚度、阻尼和电枢是通过参数扫描优化模拟到现实的传输来建立的。同样,球与桌面的接触求解器参数也进行了测量。







请到「今天看啥」查看全文