方法介绍
该智能体由一个低级技能库和一个高级控制器组成。低级技能库专注于乒乓球的某个特定方面,例如正手上旋球、反手瞄准或正手发球。除了包含训练策略,该研究还在线下和线上收集和存储有关每个低级技能的优势、劣势和局限性的信息。而负责协调低级技能的高级控制器会根据当前游戏统计数据、技能描述选择最佳技能。
此外,该研究还收集了少量的人类和人类对打的比赛数据,作为初始任务条件的种子,数据集包括位置、速度和旋转的信息。然后使用强化学习在模拟环境中训练智能体,并采用一些现有技术,将策略无缝部署到真实硬件中。
该智能体与人类一起对打以生成更多训练数据,随着机器人的持续学习,游戏标准变得越来越复杂,以此让智能体学习越来越复杂的动作。这种混合的"模拟-现实"循环创建了一个自动教学,使机器人的技能随着时间的推移不断提高。
分层控制
分层控制主要包含以下部分:
- 乒乓球打法:高级控制器(HLC,high-level controller)首先决定使用哪种打法(正手还是反手);
- 调整:根据与对手比赛中的统计数据,在线维护每个HLC的偏好(H值);
- 选择最有效的技能:HLC根据调整后的H值对入围的LLC进行抽样;
- 更新:H值和对手统计数据会持续更新,直至比赛结束。
结果
研究者将该智能体与29名不同水平的乒乓选手进行了对比,选手包括初学者、中级、高级和高级+技能。人类选手按照标准乒乓球规则与机器人进行了三场比赛,但由于机器人无法发球,因此规则稍作修改。
面对所有对手,机器人赢得了45%的比赛(match)和46%的单局胜利(game)。按照技能水平细分,机器人赢得了与初学者的所有比赛,输掉了与高级和高级+选手的所有比赛,赢得了55%与中级选手的比赛。这表明该智能体在乒乓球回合中达到了中级人类选手的水平。
机器人打不过高级玩家的原因在于物理和技术的限制,包括反应速度,相机感应能力,旋转处理等,这是很难在模拟环境中准确建模的。
与机器人对打,也很吸引人
研究参与者表示,他们非常享受与机器人一起对打,并在"有趣"和"吸引人"方面给予了机器人很高的评价。他们也一致表示"非常愿意"再次与机器人对打。在自由时间里,他们平均在5分钟的时间里与机器人玩了4分06秒。
机器人不擅长下旋球
技能最好的参与者提到,机器人不擅长处理下旋。为了测试这一观察结果,研究人员根据球的旋转绘制了机器人的着陆率,根据结果可以看到,机器人在面对更多的下旋球时,着陆率大幅下降。这一缺陷部分是由于机器人在处理低球时,为了避免与桌子碰撞导致的,其次是实时确定球的旋转确实很难。