栗子 夏乙 发自 凹非寺
量子位 报道 | 公众号 QbitAI

五根手指、24个关节,这只机械手从结构到大小,方方面面都像极了人类的手。

在OpenAI的实验室里,它缓缓 盘着核桃 转动着一个木块。没有人告诉它该动哪根指头,驱使它的,是在模拟器里训练出来的强化学习算法。

这套灵巧的系统,叫做Dactyl

它可以把一个正方体,转到指定的方向。

没有人指挥它,哪根手指往哪个方向用力,收到的指令只是木块的朝向 (I在前,E在左,N在上) 而已。

当然,动作并不像人类盘核桃那样一气呵成,机器人要一步一步来。

神经网络训练的过程中,自学了许多不同的分解动作。比如上图,用两个手指轻轻夹住方块,再用其他手指拨一拨,方块就转起来了。

再比如,推着方块在掌心滑动 (Sliding) 。还有,底面用不离开手心,但方块依然水平转动 (Finger Gaiting) ,堪称盘核桃的核心技巧。

这些技能,Dactyl都是在模拟器里学会的。不过,它能顺利地把技能迁到现实世界,就算物体不是方块,也能随机应变。

从二指夹具到五指机械手

如果你关注机器人技能的进展,大概会发现这样的机械手,远不如两根指头的夹子常见。

各大门派都在用二指夹具,通过各种方法学习着抓取、放置、横扫等动作。

比如OpenAI自己,就展示过二指夹具的抓东西扔东西技能:



Google,曾经出动了大量的二指夹具来学习抓取:

在李飞飞夫妇实验室学习抓锤子的机器人,也同样是两根手指:



控制相对简单,成本相对低廉,对于那些靠抓住、放开就能解决的问题来说,机械臂的确是个好选择。

但面对文章开头展示的那些复杂动作,两根指头就先天不足了。

更何况,人类对于和自己相似的物体,有着迷之热情的追求。

像人手一样的机械手发展得如何呢?虽说已经出现了几十年,但它们操纵物体的能力一直很有限。

OpenAI说,要靠传统的机器人学方法来解决灵巧操控问题,太慢了。

《纽约时报》说,按传统的方法,机械手只能做大量工程师编了程的事情。

现在,OpenAI展示了机械手自己学习更复杂的操作的能力。

他们所用的这只结构上高度仿真的手,来自英国Shadow Robot公司。

在这只手上,OpenAI花了大价钱。Shadow官方网站没有明码标价,而根据机器人网站Android World显示,买这样一只机械手要花掉119700美元,差一点点就到了12万。

不让它多掌握点技能,哪对得起这12万刀。OpenAI要教这只机械手来转动各种各样的物体,每一种形状都重新编程当然不行。

另外,这只手有24个自由度,要控制的维度就比传统7自由度机械臂多了两倍。

OpenAI还想让它在真正的现实世界中工作,于是,传感器获取的信息又嘈杂又有延迟,有时候,当一个指尖的传感器被其他指头挡住,算法还得靠不完整的信息来运转。

面对种种困难和5根“手指”,他们祭出了前不久训练AI打DotA2所用的算法。

OpenAI Five,跨界了。

盘核桃技能习得之路

Dactyl模型里,有两个神经网络各司其职:一是视觉网络,二是控制网络。

简单来说,要了解物体的情况,再把它转到对的方向。

两个网络,都是为了随机应变而生,用的方法叫做“域随机化 (Domain Randomization) ”。

控制网络

先来说控制网络,这个网络是在MoJoCo物理引擎里面,搭了个模拟器来训练的。

不过,研究人员并不希望AI过度依赖物理原理。因为,传感器的测量数据可能嘈杂,也可能有延时,且随着时间的推移,机器人会受伤会老化,物理性质也会发生变化。

而要把技能推广到真实环境,就更加需要应付多变的环境

所以,这个模拟器只是对物理世界的一个“粗略近似 (Coarse Approximation) ”。

除此之外,为了培养AI的应变能力,模拟器提供了各种各样的场景,物体的物理性质和外观都可以发生非常丰富的变化。

如果,一个强化学习策略,在所有的模拟场景里,都能完成任务,那么它到了真实世界,也更容易来者不拒。

这也不是全部,团队希望机器人可以在不同环境下,选择不同的动作来执行任务,于是用了LSTM来赋予AI一些记忆。没有这些记忆的话,机械手需要两倍的转动次数,才能把物体捧在正确的方向。

