Google X华人博士发布机器人模拟器SimGAN,ICLR2021已发表(谷歌问答机器人)

来源:谷歌人工智能博客编辑:LRS

【新智元导读】深度学习都能模拟现实了?通过观察机器人的运行轨迹,连摩擦系数都能学出来!Google X的一位斯坦福华人博士最近在ICLR2021上发表了一篇文章,教你动态模拟现实!


工科的学生一定离不开各种模拟器,模拟器能让各种工科用最少的人力快速做出样机。


在机器人技术领域,物理仿真为机器人提供了一个安全廉价的虚拟游乐场。机器人可以使用深度强化学习(DRL)和其他技术来获得物理技能。


但是,由于仿真中的手动导数物理与真实世界不完全匹配,所以在仿真中训练的控制策略在真实硬件上测试时可能会失败。这是一个叫做sim-to-real或者域适配的问题。


RL-cycleGAN和RetinaGAN已经解决了基于感知的任务(如抓取)的仿真与现实之间的差距,但由于机器人系统的动力学,仍然存在差距。


RL-cycleGAN和RetinaGAN在新智元之前推送的《Google X教你用模拟器训练机器人,准确率超过93%,ICRA2021已经发表》中介绍过。


这让我们不禁想,我们能不能从一些真实的机器人轨迹中学习到更精确的物理模拟器?如果是这样,这种改进的模拟器可以使用标准的DRL训练来改进机器人控制器,并使其在现实世界中取得成功。


基于这种想法,Google和X team在ICRA2021上联合发表了一篇论文《SimGAN:通过对抗性强化学习实现混合模拟器识别域适应》。本文提出将物理模拟器作为可学习的组成部分,DRL训练具有特殊的奖励功能,惩罚仿真中产生的轨迹(即机器人随时间的运动),少数轨迹之间的差异,收集真实的机器人运动轨迹。





这篇论文的作者一半以上是中国人。第一作者蒋一丰是斯坦福大学计算机科学专业的二年级博士生,在C. Karen Liu博士的指导下。


他获得了佐治亚理工学院的电子和计算机工程学士学位。在进入研究生院之前,他获得了上海交通大学的学士学位,并且是上海交通大学密歇根联合研究所的成员。他的研究兴趣是机器人应用的计算机动画和物理模拟,以及统计技术如何在这些领域发挥作用。此外,他还对数值优化、人类认知和运动学习感兴趣。





本文使用生成对抗网络(GANs)来提供这种奖励,并开发了一个混合模拟器,它结合了可学习的神经网络和解析物理方程,以平衡模型的表达能力和物理正确性。在机器人运动任务中,该方法优于包括域随机化在内的几个强基线。


可学习的混合模拟器传统的物理模拟器是一种用于求解微分方程并模拟虚拟世界中运动或交互对象的程序。


对于这项工作,需要建立不同的物理模型来代表不同的环境——如果机器人在床垫上行走,需要考虑床垫的变形(例如,与有限元分析一起)。


然而,由于机器人在现实世界中可能遇到的场景的多样性,这种特定环境的建模技术将是冗长的(甚至是不可能的),这就是为什么采用基于机器学习的方法是有用的。


虽然模拟器可以完全从数据中学习,但如果训练数据不包括大范围的情况,那么学习后的模拟器如果需要模拟未训练的情况,可能会违反物理规律(即偏离真实世界的动力学)。


因此,在如此有限的模拟器中训练的机器人在现实世界中更容易失败。


为了克服这种复杂性,构造了一种混合模拟器,它将可学习的神经网络和物理方程结合起来。


具体来说,研究人员使用一个可学习的仿真参数函数来代替通常手动定义的模拟器参数(如摩擦系数和恢复系数)和电机参数(如电机增益),因为接触和电机动力学的未建模细节是导致仿真差距的主要原因。


与传统模拟器将这些参数视为常数不同,在混合模拟器中,这些参数是与状态相关的,可以根据机器人的状态而改变。


