前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >One-to-All:一种策略控制多个智能体,强化学习泛化新范式

One-to-All:一种策略控制多个智能体,强化学习泛化新范式

作者头像
AI科技评论
发布2020-07-17 13:53:03
8420
发布2020-07-17 13:53:03
举报
文章被收录于专栏:AI科技评论AI科技评论

作者 | 陈大鑫

编辑 | 丛 末

还记得三年前DeepMind研究的AI跑酷吗?

火柴人成功突破墙壁的障碍,兴奋的手舞足蹈:

火柴人在学习跑、跳(jump):

(火柴人就是agent,中译为智能体,这里表现出来的就是在模拟器环境下的智能小人。)

“AI跑酷”是DeepMind在AlphaGo之后开发的另一项强化学习算法。然而当时的强化学习算法只能每次使用一种策略来训练一个智能体模型。

那如果想要一次训练几十上百种智能体模型(如上图所示)该怎么办?难道要训练几百次吗?

近日,一篇发表在ICML 2020上的论文提出了一种方法:仅仅需要一种策略就可以同时训练所有的智能体。

这篇论文在Twitter上获得了很大的关注,观看量很快就达到了46.7K。就连宣布“封推”的LeCun 也转发了(他只是转发,没有说话,没说话就不算破戒)。

这项让一度退推的LeCun都忍不住转发的研究,到底是如何实现如此强大的泛化能力的呢?

1

训练策略

作者在论文中提出的训练策略是一种模块化共享策略SMP(Shared Modular Policies),特点是:区别于一次对整个模型进行训练的传统做法,该方法是分别对智能体的每个肢体进行训练。

训练过程中同一智能体的不同肢体之间策略权重πθ是共享的:

而不同智能体之间的策略权重πθ也是共享的:

这样一来所有智能体的所有肢体之间的权重都是共享的,之后把所有的智能体放在一起来训练:

为了确保各肢体之间能够协调统一地控制,必须允许信息能在各肢体之间传递:

那么信息传递究竟是应该从上往下还是从下往上呢?

不如来看一下实际效果吧:

上面是对同一组智能体分别执行从下往上和从上往下的信息传递,可以看出效果并不好。

于是作者想到干脆把两种信息传递方式结合起来:

两种信息传递方式共享模块化策略:

那么这样一来效果如何呢?

从上可以看出在使用双向信息传递后,一个单独的策略也能很好地控制所有的智能体,即使这些智能体的形状迥异。

2

整体模型架构

如上图所示,智能体被表示为使用共享控制策略的模块化组件的集合。多个智能体控制器(左)与具有共享参数的局部模块同时训练(中),这些模块学习将消息传递给中心控制器(右)。

3

泛化效果

在从未训练过的智能体上面做测试,可以看出这种模块化共享策略同样能够很好的控制智能体,哪怕有些智能体的胳膊有很多或者很重。

另外,智能体也可以负重前行,负重的物体是在测试时直接加上去的,并没有经过训练,从下图可以看出前行效果还不错。

但是模型的局限性同样是存在的,如果把某部分肢体变得超级大或者干脆去掉腿部的肢体,则智能体很难保持平衡。

4

数据分析实证

智能体的表现变好确实是因为模块化共享策略吗?

下图是不同消息传递模式在同一组智能体上的比较。可以看出分散式消息传递方案(例如自上而下或自下而上)可以在一定程度上学习简单智能体的运动任务,但对于复杂的三肢和两肢变体智能体则无法学习任何有意义的信息。相反,双向消息传递可以模拟多种步态,并显示出明显的优势。

下图展示了随着训练次数的增加,智能体在运动过程种进行信息传递的信息值。可以看出,智能体在运动过程中的信息值会出现峰值,这正是智能体触地时为了保持自身平衡而进行大量信息传递。 这证明了信息捕捉到了与运动行为相对应的交替步态,而且在控制整个智能体姿态中起到了重要作用。

从上面两个数据分析图可以看出智能体的表现变好确实是因为模块化共享策略。

5

论文详细信息

论文地址:https://arxiv.org/pdf/2007.04976.pdf

开源代码:https://github.com/huangwl18/modular-rl

项目主页:https://wenlong.page/modular-rl/

论文的一作Wenlong Huang,加州大学伯克利分校大二,在伯克利人工智能实验室 (BAIR )研究计算机视觉。个人主页:https://wenlong.page/

6

延伸思考

作者在论文之外说到这种共享模块化策略是可以从自然界之中看到。

如下图,昆虫、人、袋鼠等都是有不同肢体组成的。

如下图,马和长颈鹿可以在出生不久之后就能走路跑步,动物这种强大的运动学习能力是一种强化学习的体现,那么动物运动能力这块是不是如作者提出的是共享策略模块呢?

作者提出的共享策略模块表现出了强大的泛化能力,可以说是强化学习的一种新范式,然而实验环境是在完美的平面上,这种条件过于理想。

如果是类比DeepMind之前做的AI跑酷的环境,那么作者的模型还能实现很好的效果吗?还能一种策略控制所有的智能体吗?

抛开上面不谈,来思考一下作者目前提出模型的可应用场景:

用作者的模型来同时生成上百只奇行种的运动场景,想想就很有趣。

参考链接:

https://www.reddit.com/r/MachineLearning/comments/hpajb2/r_one_policy_to_control_them_all_shared_modular/

https://www.youtube.com/watch?v=gEeQ0nzalzo&feature=youtu.be

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 训练策略
  • 整体模型架构
  • 泛化效果
  • 数据分析实证
  • 论文详细信息
  • 延伸思考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档