成就了刀塔AI战队的Rapid,是一个规模化的近端策略优化系统。在这里,Dactyl用6144个CPU核加上8个GPU,训练了50小时,相当于尘世的一百年。

视觉网络

训练之初,Dactyl就是朝着“转动随机物体”的目标去的,因为世界也不是只有正方体那样单调。

所以,视觉的部分,用了很普通的RGB摄像头,数据用来估计物体的位置和朝向,不需要太精确。

三枚摄像头围在机器人身边,解决了模糊和遮挡的问题,足矣。

一个卷积神经网络 (CNN) ,会把摄像头拍到的视频吃下去,估算物体的位置和方向,再用这些信息来指挥控制网络选取合适的操作。

这个网络的训练,不是在MUJOCO里,而是Unity游戏引擎,后者的视觉场景更为丰富,给了Dactyl千锤百炼的机会。

两个网络是分开训练的,但合体之后便能直接走进真实世界,微调都不需要。

OpenAI踩过的坑

除了展示成果,OpenAI的科学家们还热情地公开了采过的坑:这些方法我们试了,没用。

坑有两个:

  • 一是降低反应时间。OpenAI目前设置的反应时间是80毫秒,比人类的150-250毫秒要低,但高于神经网络25毫秒的计算时间。他们也试过把反应时间降低到40毫秒,结果发现,消耗的训练时间更长了,性能没什么明显提升。

  • 二是用真实数据来训练视觉策略。从尝试的结果来看,用真实数据和模型数据混合训练,与只用模拟数据相比成绩相当,于是,他们训练最终的模型时就只用了模拟数据。

除此之外,在实验过程中,OpenAI科学家们的认知还被颠覆了几次:

  • 操纵真实世界物体不是非得用触觉传感不可。他们发现,用多种多样的传感器数据,如果模拟器不能有效地对这些数据建模,还不如用少量好建模的传感器。

  • 为一个物体设置的随机化,会泛化到与它性质类似的其他物体。他们在教会系统操控方块之后,又弄了个八棱柱用来训练新算法,在这个过程中他们发现,为方块设计的随机化用起来完全没问题。但是,换成一个球体来训练,就不太行了。

  • 对于实体机器人来说,系统工程和算法同样重要。他们发现,运行的都是一样的策略,有一个工程师成绩总是比别人好……后来,经过对这位别人家孩子的仔细检查,发现他的电脑比大家都快,掩盖了一个bug。

传送门

读Paper:
https://d4mucfpksywv.cloudfront.net/research-covers/learning-dexterity/learning-dexterity-paper.pdf

博客原文:
https://blog.openai.com/learning-dexterity/#results

加入社群

量子位AI社群18群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot9入群;

此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。

进群请加小助手微信号qbitbot7,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)

实习生招聘

量子位正在招募活动运营实习生,策划执行AI明星公司CEO、高管等参与的线上/线下活动,有机会与AI行业大牛直接交流。工作地点在北京中关村。简历欢迎投递到quxin@qbitai.com

具体细节,请在量子位公众号(QbitAI)对话界面,回复“实习生”三个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

