OpenAI机器手学会单手解魔方,只用4分钟就还原了一个三阶魔方。. 给你一个魔方,只允许你用一只手,时不时有人找你麻烦,你能在4分钟内解决吗?我不能,不能用双手。 OpenAI的人形机器人手臂Dactyl就是这样做的。如今它转动魔方的视频被疯狂刷屏,网友纷纷表示:人工智能机器人新的里程碑诞生了!这是机器人技术在物理灵活性和机器学习软件方面的一次飞跃! 在视频中我们可以看到,虽然这只机械手的动作看起来有些笨拙,让人感觉魔方随时可能掉下来,但最终每一步动作都非常准确。 在视频的后半部分,研究人员加大了难度:用布遮盖,用工具干扰,机械手还在玩魔方销魂。 对于成年人来说,单手操作三阶魔方其实并不容易。一只机械手能取得这样的成就,着实令人佩服! 麻省理工学院著名机器人专家LeslieKaelbling教授表示,他从来没有想过它能做到这一点!密歇根大学机器操纵专家德米特里·贝伦森(DmitryBerenson)也对此表示肯定和赞扬。 OpenAI训练人形机械手解魔方的尝试,早在2017年5月就开始了。之所以对解魔方情有独钟,是因为研究人员认为,如果能够成功训练出这样的机械手完成复杂的操纵任务,可以为通用机器人打下基础。2017年7月,OpenAI在模拟环境中解开了魔方。但直到2018年7月,机器人仍只能解开一个魔方。现在,这个目标终于实现了,请看下面的视频,机器人在4分钟左右的时间里成功解开了一个三阶魔方。 这是机械手解魔方的完整过程,视频未经编辑单手解魔方对人类来说是一项具有挑战性的任务,孩子们需要数年时间才能掌握所需的灵巧度。机械手还不够完美,成功率只有60%。 下面详细介绍一下OpenAI机器人是如何解魔方的。 单手解魔方:OpenAI新算法可无限生成模拟环境 OpenAI使用强化学习和Kociemba算法训练神经网络模拟解魔方问题。我们专注于一个目前机器难以掌握的问题:感知和灵巧操控。因此,我们训练了一个神经网络来实现Kociemba算法生成的恢复所需的旋转和翻转。域随机化使仅在模拟中训练的网络可转移到真实机器人 任务中的最大挑战是在模拟中创建足够多样化的环境以捕捉真实世界的物理环境。对于像魔方和机械手这样的复杂物体,摩擦力、弹性和动力学等因素很难测量和建模,仅靠域随机化是不够的。 为了克服这个问题,我们开发了一种称为自动域随机化(ADR)的新方法,该算法能够在模拟中不断生成越来越困难的环境。 这样,我们就不用对现实世界做精确的建模,模拟中学习到的神经网络可以迁移到现实世界中。 ADR从一个单一的非随机环境开始,神经网络在该环境中学习解决魔方。随着神经网络性能的提高并达到性能阈值,域随机化的量也相应增加。这使得任务更加困难,因为神经网络现在必须学会泛化到更随机的环境。网络不断学习,直到再次超过性能阈值,然后进行更多随机化,然后重复该过程。ADR自适应魔方的大小随机化的参数之一就是魔方的大小(上图) ADR从固定大小的魔方开始,随着训练的进行逐渐增加随机化的范围。我们将相同的技术应用于所有其他参数,例如魔方的重量、机器人手指的摩擦力和手的视觉表面材料等。因此神经网络必须学会在所有这些情况下解决魔方条件越来越困难。自动与手动域随机化 域随机化需要我们手动指定随机化范围,这很困难,因为随机化太多会导致学习困难,但随机化太少会阻碍转移到真正的机器人。ADR通过随时间自动扩展随机范围来解决这个问题,无需人工干预。ADR消除了对领域知识的需求,使我们的方法更容易应用于新任务。与手动域随机化相比,ADR还使任务始终具有挑战性并且训练永不收敛。 我们将ADR与Rubik'sCubeFlip任务中的手动域随机化进行了比较,后者已经有了强大的基线。一开始,ADR在真实机器人上的成功率较低。但随着ADR增加熵(熵是环境复杂性的度量),性能最终会在没有手动调整的情况下使基线性能翻倍。 稳健性测试 使用ADR,我们可以在模拟环境中训练一个神经网络,然后用它来解决真实机器手上的魔方。这是因为ADR将网络暴露在无休止的随机模拟中。正是训练过程中的这种复杂性使得网络能够从模拟世界转移到现实世界,因为它必须学会快速识别和适应它所接触的任何物理世界。用机械手扰乱魔方 为了测试我们方法的局限性,我们在用一只手解魔方的同时进行了各种扰动。这不仅测试了我们的控制网络的鲁棒性,还测试了我们的视觉网络,我们在这里使用它来估计魔方的位置和方向。 我们发现我们使用ADR训练的系统对干扰具有惊人的鲁棒性,即使我们没有接受过这些干扰条件的训练:机器人手在所有干扰测试中成功地执行了大多数翻转和旋转,尽管性能不是最佳的。 元学习 我们认为元学习或学习学习是构建通用系统的重要先决条件,因为元学习使它们能够快速适应环境中不断变化的条件。ADR背后的假设是,记忆增强网络与充分随机化环境的结合会导致出现元学习,其中网络实施一种学习算法,允许自身快速调整其行为以适应其部署的环境. 为了系统地测试这一点,我们测量了神经网络在不同扰动(例如重置网络记忆、重置动力学或断开连接)下的成功时间。我们在模拟环境中进行这些实验,这使我们能够在受控环境中执行超过10,000次性能测试。 首先,随着神经网络成功完成更多的翻转,每次连续成功的时间随着神经网络学习适应而减少。当施加干扰时(上图中的垂直灰线),我们会看到成功时间的峰值。这是因为网络采用的策略在不断变化的环境中不起作用。然后网络重新学习新环境,我们再次看到成功时间减少到以前的基线。 下图是机械手在模拟环境中解魔方的可视化效果。 我们使用可解释性工具箱中的构建块、非负矩阵分解将这个高维向量压缩为6组,并为每个组分配独特的颜色。然后在每一步显示当前主导组的颜色。 2.为什么说转动魔方实现了机器人的飞跃? Dactyl并不是唯一能够真正解开魔方的机器人。那些专门解魔方的机器人,甚至解三阶甚至更高阶魔方的速度都比Dactyl快,那么为什么只有Dactyl评价这么高呢? OpenAI研究科学家和机器人技术负责人彼得·韦林德(PeterWelinder)认为,原因在于Dactyl并不是专门为解魔方而设计的!玩魔方只是演示,Dactyl最大的亮点在于“自学”! 目前,人工智能机器人之所以能够在特定场景下超越人类,是因为它是针对这一特定任务不断微调和优化的结果,被编程为尽可能高效地执行任务。但跳出机器人的“舒适区”后,可能连人类婴儿都不如。 人工智能和机器人行业一直希望实现这样的目标,即创造一种无需大量培训或特定编程即可学会处理现实世界中各种实际任务的机器人。是Dactyl让他们看到了曙光! Dactyl具有“自学习”的特性,这意味着它可以自动适应各种场景。OpenAI希望有一天,科幻电影中的经典机器人角色能够走出银幕,走进千家万户,为人类提供服务。 OpenAI团队认为,Dactyl成功解决魔方任务也证实了它可以在处理实际问题之前通过模拟训练学习新任务。