例如,电机在更高的速度下会变得更弱。这些典型的未建模物理现象可以通过使用与状态相关的仿真参数函数来捕捉。


此外,虽然触点和电机参数通常难以识别,并且容易改变,但由于磨损,我们的混合模拟器可以从数据中自动学习它们。比如模拟器不再需要手动指定机器人脚的参数,而是从训练数据中学习这些参数。





混合模拟器的另一部分由物理方程组成,保证了模拟遵循能量守恒等物理学基本定律,使其更接近真实世界,从而缩小模拟与真实世界的差距。


在前面的床垫示例中,可学习的混合模拟器可以模拟床垫的接触力。因为学习到的接触参数是状态相关的,所以模拟器可以根据机器人脚相对于床垫的距离和速度来调整接触力,并模拟可变形表面的刚度和阻尼的影响。


因此,我们不需要为可变形曲面设计解析模型。


使用GAN模拟器成功学习上面讨论的模拟参数函数将导致混合模拟器,它可以产生类似于真实机器人的轨迹。


使这种学习成为可能的关键是定义轨迹之间相似性的度量。


GAN最初被设计为生成具有相同分布或风格的合成图像,但是只有少数真实图像可以用于生成与真实图像难以区分的合成轨迹。


谷歌问答

GAN有两个主要部分,一个是学习生成新实例的生成器,另一个是评估新实例与训练数据相似度的鉴别器。


在这种情况下,可学习的混合模拟器充当GAN生成器,GAN鉴别器提供相似性得分。





用真实世界中收集的数据拟合仿真模型的参数,这被称为系统辨识过程(SysID ),已经成为许多工程领域中的常见做法。


例如,可变形表面的刚度参数可以通过测量表面在不同压力下的位移来确定。这一过程通常是手动的和繁琐的,但是使用GANs可以更有效。例如,SysID经常需要一个手工制作的度量来衡量模拟轨迹和真实轨迹之间的差异。对于GANs,这种度量由鉴别器自动学习。此外,为了计算差异度量,传统SysID需要将每个模拟轨迹与使用相同控制策略生成的相应实际轨迹配对。


由于GAN鉴别器只取一个轨迹作为输入,计算真实世界中的初显概率,所以不需要这种一对一的配对。


使用强化学习模拟器和优化策略将所有的东西整合在一起,我们将模拟学习形式化为一个强化学习问题。神经网络从一些实际轨迹中学习与状态相关的接触和运动参数。神经网络被优化以最小化模拟轨迹和实际轨迹之间的误差。


需要注意的是,在很长一段时间内尽量减少这种误差是很重要的。能够准确预测未来的模拟将导致更好的控制策略。RL非常适合这一点,因为它随着时间的推移优化了累积奖励,而不仅仅是单步奖励。


在学习了混合模拟器并变得更加精确后,我们在仿真中再次使用RL来改进机器人的控制策略。





结果表明,SimGan优于许多sota模型基线,包括域随机化(DR)和目标域的直接细化(FT)。





仿真与现实的差距是阻碍机器人加强学习能力的关键瓶颈之一。


为了应对这一挑战,我们应该学习一种模拟器,它可以在只使用少量真实世界数据的情况下,更忠实地模拟真实世界的动态。改进后的控制策略可以成功地应用于该模拟器中。为了实现这个目标,我们在经典物理模拟器中加入可学习的组件,并使用对抗性强化学习语言来训练这个混合模拟器。


到目前为止,我们已经测试了它在体育任务中的应用,我们希望通过将其应用到其他机器人学习任务中来建立这个通用框架,例如导航和操作。


参考资料:

https://ai . Google blog . com/2021/06/learning-accurate-physics-simulator-via . html?m=1

https://cs.stanford.edu/~yifengj/


—结束—

欢迎~关注新智元,及时了解人工智能新动态~

您可以还会对下面的文章感兴趣

使用微信扫描二维码后

点击右上角发送给好友