太像人手了!OpenAI用打DOTA的算法,教会了机械手“盘核桃”相关推荐

  1. 又输了,OpenAI Five完胜Dota 2半职业战队

    OpenAI Five与Dota 2人类职业玩家的对战以AI的胜利告终,Dota 2再一次被攻陷. OpenAI Five的进步可以说是神速.今年6月OpenAI才宣布,由五个神经网络组成的团战AI团 ...

  2. 微软推出的Prompt高级玩法,包括小样本和任务分解等,简直不要太详细:Azure OpenAI 的提示工程技术

    搜索 打开App 微软推出的Prompt高级玩法,包括小样本和任务分解等,简直不要太详细:Azure OpenAI 的提示工程技术 8 小时前 ChatGPT云炬学长 ChatGPT云炬学长 ​关注 ...

  3. 遇劣势变蠢、发语音嘲讽人类……OpenAI这些奇葩DOTA操作跟谁学的?

    夏乙 中奇 假装发自 温哥华 量子位 新浪科技 联合报道 刚刚,中国网友全村的希望LGD惜败温哥华: 两天前,AI全村的希望OpenAI Five更是在二连败之后,提前为TI之旅画上了句号. 月初轻松 ...

  4. OpenAI Five 击败 Dota 2 6500 分战队;台积电工厂遭遇病毒,回应:已找到解决方案...

    (点击上方蓝字,快速关注我们) 转自:开源中国.solidot.cnBeta.腾讯科技等 0.人工智能 OpenAI Five 刚刚击败了 Dota 2 人类半职业选手战队 据外媒CNET报道,此前人 ...

  5. OpenAI公布强化学习新算法,可控制复杂机器人

    近日,OpenAI 发布了一种新型的强化学习算法:近端策略优化(Proximal Policy Optimization,简称 PPO),这种算法不但在性能上比肩甚至超过当前最先进的方法,而且更容易实 ...

  6. 模型训练太慢?显存不够用?这个算法让你的GPU老树开新花

    一只小狐狸带你解锁NLP/ML/DL秘籍 作者:小鹿鹿鹿,夕小瑶 老板,咱们就一台Titan Xp,训不动BERT呀 没钱买机器,自己想办法. 委屈T^T 我听说混合精度训练可以从算法上缓解这个问题? ...

  7. 太强了,手撸一款导弹跟踪算法(Python版)

    作者:半壶砂 https://www.cnblogs.com/halfsand/p/7976636.html 这里涉及拦截导弹的自动跟踪.最近,看到了一个挺有趣的自动跟踪算法,一个Python的简单模 ...

  8. Codeforces 793b B. Igor and his way to work 觉得大神写的3维bfs太复杂,突然发现这题是连连看算法。

    看大神写的dp[x][y][c]表示的(x,y)位置c方向的三维DFS, 这题说是转不超过两个弯,其实就是连连看. 扫描S和T左右上下达到的最大点. 左右上下都取S和T达到的最小范围. 1.用左右范围 ...

  9. DOTA 2血虐人类的OpenAI,原来靠的是作弊?

    郭一璞 捣塔栗 发自 凹非寺  量子位 报道 | 公众号 QbitAI 两周前,AI战队OpenAI Five还处在DOTA2击败人类的得意中: 两周后,它就陷入了作弊疑云. 美国媒体Motherb ...

最新文章

  1. 一文详解如何配置meld做git diff工具
  2. Java中实现cd命令:运行中更改当前工作目录
  3. ai作文批改_好未来:AI智能批改中英文作文为老师“减负”
  4. 解决Linkedin sdk无法保持oauth_token
  5. FlasCC例子研究之bitmapdata
  6. Julia : WinRPM error -----待确定
  7. android9 三星 港版,【极光ROM】-【三星S20+(国行/港版/台版/韩版/美版) G986X-高通865】-【V9.0 Android-R-UB6】...
  8. 2020年大学生编程比赛---ACM、蓝桥杯、天梯赛
  9. 用matlab进行多项式通分,Matlab控制系统仿真基础
  10. 未禁用nouveau导致Ubuntu安装Cuda的runfile安装方法出错:[ERROR]: Install of 455.32.00 failed, quitting
  11. 2021年二级c语言软件下载,2021计算机二级宝典
  12. 人工蜂群算法(Artificial Bee Colony, ABC)MATALAB代码详细解析
  13. iOS开发:获取系统WiFi名称,WiFi列表,WiFi强度,WiFi设置密码,WiFi副标题标签
  14. Python计算机视觉 sift和Harris特征匹配处理对比
  15. Sql 语句小课堂7:在sqlserver对多行数据实施随机数
  16. 全新设计 水果忍者-穿靴子的猫官方中文版首发
  17. 赵雅智:android教学大纲
  18. redis,Spring Cache,Mango,ES
  19. 新媒体研究杂志社新媒体研究编辑部新媒体研究杂志2022年第18期目录
  20. Java中Lambada表达式使用方法

热门文章

  1. 小鱼易连推出肩膀计划,打造云+端双师课堂解决方案
  2. JS、PHP、Python等五大编程语言爆漏洞;中兴 70 后程序员坠亡;雷军平定迅雷内乱 | 一周业界事
  3. “衰亡”的雅虎:30 亿用户账号全部泄漏还能怎么活?
  4. 脑瘫男孩17岁考上大学,毕业在家工作每月7500,成为公司骨干
  5. mesh threejs 属性_ThreeJS拖动案例解析
  6. Redis (三)雪崩和穿透
  7. jupyter一直*_不用下载安装,你的机器人可以直接在浏览器里跳舞丨Jupyter-ROS
  8. java循环嵌套显示不全_循环嵌套问题
  9. java tcp demo_详解Java使用TCP实现数据传输实例
  10. python中执行shell命令_python中执行shell命令的几个方法小结-阿里云开发者社区