在将随机因素添加到相对简单的模拟中之后,OpenAI的机器人学习了如何执行复杂的手持式操作

手持操作-这是“不需要人为努力并且对机器人来说极其困难的技能”列表中最重要的动作之一。 毫不犹豫地,我们能够适应性地控制手的手指,用拇指和手掌将其相对,考虑到摩擦力和重力,用一只手而不是另一只手来操纵对象-您今天可能至少多次使用此技巧(至少使用手机)。
人们需要多年的培训才能学习如何用手指可靠地工作,但是机器人没有那么多时间来学习。 如此复杂的任务仍需要通过实践培训和积累经验来解决,其任务是找到一种方法,而不是仅仅给机器人手臂一些可以被反复操纵的方法,直到它意识到可以更快,更有效地训练机器人。它起作用,什么不起作用; 可能需要一百年。
无需等待一百年,
OpenAI研究人员使用强化训练来训练
卷积中子网络,以控制影子机器人的五指手来操纵物体-只需50个小时。 他们设法通过模拟来做到这一点,这种技术被誉为“成功之路”,但是他们仔细地将随机因素引入其中,以使其更接近现实世界的可变性。 真正的Shadow手能够成功地对真实物体进行手持操作,而无需任何重新训练。
理想情况下,应该对所有机器人进行仿真训练,因为可以在不创建许多实际机器人的情况下对仿真进行缩放。 是否想在一秒钟内训练数百万小时的机器人? 如果您有足够的计算能力,则可以完成此操作。 但是,尝试在现实世界中提高它的质量,没有人知道确切的数字“ dofigillion”将是您所遇到的最少的问题。
在模拟中训练机器人的问题在于,无法准确模拟现实世界-准确模拟诸如摩擦,延展性以及多个对象的相互作用之类的小麻烦就更加困难。 因此,普遍认为模拟是美妙的,但是模拟的成功与现实世界中的成功之间存在巨大而可怕的差距,这在某种程度上降低了模拟的价值。 事实证明,同时可以很好地模拟(例如手持式操纵)的那些东西对于精确的模拟来说最困难的事实并不能改善这种情况,因为它们的物理复杂程度很高。
解决此问题的常用方法是尝试使模拟尽可能精确,并希望它与现实世界足够接近,以便您可以从中提取一些有用的行为。 相反,OpenAI并不是把准确性放在首位,而是将可变性放在首位,为它提供了中等适度的模拟,并进行了许多细微调整,因此所产生的行为足够可靠,可以在模拟之外使用。
随机化过程是使系统(称为Dactyl)能够有效地从仿真转移到现实世界的关键。 OpenAI清楚地知道,他们使用的模拟还不够复杂,无法模拟最重要的事物,从摩擦到实际机械臂指尖的磨损。 为了使机器人能够概括所学内容,OpenAI在模拟的所有可能方面都引入了随机变量,以尝试涵盖无法很好建模的世界的所有可变性。 这包括质量,对象的所有测量值,其表面和机器人手指的摩擦力,机器人手指的阻尼,电机的力,关节的限制,电机的游隙和噪声等等。 将较小的随机影响应用于对象,以便模拟处理无法建模的动力学。 而且这仅仅是操作本身的过程-在评估对象位置的RGB摄像机的工作中,还存在很多随机变量,但是,这些变量较容易观察。
行显示同一相机的图片。 列对应于具有随机变化的图像-所有这些都由神经网络同时馈送。OpenAI将此称为“环境随机化”,对于手持式操纵,他们“希望了解增加环境随机化的规模是否可以解决当今机器人技术无法解决的问题”。 因此,由于两个独立训练的系统(一个视觉系统,另一个视觉系统用于操纵)的结果,该系统视觉上识别了立方体的位置并将其旋转到不同的位置。
6144处理器和8个GPU在短短50个小时内获得了100年的模拟机器人经验,所有这些立方体旋转(并且该系统能够连续至少执行50次成功操作)成为可能。 系统可用的唯一反馈(无论是在模拟中还是在现实中)都是立方体和手指的位置,而系统在启动时并不确定如何保持或旋转立方体。 她必须独立处理所有这些问题-包括手指的旋转,多个手指的同时协调,重力的使用,力的协调。 该机器人发明了人们使用的相同技术,但是进行了一些细微(有趣)的修改:
为了清楚地捕获物体,机器人通常使用小指代替食指或中指。 这可能是由于阴影右手的存在,与食指,中指和无名指相比,它具有更大的自由度,这使其更具活动性。 在人类中,食指和中指通常更活动。 这意味着我们的系统能够独立发明可供人们使用的抓取技术,但是最好使其适应自己的局限性和可能性。
系统已经学会了不同类型的握把。 从左到右,从上到下:用指尖抓握,手掌抓握,三指抓握,四指,五指抓握和强力抓握。我们在人的手指和我们的机器人的工作中观察到了另一个有趣的相似之处。 根据此策略,手用两个手指握住一个对象,并绕该轴旋转。 事实证明,在幼儿中,这种运动仍然没有时间发展,因此他们通常使用
手指的近端或中
指骨旋转物体。 就像大多数成年人一样,只有到了生命的后期,他们才会转向指骨。 有趣的是,我们的机器人通常在需要旋转对象时依赖于指骨。
事实证明,该技术的优势在于,仍然可以在模拟中对机器人进行复杂的物理动作训练,然后立即使用现实中积累的技能,这确实是一项了不起的成就,因为在模拟中进行训练比在现实中要快得多。
我们联系了OpenAI技术团队成员Jonas Schneider,以了解有关该项目的更多信息。
社论 :为什么机器人技术中的手持式操作如此困难?
乔纳斯·施耐德(Jonas Schneider) :操纵发生在非常有限的空间中,并且机器人可以使用很多自由度。 成功的操纵策略需要在所有这些自由度上进行适当的协调,并且与常规的与对象的交互(例如简单捕获)相比,这减小了允许的错误大小。 在手持操作期间,会记录与对象的大量接触。 对这些联系人进行建模是一项艰巨的任务,容易出错。 执行过程中的错误必须在指针的工作过程中加以控制,这在基于预先计划动作的传统方法中会引起问题。 例如,当您的
线性反馈没有记录正在发生的事情的非线性动态时,可能会出现问题。
显然,随机变量是确保在仿真中获得的技能能够在现实中可靠地应用的关键。 您如何确定要随机化的参数,以及精确度如何?在校准过程中,我们粗略估计哪些参数可以变化,然后确定其中哪些对模拟重现最为重要。 然后,将这些参数的值设置为等于校准值,并在平均值区域添加随机变化。 变化的幅度取决于我们的置信度-例如,对象的大小变化不大,因为我们可以精确地测量它。
一些随机变化是基于经验观察的。 例如,我们观察到我们的机器人有时是如何掉落一个物体,降低画笔并没有时间举起它直到物体滑离它的。 我们发现由于底层控制器的问题,我们的动作执行有时可能会延迟几百毫秒。 当然,我们可以投入精力使控制器更加可靠,但是我们只是在每个控制器的响应时间上增加了随机性。 在我们看来,从更高的角度来看,这可能会成为未来机器人开发的有趣方法。 对于某些任务,开发非常精确的设备的成本可能会高得让人难以接受,而且我们已经展示了如何使用更高级的算法来纠正这些设备缺陷。
如果您不等待100年的模拟时间,例如1000年,您如何看待结果呢?对于特定任务的示例,这很难评估,因为我们从未测试过50匝以上。 尚不清楚确切的特征渐近曲线看起来如何,但是我们认为我们的项目已经完成,因为即使成功的一转也远远超出了当今最佳教学方法的能力。 实际上,我们选择了50转的数字,因为我们认为25转肯定可以证明问题已经解决,然后再添加25转,获得100%的利润。 如果您的任务是针对很长的动作序列和高可靠性进行优化,那么增加培训可能会有所帮助。 但是,正如我们所认为的那样,在某个时候,机器人将开始更加适应仿真,并且在现实世界中会变得更糟,然后您将不得不添加更多的随机化来使仿真复杂化,从而提高最终系统的可靠性。
您的结果可以概括得如何? 例如,您需要花费多少精力重复训练才能旋转较小的立方体,柔软的或光滑的立方体? 那不同的相机安排呢?顺便说一下,出于兴趣的考虑,我们
尝试操纵软立方体和较小的立方体,事实证明,与实心立方体的旋转相比,工作质量不会降低太多。 在模拟中,我们还试验了不同大小的立方体,并且效果也很好(尽管我们没有在真正的机器人上尝试过)。 在仿真中,我们还使用了立方体大小的随机变化。 我们并没有尝试这样做,但是我认为,只要在模拟中简单地增加多维数据集大小的随机变化散布,手就可以操纵不同大小的多维数据集。
对于摄像机,视觉模型是单独训练的,到目前为止,我们仅对摄像机的位置进行了很小的随机变化,因此随着摄像机位置的每次变化,我们都将再次开始训练。 我们的实习生之一,Xiao-Yu Fish Tan,正在使用相同的基本技术在较大的范围内随机改变相机的位置和方向,以使视觉模型完全独立于相机的位置。
模拟培训与使用一堆真实机器人的蛮力方法有何不同?有趣的是,我们的项目始于以下事实:我们对使用仿真来促进机器人技术的想法提出了质疑。 多年以来,我们一直在
观察机器人技术如何使用强化学习在模拟中取得令人印象深刻的结果。 但是,在与涉及经典机器人技术的研究人员交谈时,我们始终缺乏对此类方法在现实世界中可行的信心。 主要问题是,从物理角度看,仿真器并不完全准确(即使它们对人眼看起来也不错)。 增加了问题,并且更精确的仿真需要更多的计算能力。 因此,我们决定建立一个新标准,该标准要求在设备方面使用非常复杂的平台,而在该平台上,我们必须面对模拟的所有局限性。
至于“鲤鱼养殖场”方法,物理机器人训练的主要限制是所获得技能对较小任务的可扩展性。 可以通过安排所有内容来做到这一点,以便在自稳定环境中拥有许多没有不同状态的对象(例如,一篮子球)。 但是,当每次运行后系统都处于新状态时,以相同的方式完成组装任务将非常困难。 再一次,您不必设置整个系统,而不必一次设置整个系统,而是在机器人横扫而摔坏某物后使其保持运行。 在具有弹性计算能力的仿真中,所有这些操作都变得更加简单和容易。
结果,我们的工作支持了模拟训练的思想,因为即使在非常复杂的机器人的情况下,我们也已经展示了如何解决转移问题。 但是,这并没有否定训练真正的机器人的想法。 当使用可变形物体和流体时,要克服模拟的限制将非常困难。
您的系统最薄的地方在哪里?目前,这些是随机变化,是针对特定任务手动开发和优化的。 将来,可以通过添加另一层优化来尝试学习这些变化,这是我们今天手动进行的过程(“尝试一些随机化,看看它们是否有帮助”)。 您也可以走得更远,并在学习代理和对手之间使用游戏,试图阻碍(但不多)他的进步。 这种动态可能会导致出现一套非常可靠的机器人工作规则,因为特工越好,对手必须越狡猾地干扰他,这会进一步改善特工的工作,等等。 这个想法已经被其他研究人员研究过。
您说您的主要目标是为现实世界创建机器人。 在这之前需要做些什么?我们正在努力扩展机器人的能力,使其在没有严格限制的环境中工作。 在这样的环境中,不可能预先预见所有事情并为每个对象准备模型。 在实验室外的物体上放置任何标记也可能很不方便。 事实证明,我们的机器人将必须学习在许多情况下如何行动,如何在以前从未遇到过的情况下做出合理的选择。
接下来您要做什么?我们将继续创建行为日益复杂的机器人。 现在说哪一个还为时过早。 从长远来看,我们希望使机器人具有操纵物体的一般能力,以便它们可以像婴儿一样学会与环境互动-与附近的物体一起玩,而不必在成年人的监督下进行。 我们认为情报与与现实世界的互动联系在一起,为了完成创建安全的通用人工智能的任务,我们需要既能够从现实世界的感官数据中学习,也可以从模拟中学习。