千秋网络是家西安做网站的公司,建设工程材料网站,用wordpress修改网站,在线电子印章生成器机械手任务之三 - 转鸡蛋#xff0c;示意图来源#xff1a;AI 科技评论摘要#xff1a;今年 2 月#xff0c;OpenAI 发起了一组机械手挑战#xff0c;他们在基于 MuJoCo 物理模拟器的 Gym 环境中新设计了含有机械臂末端控制、机械手拿取物体的两组八个有难度的、早期强化学… 机械手任务之三 - 转鸡蛋示意图来源AI 科技评论摘要今年 2 月OpenAI 发起了一组机械手挑战他们在基于 MuJoCo 物理模拟器的 Gym 环境中新设计了含有机械臂末端控制、机械手拿取物体的两组八个有难度的、早期强化学习算法已经不足以直接解决的问题。这些具有一定难度的任务 OpenAI 自己也在研究他们认为这是深度强化学习发展到新时代之后可以作为新标杆的算法测试任务而且也欢迎其它机构与学校的研究人员一同研究这些任务把深度强化学习的表现推上新的台阶。美国时间 7 月 30 日OpenAI 已经就机械手任务之二的「转方块」出了自己答案展示了一个异常灵活的转方块的机械手。而且更精彩的是这个完全在模拟器中强化学习学到的方案还可以不需任何微调就直接迁移到真实的机械手上。机械手任务之二 - 转方块真实机械手上运行OpenAI 也制作了一个酷炫的介绍视频请看下方。OpenAI 把这套系统称作 Dactyl。OpenAI 过去一年中研究强化学习系统的偏好思路再次得到了体现在完全模拟的环境中训练然后把训练结果迁移到现实世界的机械结构中。得益于可以大规模高速并行训练的模拟环境以及 OpenAI 在过去的研究中积累的系统设计与变量选择经验这样的做法已经可以得到很好的效果。强化学习算法方面OpenAI 再次选择了之前在 DOTA2 5v5 AI 中使用的 PPO近端策略优化这当然也再次展示了 PPO 作为通用强化学习算法的优越性。当然系统最大的亮点还是可以完全在虚拟环境中训练不需要对真实世界有准确的物理模型也可以直接迁移到真实机械手、真实物体的控制上。两指夹住旋转、滑动、手指同步旋转三种 Dactyl 完全自动学到的与人类类似的运动模式任务介绍任务中使用的机械手模型是参照 Shadow Dexterous Hand 设计的。这是一个完全仿照人手设计的具有 20 个驱动自由度、4 个半驱动自由度、共 24 个关节的机械手它的大小也和人手大小相同。任务的要求是在机械手的掌心放置一个方块或者六棱柱然后要求机械手把它翻转到一个指定的角度比如把某个侧面翻到上方。系统只能观察到五指指尖的空间坐标以及三个固定角度的彩色摄像机采集到的画面。虽然这种机械手面世已经有几十年了但是如何让它像人类一样高效地控制物体一直都是机器人控制领域的老大难问题。与空间定位移动之类的问题不同非常多自由度的机械手控制用传统控制方法不仅运行缓慢而且必须对自由度做出一些限制这也就随之限制了它们控制真实世界物体的能力。想通过深度强化学习的方法让机械手翻转一个物体需要考虑这几个问题能在真实世界中工作。强化学习虽然已经在很多模拟器环境以及游戏中展现出了优秀的表现但是强化学习解决真实世界任务的研究仍然非常有限。OpenAI 的最终目标就是要让 Dactyl 在真实的机器人上完成任务。高自由度控制。一般的机械臂比如末端为夹子的工业机械臂只有 7 个自由度而机械手有多达 24 个自由度仅仅是不让 5 个指头打架都有相当的难度。有噪声的部分信息观察。Dactyl 在真实世界中工作的时候不可避免地会遇到传感器读数的噪声和延迟问题。当某一个手指的传感器受到其它手指或者物体的影响而无法返回读数的时候Dactyl 只能在部分信息的状况下工作。而且真实物理系统许多细节比如摩擦和滑动是无法直接观察到的系统必须自己做出推断。能操作多个物体。Dactyl 的设计目标是要足够灵活能够翻转、定向多种不同种类的物体。这就意味着不能选用只对某一些特定的几何形状有效的策略。OpenAI 的解决方法总的来说OpenAI 完全在模拟器环境中、不借助任何人类输入进行让 Dactyl 通过强化学习训练物体定向任务。在训练结束后学到的策略不需要任何微调环节就可以直接在真实机器人上工作。不过其实学习机器人控制方法面临着两难的困境。模拟环境中的机器人固然可以轻松地获得大量数据、训练出足够复杂的策略但是大多数控制问题本身的建模都不够精确导致学习到的策略难以迁移到真实世界的机器人上。即便只是对「两个物体接触」这样的简单现象建模都还是一个开放性的科研问题没有什么广为接受的、足够好的模型。直接在真实的机器人上进行训练自然可以根据真实世界的物理规律学习到好的策略不过真实世界中的训练就只能按照真实世界的速度运行目前的强化学习算法受限于样本效率问题需要相当于好几年的尝试经验才能够解决物体转向这样的已经相对简单的问题。财大气粗的谷歌还真的就这样做了具体请见今天推文的第二篇。可以说谷歌利用自己的财力优势替整个领域尝试了很多仅仅理论上可行的研究方法OpenAI 的训练技巧具体来说是「任务随机化」domain randomization它并不追求建模的最佳拟真化而是在充满了丰富的变化的环境中学习到各种知识和经验。这样的做法兼备了模拟器和真实环境学习两种做法的优点在模拟器环境中学习可以让模拟器运行速度高于真实世界速度快速积累经验同时用「多变」替代了「逼真」之后它也可以在模拟器只能近似建模的任务中得到更好的表现。包括 OpenAI 在内的许多研究者都已经通过实验展示出了任务随机化对于越来越复杂的任务的明显的提升作用近期的最有力的例子就是 OpenAI 训练出的 DOTA2 5v5 AI。在这个机械手控制的任务中OpenAI 也是在探索大规模运行的任务随机化能否带来超出现有机器人控制方法的表现。MuJoCo 物理模拟器相比真实的物理系统有这些不足在真实机器人和方块上测量摩擦、阻尼、翻转阻力等物理属性很麻烦、很困难。而且随着机械手磨损、这些值也会逐渐发生变化模拟器中只有带有固定参数的近似模型MuJoCo 是一个刚体运动的模拟器这意味着它无法模拟机械手指尖的橡胶发生的接触形变也无法模拟手指上肌腱的拉伸在这个任务中机械手只能够靠多次接触方块来改变方块的方向但接触力又众所周知地难以准确在模拟器中复现。如果仔细地调节模拟器中的参数模拟的机械手的行为确实可以和真实机械手的行为做到比较好的匹配但是上面的这些作用以目前的模拟器就很难准确建模了调节参数也无济于事。所以 OpenAI 转而使用的方法是使用大规模分布式的模拟训练环境而且这些环境中的物理属性和视觉特征都是随机选择的。随机地选择这些值是一种很自然的表征各种真实物理系统的不确定性的做法当然这样也可以防止系统过拟合到一组特定的环境设置中。根据 OpenAI 研究人员们的想法如果一种策略在所有这些不同的模拟环境中都可以完成任务那么它也就很有可能可以直接在真实环境中完成任务。在开发和测试阶段OpenAI 通过内置的运动控制传感器对学习到的机械手控制策略进行验证这也是为了能够隔绝 Dactyl 自身的控制网络与视觉网络可以对系统表现做出「客观」的评价。系统设计示意图 - 模拟环境中训练A. 分布式工作站从大量随机环境中收集经验B. 通过强化学习训练控制策略。这个策略根据物体的位姿和五个手指指尖的位置选择接下来的行动C. 训练一个 CNN 根据三路模拟环境中的摄像头画面估计物体的位姿系统设计示意图 - 迁移到真实世界D. 位姿估计网络和控制策略网络共同工作把任务从虚拟环境迁移到真实环境学习控制通过构建可以支持迁移的模拟环境OpenAI 把真实世界的机器人控制问题简化为了模拟环境中完成任务的问题现在它就很适合用强化学习解决。当然了即便是在模拟器中控制如此多自由度的机械手完成任务仍然是一个有挑战性的目标何况不同的模拟环境中还有不同的随机物理属性这意味着物体的运动方式都会与真实世界有所不同。为了能够在不同的环境之间泛化策略最好能够在不同物理参数的环境中做出不同的行为。考虑到大多数的动态物理参数都无法从单次观察中得出推断结果OpenAI 选用了带有一定记忆能力的 LSTM 网络架构实际上在模拟环境中基于 LSTM 得到的策略做出的旋转动作也要比其它不具有记忆能力的策略多一倍。Dactyl 使用的大规模分布式 PPO 实现「Rapid」是和 DOTA2 5v5 AI 一样的。在这个任务中模型架构、环境、超参数有所区别但算法和训练代码是一致的。Rapid 训练策略使用了 6144 个 CPU 和 8 个 GPU训练 50 小时就可以采集到相当于真实世界中 100 年长度的经验。学习观察OpenAI 的设计目标是让 Dactyl 能够控制任意的物体不局限于那些经过专门的改动以后更好追踪的物体。所以 Dactyl 也就选用了一组正常的彩色摄像头对物体的位置和姿态进行估计。OpenAI 训练了一个 CNN 用来估计位姿。这个网络把布置在机械手周围的三个摄像头采集的视频流作为输入然后输出估计的物体位置和物体姿态。多个摄像头的使用是为了避免判断不清以及信号延迟。训练这个网络时 OpenAI 也使用了任务随机化的做法环境随之暂时切换为了 Unity 游戏开发平台它对各种视觉效果的支持丰富程度要比 MuJoCo 高得多。「控制」与「观察」两个独立的网络互相配合控制网络可以根据给定的物体位姿重新调整它的位姿视觉网络根据摄像头采集的画面确认物体当前的实际位姿。Dactyl 就这样通过观察控制了手里的物体。学习位姿估计的图像的一些示例实验结果逐渐产生的行为在部署系统的时候OpenAI 的研究人员们注意到 Dactyl 会使用一系列丰富的灵活手掌内操纵技巧来解决在这个任务人类其实也经常会使用这些技巧。而及这些技巧并不需要人类显式地教会算法它们全都是算法自己发掘、自己学到的。两指夹住旋转、滑动、手指同步旋转三种 Dactyl 完全自动学到的与人类类似的运动模式Dactyl 学到的六种不同的握持姿势。根据握持分类学从左上到右下依次为指尖捏、掌心捏、三指握持、四指握持、强力握持以及 5 指精确握持。OpenAI 通过观察发现对于几种高精确度的握持方法比如两指指尖捏Dactyl 倾向于使用大拇指和小拇指人类比较习惯的自然是用大拇指食指或者大拇指中指。不过值得指出的是机械手的小拇指比人类的多出一个自由度更为灵活这可以作为 Dactyl 学会了这样行为的一个解释。这也可以理解为Dactyl 一面可以自己发现人类常用的手部姿态同时也可以重新适应这些姿态让它们更符合自己的肢体的限制和能力。 AI 科技评论注多提供一个思考角度从生物进化的角度来说手指握持的方式是和手指的结构相互适应的。使用一个「类人」的机械手学习到「类人」的握持姿势并不奇怪。另一方面握持姿势的选择除了自由度也与生物结构有关食指比小拇指更有力、也更灵活这与人类更常用食指也是相辅相成系统表现的迁移OpenAI 在真实环境的机械手与摄像头配置上测试了 Dactyl 在物体脱手、或者时间用完之前能翻转的次数最高计数 50 次。在模拟器环境中训练出的策略可以直接成功地操控真实世界中的物体。对于控制方块的任务使用了「任务随机化」训练得到的策略能成功完成翻转的次数要多得多如下表。并且通过摄像头信号估计位姿进行控制得到的结果和使用运动追踪传感器得到的结果差不多这也体现出了视觉估计网络的高准确率。学习过程训练过程中的大多数时间都花在了提升策略在不同物理属性环境中的鲁棒性上。在不使用随机化时在虚拟环境中学会翻转物体需要的经验大概相当于 3 年那么长而在全面使用了随机化的设置下达到类似的表现需要大概相当于 100 年的经验。不过我们也别忘了不使用随机化时训练出的策略是无法直接迁移到真实世界的机器人的因为学到的策略只针对模拟器中那一组特定的物理参数有效实验中的有趣发现对于真实世界物体的控制来说触觉感知并不是必须的。Dactyl 接收到的信号只包括 5 个手指指尖的位置以及方块的位置和方向。机械手上确实带有触觉传感器但是 OpenAI 并没有使用它们就可以达到目标。总地来说相比于有一大批传感器、一大批难以建模的数值OpenAI 认为一组数目有限但可以在模拟环境中高效建模的传感器可以帮助带来更好的表现。为某一个物体做的随机化设定可以泛化到其它属性类似的物体上。在控制方块的系统开发完成之后OpenAI 制作了一个六棱柱根据它的外型训练了一个新的策略然后尝试让机械手控制它。有点出乎他们意料的是只依靠一开始为控制方块设计的随机化设置机械手就能很好地控制六棱柱了。相比之下重新训练一个控制圆球的策略就不能连续成功很多次可能是因为并没有针对转动行为设计适合的随机化模拟参数。对于真实机器人来说好的系统工程和好的算法一样重要。在研究过程中OpenAI 团队发现几个工程师都尝试一样的策略的时候其中一位得到的表现总是要比其他几位的好得多。后来他们发现是因为这位工程师的笔记本电脑比较快一个会影响表现的计时器 bug 从而就不会出现。这个 bug 解决之后整个团队运行策略的表现都得到了提高。没有达到预期效果的项目除了上面的惊喜之外OpenAI 也惊讶地发现一些强化学习连续控制中的常用技巧并没能帮助他们提高系统的表现。减短反应时间并没有提高系统表现。大家普遍认为减短做出动作的时间间隔能够提高系统表现因为这样一来前后状态之间的变化会比较小也就更容易预测。目前 OpenAI 设定的动作时间间隔是 80ms要比人类一般的反应时间 150~250ms 短一些但是仍然比神经网络计算所需的大概 25ms 左右的时间长得多。令人惊讶的是把动作时间间隔缩短到 40ms 需要花费更长的训练时间但同时并没有给真实世界机械手的表现带来可感的提升。有一种可能是这种公认有效的做法用在神经网络模型上的效果确实要比用在目前广泛使用的线性控制模型的效果差一些。用真实数据训练视觉策略并没有带来什么提升。在早期的实验中OpenAI 综合使用了模拟的以及真实的数据用来改进模型。真实数据的采集来自一个带有追踪标记的物体在测试策略的机械手上的实验过程。然而真实数据相比模拟的数据有着显著的劣势。从追踪标记得到的位置信息带有延迟和测量误差而且更糟糕的是随便改变一点参数就会让已经采集到的真实数据变得完全没用。随着 OpenAI 持续改进自己的方法只使用模拟数据训练的模型的表现也在不停提高已经达到了模拟和真实数据混合训练的模型的错误率水平。最终使用的模型也就完全没有使用真实数据。总结对 OpenAI 来说这个项目是他们过去两年中追求的完整 AI 研发循环的最好体现先开发新的强化学习算法再拓展它的运行规模、在模拟环境中训练解决困难的问题最后再把得到的系统应用在真实世界中。以越来越大的规模沿着这种途径不停前进也是 OpenAI 为自己规划的通往安全的通用人工智能的主要路径。OpenAI 已经展示了联通强化学习理论研究与现实世界问题探索的一座桥梁我们也期待看到这个领域内更多的理论和现实世界问题联动的案例。未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括建立AI智能系统智商评测体系开展世界人工智能智商评测开展互联网城市云脑研究计划构建互联网城市云脑技术和企业图谱为提升企业行业与城市的智能水平服务。 如果您对实验室的研究感兴趣欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”