找东西不再瞎蒙!CMU、FAIR开发出有常识的机器人
- 2020 年 9 月 18 日
- AI
编辑 | 丛 末

论文地址://arxiv.org/pdf/2007.00643.pdf
项目地址://www.cs.cmu.edu/~dchaplot/projects/semantic-exploration.html
算法。然而当时的强化学习算法只能每次使用一种策略来训练一个智能体模型。”,”0:\”%233e3e3e\”|27:\”12\”|31:2″],[20,”\n”,”24:\”KLNL\”|linespacing:\”115\””],[20,”\n”,”24:\”ST7D\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/ullbSVWjkIev0mfy.gif”},”29:0|30:0|3:\”600\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”278\”|ori-width:\”600\””],[20,”\n”,”24:\”RwF7\”|linespacing:\”115\””],[20,”那如果想要一次训练几十上百种智能体模型(如上图所示)该怎么办?难道要训练几百次吗?”],[20,”\n”,”24:\”rOcc\”|linespacing:\”115\””],[20,”\n”,”24:\”eHYB\”|linespacing:\”115\””],[20,”近日,一篇发表在ICML 2020上的论文提出了一种方法:仅仅需要一种策略就可以同时训练所有的智能体。”],[20,”\n”,”24:\”zX5C\”|linespacing:\”115\””],[20,”\n”,”24:\”2JTN\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/0KJQqphPbRHuv0kN.png!thumbnail”},”29:0|30:0|3:\”895\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”803\”|ori-width:\”895\””],[20,”\n”,”24:\”MTuT\”|linespacing:\”115\””],[20,”这篇论文在Twitter上获得了很大的关注,观看量很快就达到了46.7K。就连宣布“封推”的LeCun转发了(他只是转发,没有说话,没说话就不算破戒[狗头护体])”],[20,”\n”,”24:\”dcK5\”|linespacing:\”115\””],[20,”\n”,”24:\”80dR\”|linespacing:\”115\””],[20,”这项让一度退推的LeCun都忍不住转发的研究,到底是如何实现如此强大的泛化能力的呢?”],[20,”\n”,”24:\”Bd2N\”|linespacing:\”115\””],[20,”\n”,”24:\”Qwwu\”|linespacing:\”115\””],[20,”训练策略”,”8:1″],[20,”\n”,”24:\”TI3Q\”|linespacing:\”115\””],[20,”\n”,”24:\”Xi5C\”|linespacing:\”115\””],[20,”作者在论文中提出的训练策略是一种模块化共享策略SMP(Shared Modular Policies),特点是:区别于一次对整个模型进行训练的传统做法,该方法是分别对智能体的每个肢体进行训练。”],[20,”\n”,”24:\”bz0N\”|linespacing:\”115\””],[20,”\n”,”24:\”uV9W\”|linespacing:\”115\””],[20,”训练过程中同一智能体的不同肢体之间策略权重”],[20,”πθ”,”0:\”%23333333\”|27:\”12\”|31:2″],[20,”是共享的:”],[20,”\n”,”24:\”7kmj\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/PFaKffqRV5Y6scxn.png!thumbnail”},”29:0|30:0|3:\”382\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”378\”|ori-width:\”382\””],[20,”\n”,”24:\”7KVu\”|linespacing:\”115\””],[20,”而不同智能体之间的策略权重”],[20,”πθ也是共享的:”,”0:\”%23333333\”|27:\”12\”|31:2″],[20,”\n”,”24:\”JGfw\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/GGvlcljmGqtXF4z9.png!thumbnail”},”29:0|30:0|3:\”1260\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”526\”|ori-width:\”1260\””],[20,”\n”,”24:\”r87l\”|linespacing:\”115\””],[20,”这样一来所有智能体的所有肢体之间的权重都是共享的,之后把所有的智能体放在一起来训练:”],[20,”\n”,”24:\”rlD6\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/DEF8HYpqX1bQbEVR.png!thumbnail”},”29:0|30:0|3:\”1193\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”630\”|ori-width:\”1193\””],[20,”\n”,”24:\”QAZE\”|linespacing:\”115\””],[20,”为了确保各肢体之间能够协调统一地控制,必须允许信息能在各肢体之间传递:”],[20,”\n”,”24:\”Nq2w\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/nfVfsFqQ8uMSRRyS.png!thumbnail”},”29:0|30:0|3:\”965\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”524\”|ori-width:\”965\””],[20,”\n”,”24:\”4vEJ\”|linespacing:\”115\””],[20,”那么信息传递究竟是应该从上往下还是从下往上呢?”],[20,”\n”,”24:\”ibCf\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/wHRQR4OE4vDHuKYB.png!thumbnail”},”29:0|30:0|3:\”967\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”426\”|ori-width:\”967\””],[20,”\n”,”24:\”zCj5\”|linespacing:\”115\””],[20,”不如来看一下实际效果吧:”],[20,”\n”,”24:\”teXw\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/wCkeGbO45Ud7GlBO.gif”},”29:0|30:0|3:\”1228\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”622\”|ori-width:\”1228\””],[20,”\n”,”24:\”cMpN\”|linespacing:\”115\””],[20,”上面是对同一组智能体分别执行从下往下和从上往下的信息传递,可以看出效果并不好。”],[20,”\n”,”24:\”SxaW\”|linespacing:\”115\””],[20,”\n”,”24:\”MxHJ\”|linespacing:\”115\””],[20,”于是作者想到干脆把两种信息传递方式结合起来:”],[20,”\n”,”24:\”YErH\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/r44PzWbhc93ekuTC.png!thumbnail”},”29:0|30:0|3:\”1255\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”492\”|ori-width:\”1255\””],[20,”\n”,”24:\”3VPj\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/X2T9QjUq4ji1qXx4.png!thumbnail”},”29:0|30:0|3:\”696\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”420\”|ori-width:\”696\””],[20,”\n”,”24:\”iEbP\”|linespacing:\”115\””],[20,”\n”,”24:\”SuGj\”|linespacing:\”115\””],[20,”两种信息传递方式共享模块化策略:”],[20,”\n”,”24:\”kp2Y\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/fK5BYxYR7KTiKkhS.png!thumbnail”},”29:0|30:0|3:\”854\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”560\”|ori-width:\”854\””],[20,”\n”,”24:\”BiDc\”|linespacing:\”115\””],[20,”那么这样一来效果如何呢?”],[20,”\n”,”24:\”qGox\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/682vxigH3Jq6Kv2K.gif”},”29:0|30:0|3:\”772\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”458\”|ori-width:\”772\””],[20,”\n”,”24:\”a40M\”|linespacing:\”115\””],[20,”从上可以看出在使用双向信息传递后,一个单独的策略也能很好地控制所有的智能体,即使这些智能体的形状迥异。”],[20,”\n”,”24:\”5hk2\”|linespacing:\”115\””],[20,”\n”,”24:\”7jug\”|linespacing:\”115\””],[20,”整体模型架构”,”27:\”12\”|8:1″],[20,”\n”,”24:\”S8vp\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/6QKqY9RGjV9iIuuN.png!thumbnail”},”29:0|30:0|3:\”1461\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”529\”|ori-width:\”1461\””],[20,”\n”,”24:\”Wlfx\”|linespacing:\”115\””],[20,”如上图所示,智能体被表示为使用共享控制策略的模块化组件的集合。多个智能体控制器(左)与具有共享参数的局部模块同时训练(中),这些模块学习将消息传递给中心控制器(右)。”],[20,”\n”,”24:\”aeYp\”|linespacing:\”115\””],[20,”\n”,”24:\”UOLQ\”|33:1|linespacing:\”115\””],[20,”泛化效果”,”27:\”12\”|8:1″],[20,”\n”,”24:\”zBE4\”|linespacing:\”115\””],[20,”\n”,”24:\”uS77\”|33:1|linespacing:\”115\””],[20,”在从未训练过的智能体上面做测试,可以看出这种模块化共享策略同样能够很好的控制智能体,哪怕有些智能体的胳膊有很多或者很重。”],[20,”\n”,”24:\”Twtz\””],[20,{“gallery”:”//uploader.shimo.im/f/Sv2P6EMXxwKHqayo.gif”},”29:0|30:0|3:\”940\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”420\”|ori-width:\”940\””],[20,”\n”,”24:\”U8dM\”|linespacing:\”115\””],[20,”另外,智能体也可以负重前行,负重的物体是在测试时直接加上去的,并没有经过训练,从下图可以看出前行效果还不错。”],[20,”\n”,”24:\”wyBQ\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/UTRSFz323Z5Lq1Bd.gif”},”29:0|30:0|3:\”876\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”220\”|ori-width:\”876\””],[20,”\n”,”24:\”5AJ9\”|linespacing:\”115\””],[20,”\n”,”24:\”OY1C\”|linespacing:\”115\””],[20,”但是模型的局限性同样是存在的,如果把某部分肢体变得超级大或者干脆去掉腿部的肢体,则智能体很难保持平衡。”],[20,”\n”,”24:\”auyu\”|linespacing:\”115\””],[20,”\n”,”24:\”mG5b\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/Ws7SiCYUoXqBV7BG.gif”},”29:0|30:0|3:\”1236\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”298\”|ori-width:\”1236\””],[20,”\n”,”24:\”s9mz\”|linespacing:\”115\””],[20,”\n”,”24:\”6YYW\”|linespacing:\”115\””],[20,”数据分析实证”,”27:\”12\”|8:1″],[20,”\n”,”24:\”YFBL\”|linespacing:\”115\””],[20,”\n”,”24:\”dr7L\”|linespacing:\”115\””],[20,”智能体的表现变好确实是因为”],[20,”模块化共享策略吗?”,”27:\”12\”|31:2″],[20,”\n”,”24:\”mYqa\””],[20,”\n”,”24:\”OJ7E\”|linespacing:\”115\””],[20,”下图是不同消息传递模式在同一组智能体上的比较。可以看出分散式消息传递方案(例如自上而下或自下而上)可以在一定程度上学习简单智能体的运动任务,但对于复杂的三肢和两肢变体智能体则无法学习任何有意义的信息。相反,双向消息传递可以模拟多种步态,并显示出明显的优势。”],[20,”\n”,”24:\”1fW7\””],[20,{“gallery”:”//uploader.shimo.im/f/QJ6RhdEMTqS4DQxR.png!thumbnail”},”29:0|30:0|3:\”1777\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”477\”|ori-width:\”1777\””],[20,”\n”,”24:\”spct\”|linespacing:\”115\””],[20,”下图展示了随着训练次数的增加,智能体在运动过程种进行信息传递的信息值。可以看出,智能体在运动过程中的信息值会出现峰值,这正是智能体触地时为了保持自身平衡而进行大量信息传递。 这证明了”,”27:\”12\”|31:2″],[20,”信息捕捉到了与运动行为相对应的交替步态,而且在控制整个智能体姿态中起到了重要作用。”],[20,”\n”,”24:\”Mf4P\”|linespacing:\”150\””],[20,”\n”,”24:\”b2wW\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/IbBhCEqQKAj9Cale.png!thumbnail”},”29:0|30:0|3:\”1786\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”400\”|ori-width:\”1786\””],[20,”\n”,”24:\”72vx\”|linespacing:\”115\””],[20,”从上面两个数据分析图可以看出智能体的表现变好确实是因为模块化共享策略”],[20,”。”,”27:\”12\”|31:2″],[20,”\n”,”24:\”lY7q\”|linespacing:\”115\””],[20,”\n”,”24:\”95wz\”|linespacing:\”115\””],[20,”\n”,”24:\”evfj\”|linespacing:\”115\””],[20,”论文详细信息”,”27:\”12\”|8:1″],[20,”\n”,”24:\”j8P8\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/AWQtA5tOqRab63LR.png!thumbnail”},”29:0|30:0|3:\”1377\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”375\”|ori-width:\”1377\””],[20,”\n”,”24:\”MB7V\”|linespacing:\”150\””],[20,”论文地址://arxiv.org/pdf/2007.04976.pdf”],[20,”\n”,”24:\”CKW3\”|linespacing:\”150\””],[20,”开源代码://github.com/huangwl18/modular-rl”],[20,”\n”,”24:\”r6Si\”|linespacing:\”150\””],[20,”项目主页://wenlong.page/modular-rl/”],[20,”\n”,”24:\”z1If\”|linespacing:\”150\””],[20,”论文的一作Wenlong Huang,加州大学伯克利分校大二,在伯克利人工智能实验室 (BAIR )研究计算机视觉。 个人主页:”,”0:\”%23333333\”|27:\”12\”|31:2″],[20,”//wenlong.page/”],[20,”\n”,”24:\”zdOB\”|linespacing:\”150\””],[20,”\n”,”24:\”5pMy\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/qb2zWKUkmwFc6JXy.png!thumbnail”},”29:0|30:0|3:\”941\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”912\”|ori-width:\”941\””],[20,”\n”,”24:\”h5iC\”|linespacing:\”115\””],[20,”\n”,”24:\”Qy6T\”|linespacing:\”115\””],[20,”\n”,”24:\”r5JL\”|linespacing:\”115\””],[20,”延申思考”,”27:\”13\”|8:1″],[20,”\n”,”24:\”nxSC\”|linespacing:\”115\””],[20,”\n”,”24:\”NCjA\”|linespacing:\”115\””],[20,”作者在论文之外说到这种共享模块化策略是可以从自然界之中看到。”],[20,”\n”,”24:\”i0rj\””],[20,”\n”,”24:\”tnxo\””],[20,”如下图,昆虫、人、袋鼠等都是有不同肢体组成的。”],[20,”\n”,”24:\”xM56\””],[20,{“gallery”:”//uploader.shimo.im/f/Maf7n3cC4MxiJvnZ.png!thumbnail”},”29:0|30:0|3:\”1130\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”696\”|ori-width:\”1130\””],[20,”\n”,”24:\”NLMe\”|linespacing:\”115\””],[20,”如下图,马和长颈鹿可以在出生不久之后就能走路跑步,动物这种强大的运动学习能力是一种强化学习的体现,那么动物运动能力这块是不是如作者提出的是共享策略模块呢?”],[20,”\n”,”24:\”RxVs\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/N9lJ93SvXzHlWErk.png!thumbnail”},”29:0|30:0|3:\”1303\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”756\”|ori-width:\”1303\””],[20,”\n”,”24:\”MxBq\”|linespacing:\”115\””],[20,”\n”,”24:\”mlSa\”|linespacing:\”115\””],[20,”作者提出的共享策略模块表现出了强大的泛化能力,可以说是强化学习的一种新范式,然而实验环境是在完美的平面上,这种条件过于理想。”],[20,”\n”,”24:\”6veI\”|linespacing:\”115\””],[20,”\n”,”24:\”56mH\”|linespacing:\”115\””],[20,”如果是类比DeepMind之前做的AI跑酷的环境,那么作者的模型还能实现很好的效果吗?还能一种策略控制所有的智能体吗?”],[20,”\n”,”24:\”0tNR\”|linespacing:\”115\””],[20,”\n”,”24:\”KYNO\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/fHux5ojqrgvNHLw2.gif”},”29:0|30:0|3:\”583px\”|4:\”389px\”|crop:\”\”|frame:\”none\”|ori-height:\”267\”|ori-width:\”400\””],[20,”\n”,”24:\”HGPD\”|linespacing:\”115\””],[20,”\n”,”24:\”pwC0\”|linespacing:\”115\””],[20,”抛开上面不谈,来思考一下作者目前提出模型的可应用场景:”],[20,”\n”,”24:\”OqwQ\”|linespacing:\”115\””],[20,{“gallery”:”//uploader.shimo.im/f/jVzLbV9ReY0v5BrZ.gif”},”29:0|30:0|3:\”644\”|4:\”auto\”|crop:\”\”|frame:\”none\”|ori-height:\”302\”|ori-width:\”644\””],[20,”\n”,”24:\”40oJ\”|linespacing:\”115\””],[20,”\n”,”24:\”tWkz\”|linespacing:\”115\””],[20,”用作者的模型来同时生成上百只奇行种的运动场景,想想就很有趣。”],[20,”\n”,”24:\”tg95\”|linespacing:\”115\””],[20,”\n”,”24:\”3GiT\”|linespacing:\”150\””],[20,”\n”,”24:\”NbyC\”|linespacing:\”115\””],[20,”参考链接:”],[20,”\n”,”24:\”QxE5\”|linespacing:\”115\””],[20,”\n”,”24:\”dKxm\”|linespacing:\”115\””],[20,”//www.reddit.com/r/MachineLearning/comments/hpajb2/r_one_policy_to_control_them_all_shared_modular/”],[20,”\n”,”24:\”BhFb\”|linespacing:\”115\””],[20,”\n”,”24:\”IUmx\”|linespacing:\”115\””],[20,”//www.youtube.com/watch?v=gEeQ0nzalzo&feature=youtu.be”]]” style=”letter-spacing: 0.5px;font-size: 18px;”>学习“餐桌在哪里”的常识





实验结果




SemExp学到了多少常识?