本文主要是介绍DeepMind 机器人学习打乒乓球,朝着「专业运动员水平的速度和性能」发展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这几天全球各界最火热的话题非奥运会莫属,而其中乒乓球比赛更是引起了互联网的讨论热潮,无论是欢呼也好、争议也罢,在现实世界人类的乒乓球大赛风生水起的同时,AI已经偷偷在乒乓球上“出师”了——
——DeepMind近日发布一项新工作,展示了第一个能够在乒乓球竞技比赛中达到业余人类选手的机器人,这一工作的成功标志着机器人任务朝着「实现人类水平的速度和性能」这一目标迈出了一步。
乒乓球是一项对速度、精确度和策略都有极高要求的体育项目,人类运动员需要经过多年的训练才能精通。而本研究通过分层和模块化策略架构、迭代定义任务分布、模拟到模拟适配层、域随机化、实时适应未知对手和硬件部署等技巧,在多次与人类进行竞赛训练后,证明了该机器人在模拟复杂人类技能和实时决策方面的潜力。
本文的主要贡献为:
1)分层和模块化策略:研究人员设计了一个由多个低层次技能策略组成的系统,这些策略包括不同的击球方式,如正手、反手、发球等。这些技能策略是模块化的,可以独立训练和优化。
2)零样本模拟到现实(Sim-to-Real):机器人直接从模拟环境中学习,然后无需在真实世界中进行微调即可应用所学技能。这通过迭代的方式实现,即在模拟中训练,然后在真实世界中测试,并将测试结果反馈到模拟训练中。
3)实时适应对手:机器人能够实时分析对手的打球风格和技能水平,并根据这些信息调整自己的策略,以更好地应对不同的对手。
——分层和模块化策略——
详细来讲,分层和模块化策略架构是通过构建一个具有层次结构的控制架构来实现的,这个架构包含两个主要部分:低层次技能策略(Low Level Controllers, LLCs)和高层次控制器(High Level Controller, HLC)。其具体实现方式为:
▲图|LLC 训练库©️【深蓝AI】编译
A」低层次技能策略(LLCs):
LLCs是针对特定乒乓球技能(如正手击球、反手击球、发球等)的训练策略。每个LLC专注于一项特定的技能,并被训练以产生关节速度命令。例如,一个LLC可能专门用于以正手风格击球并打向球场的对角线,而另一个LLC可能专注于保守地使用反手击球。这些技能策略是独立训练的,并且可以针对不同的比赛情况和对手进行优化。
B」高层次控制器(HLC):
●HLC的作用是在选择时刻决定使用哪个LLC。它不是以固定频率控制,而是在对手每次击球后触发,根据当前的比赛统计数据、技能描述符和对手的能力来选择最佳技能。
●HLC内部有多个组件,包括风格选择策略、旋转分类器、技能描述符、比赛统计、策略和LLC偏好(H值)等,这些组件结合起来产生最终的LLC选择。
C」技能描述符:
为了帮助HLC做出决策,每个LLC都有一个技能描述符,这些描述符提供了关于LLC在特定来球情况下的性能指标,如预计的回球率、击球速度和落点位置。
——零样本模拟到现实——
此外,本文所实现的零样本模拟到现实的技术,包括一种迭代方法来定义基于现实世界的任务分布,并定义自动课程,具体来说:
▲图|模拟中的样本训练与零样本迁移到硬件的过程并排显示©️【深蓝AI】编译
A」模拟训练(Simulation Training):机器人首先在模拟环境中进行训练。这个环境能够模拟乒乓球的运动和机器人的行动,但是是在虚拟空间中进行。
B」模拟到现实(Sim-to-Real Transfer):研究人员采用了一系列的技术来减少模拟环境和现实世界之间的差异,这被称为“sim-to-real gap”。这些技术包括系统识别(system identification),动力学随机化(dynamics randomization),以及模拟延迟和重置策略。
C」适配层(Adapter Layers):为了进一步缩小sim-to-real gap,研究人员开发了适配层,如FiLM(Feature-wise Linear Modulation)层,这些层能够学习如何将模拟中的行为调整为适合现实世界的行为。
D」迭代真实世界数据收集(Iterative Real-World Data Collection):机器人在现实世界中与人类玩家进行比赛,收集关于其性能和对手行为的数据。这些数据被用来进一步训练和改进模拟环境中的策略。
E」自动课程设计(Automatic Curriculum Design):通过迭代的训练和评估周期,机器人的技能库不断扩展和改进,自动适应真实世界的任务分布。
通过这些步骤,机器人能够在没有在现实世界中接受大量训练的情况下,展示出与人类玩家竞技的能力。
——实时适应未知对手——
▲图|分组比赛的实验对比数据©️【深蓝AI】编译
对于未知对手的实时适应,研究者们通过29场机器人与人类之间的比赛评估了策略性能,其中机器人赢得了45%(13/29)。所有参赛者都是未见过的玩家,他们的技能水平从初学者到锦标赛水平不等。虽然机器人在与最先进玩家的所有比赛中都“惨败”,但它赢得了与初学者的100%比赛和与中级玩家的55%比赛,充分展示了其拥有的乒乓球业余选手技能。
机器人在比赛中实时更新其对不同低级技能策略(LLCs)的偏好,这些偏好是基于当前比赛统计数据和对手的行为模式;
机器人通过实时追踪比赛统计数据,来评估自身和对手的强项和弱项。这些数据这包括击球速度、落点、旋转等信息;
在比赛中,机器人系统还会使用一些预定义的启发式策略来从技能库中快速筛选出可能有效的技能。机器人通过与不同技能水平的人类玩家比赛,学习并改进其决策过程,从而提高对各种对手的适应性和鲁棒性。
——讨论——
总的来说,该项工作展示了在复杂物理任务中,机器人能够通过学习达到与人类竞争者相媲美的水平;这项研究不仅在机器人领域有重要意义,其方法和技术也可以应用于其他需要快速反应和策略决策的领域,比如康复医疗、教育等领域。
当然,作者在论文中也指出了一些局限性,例如由于系统延迟、数据不足或重置动作之间的时间限制,机器人在反应极快的球时存在困难;机器人无法处理高于某个阈值(例如大约6英尺或更高)的球,因为这超出了摄像头的视野范围;且由于内置的碰撞避免协议,机器人在处理非常低的球时存在问题,这些协议虽然对保护机器人的拍子至关重要,但也限制了机器人处理靠近桌面的球的能力;景观机器人在一定程度上改变了球的落点,但其可预测性仍有改进空间;在泛化能力方面,机器人的表现依旧有限。
这篇关于DeepMind 机器人学习打乒乓球,朝着「专业运动员水平的速度和性能」发展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!