巴黎奥运会正在如火如荼地进行中,乒乓球项目备受关注。与此同时,机器人打乒乓球也取得了新突破。
刚刚,DeepMind 提出了第一个在竞技乒乓球比赛中达到人类业余选手水平的学习型机器人智能体。
论文地址:https://arxiv.org/pdf/2408.03906
DeepMind 这个机器人打乒乓球什么水平呢?大概和人类业余选手不相上下:
正手反手都会:
对手采用多种打法,该机器人也能招架得住:
接不同旋转的发球:
不过,比赛激烈程度似乎不如公园老大爷对战。
对机器人来说,乒乓球运动需要掌握复杂的低水平技能和策略性玩法,需要长期训练。DeepMind 认为战略上次优但可以熟练地执行低水平技能可能是更好的选择。这使乒乓球与国际象棋、围棋等纯粹的战略游戏区分开来。
因此,乒乓球是提升机器人能力的一个有价值的基准,包括高速运动、实时精确和战略决策、系统设计以及与人类对手直接竞争。
对于这一点,Google DeepMind 首席科学家称赞道:「乒乓球机器人将有助于我们解决高速控制和感知问题。」
该研究进行了 29 场机器人与人类的乒乓球比赛,其中机器人获胜 45% (13/29)。所有人类选手都是机器人未见过的玩家,从初学者到锦标赛选手能力不等。
虽然该机器人输掉了所有与最高级别玩家的比赛,但它赢得了 100% 的与初学者的比赛,在与中级选手的对战中赢得了 55% 的比赛,展现出人类业余选手的水平。
总的来说,该研究的贡献包括:
提出一个分层和模块化的策略架构,其中包括:
低级控制器及其详细的技能描述器,这些描述器对智能体的能力进行建模并有助于弥合模拟与真实的差距;
选择低级技能的高级控制器。
实现零样本模拟到真实的技术,包括定义基于现实世界的任务分布的迭代方法,并定义自动课程(automatic curriculum)。
实时适应未见过的对手。
方法介绍
该智能体由一个低级技能库和一个高级控制器组成。低级技能库专注于乒乓球的某个特定方面,例如正手上旋球、反手瞄准或正手发球。除了包含训练策略,该研究还在线下和线上收集和存储有关每个低级技能的优势、劣势和局限性的信息。而负责协调低级技能的高级控制器会根据当前游戏统计数据、技能描述选择最佳技能。
此外,该研究还收集了少量的人类和人类对打的比赛数据,作为初始任务条件的种子,数据集包括位置、速度和旋转的信息。然后使用强化学习在模拟环境中训练智能体, 并采用一些现有技术,将策略无缝部署到真实硬件中。
该智能体与人类一起对打以生成更多训练数据,随着机器人的持续学习,游戏标准变得越来越复杂,以此让智能体学习越来越复杂的动作。这种混合的「模拟 - 现实」循环创建了一个自动教学,使机器人的技能随着时间的推移不断提高。
分层控制
分层控制主要包含以下部分:
乒乓球打法:高级控制器(HLC,high-level controller)首先决定使用哪种打法(正手还是反手);
调整:根据与对手比赛中的统计数据,在线维护每个 HLC 的偏好(H 值);
选择最有效的技能:HLC 根据调整后的 H 值对入围的 LLC 进行抽样;
更新:H 值和对手统计数据会持续更新,直至比赛结束。
结果
研究者将该智能体与 29 名不同水平的乒乓选手进行了对比,选手包括初学者、中级、高级和高级 + 技能。人类选手按照标准乒乓球规则与机器人进行了三场比赛,但由于机器人无法发球,因此规则稍作修改。
面对所有对手,机器人赢得了 45% 的比赛(match)和 46% 的单局胜利(game)。按照技能水平细分,机器人赢得了与初学者的所有比赛,输掉了与高级和高级 + 选手的所有比赛,赢得了 55% 与中级选手的比赛。这表明该智能体在乒乓球回合中达到了中级人类选手的水平。
机器人打不过高级玩家的原因在于物理和技术的限制,包括反应速度,相机感应能力,旋转处理等,这是很难在模拟环境中准确建模的。
与机器人对打,也很吸引人
研究参与者表示,他们非常享受与机器人一起对打,并在「有趣」和「吸引人」方面给予了机器人很高的评价。他们也一致表示「非常愿意」再次与机器人对打。在自由时间里,他们平均在 5 分钟的时间里与机器人玩了 4 分 06 秒。
机器人不擅长下旋球
技能最好的参与者提到,机器人不擅长处理下旋。为了测试这一观察结果,研究人员根据球的旋转绘制了机器人的着陆率,根据结果可以看到,机器人在面对更多的下旋球时,着陆率大幅下降。这一缺陷部分是由于机器人在处理低球时,为了避免与桌子碰撞导致的,其次是实时确定球的旋转确实很难。
参考链接:
https://sites.google.com/view/competitive-robot-table-tennis/home?utm_source&utm_medium&utm_campaign&utm_content&pli=1
本文来自微信公众号“机器之心”,36氪经授权发布。