2022-10-20 17:57

为什么谷歌会教机器人打乒乓球

ping pong paddle and ball

昨天,谷歌研究公司公布了他们正在进行的两个新项目,一个乒乓球机器人。谷歌的机器人团队教会了一个机器人手臂与他人进行300多次对打,并以“业余人类”的精确度回击。考虑到有些人乒乓球打得很差,这听起来可能没那么令人印象深刻,但同样的技术可以用来训练机器人执行其他“动态的、高加速度的任务”,这些任务需要人机密切互动。

对于机器人来说,学习乒乓球是一项有趣的任务,因为有两个互补的特性:它需要在固定和可预测的环境中进行的结构化比赛中快速和精确的移动。机器人赖以做决定的学习算法必须努力学习才能变得更好,但乒乓球桌的限制限制了它必须与世界上的多少东西竞争。打乒乓球是一项需要双方参与的任务:机器人可以与另一个机器人(或模拟机器人)进行比赛,也可以与需要训练的真人进行比赛。所有这些都使它成为探索人机交互和强化学习技术(机器人从行动中学习)的一个很好的设置。

谷歌的工程师用同一个机器人设计了两个独立的项目。迭代- sim2real将于今年晚些时候在CoRL上展示,而GoalsEye将于下周在IROS上展示。迭代- sim2real是一个训练机器人与人类进行300杆合作对打的程序,而GoalsEye则允许它以类似业余人类的精度将发球返回到桌子上的特定目标点。

迭代- sim2real试图克服教机器模仿人类行为的“先有鸡还是先有蛋的问题”。研究团队解释说,如果你一开始就没有一个好的机器人政策(一套针对机器人的规则),那么你就无法收集人们如何与机器人互动的高质量数据。但是,如果没有人类行为模型作为开始,你就无法首先提出机器人政策。另一种解决方案是专门在现实世界中训练机器人。然而,这一过程“通常很慢,成本高昂,并带来与安全相关的挑战,当涉及到人员时,这些挑战会进一步加剧。”换句话说,这需要很长时间,而且人们可能会被机械臂挥舞乒乓球拍弄伤。

迭代- sim2real通过使用一个非常简单的人类行为模型作为起点,然后用模拟和现实世界中的人类来训练机器人,从而避开了这个问题。每次迭代后,都对人类行为模型和机器人策略进行细化。用迭代- sim2real训练的机器人使用了五名人类受试者,其表现优于另一种名为模拟到真实加微调的方法。它在五枪以内结束的反弹明显更少,平均反弹时长增加了9%。

另一方面,GoalsEye开始着手解决一组不同的训练问题,教会机器人将球返回到任意位置,如“左后角”或“刚好越过球网右侧”。模仿学习——机器人根据人类的表现数据制定游戏策略——在高速环境下很难进行。影响人类如何打乒乓球的变量太多了,以至于追踪机器人学习所需的一切几乎是不可能的。强化学习在这些情况下通常是好的,但可能是缓慢和抽样低效的-特别是在开始。(换句话说,需要大量的重复才能形成一个相当有限的游戏策略。)

GoalsEye试图通过一个初始的“小型、弱结构、无目标的数据集”来克服这两组问题,该数据集使机器人能够学习在击打乒乓球时发生的基本情况,然后允许它进行自我练习,教它击球精确到特定的点。在经过最初的2480次演示训练后,该机器人只有9%的时间能将球返回到30厘米(约1英尺)以内。但是在自我练习了大约13500次之后,准确率达到了43%。

虽然教机器人玩游戏看起来微不足道,但研究团队认为,用乒乓球解决这类训练问题具有潜在的现实应用价值。迭代- sim2real允许机器人从与人类的互动中学习,而GoalsEye展示了机器人如何在“精确、动态的设置”中从非结构化数据和自我练习中学习。最坏的情况是:如果谷歌的大目标没有实现,至少他们可以制造一个机器人乒乓球教练。