One Policy to Control Them All:Shared Modular Policies for Agent-Agnostic Control

今天在寻找管理跨度文章的时候,无意中发现一篇很有意思的文章,关于复杂agent控制中,在神经网络的基础上,通过共享机制实现对多agent的控制。部分内容引自知乎dung defender。

发表在ICML2020的 One Policy to Control Them All: Shared Modular Policies for Agent-Agnostic Control。正如题目所示,这篇工作提出了一种模块化的策略网络用来控制不同外形的agent学会运动。

首先回顾问题的背景。

自从deep reinforcement learning大火以来,它就被用到各种各样的机器人任务上来帮助学习对应的控制策略,并且取得了非常好的效果。但是这些算法通常都是对于一个特定的机器人来优化控制策略,比如openai gym里的humanoid或者half-cheetah模型。很少有工作探索如何用一个控制策略来控制外形不同的机器人。比如我们如何用一个控制器来控制不同的双足,四足机器人?如下图所示:

这个问题的难点在哪里?

首先第一点:外形拓扑不同的机器人的state和action space的维度也不同,设计一个能够作用于不同外形的机器人的控制器并不trivial。第二点:即使机器人的state和action的space维度相同,由于deep reinforcement learning非常容易过拟合,学习一个可以泛化到相同拓扑不同参数的机器人的控制策略也很困难。比如,我们如果在一个瘦子上训练得到一个行走控制器,那么这个控制器一般情况下无法直接用到一个胖子身上,需要进行finetune。所以通常情况下,大部分相关工作的处理方法是:让训练集等于测试集。在DRL训练的过程中我们就让policy network见过不同外形参数的人,这样在test时就可以直接拿来用。比如SIGGRAPH2019的Learning Body Shape Variation in Physics-based Characters就采用了这种暴力的做法,学习到一个可以用于不同身材的统一行走控制器。

ICML的这篇文章解决的是第一个问题。他们的思路很有意思:既然一个神经网络来控制所有关节的控制信号会由于维度不同而出现问题。那么我们也可以让每个关节单独由一个神经网络来控制,然后这些网络共享权重,这样的话就可以实现对不同外形的机器人的控制策略同意表达了。这种表达方法不受限于机器人的外形拓扑。我们接下来会自然地想到:这些神经网络共享权重,想要每个关节输出的控制信号不同,需要网络的输入也不同。一个很自然的选择就是每个关节处的控制网络只接受当前的关节状态信息作为输入。但是这种做法限制了网络的表达能力,因为每个网络只能看到自己的信息,而不能看到全局信息。

这里作者们提出了一种message passing的策略:每个关节处的控制网络的输入除了当前的关节状态,还包括他们周围的关节信息。更具体一点,作者们提出了三种message passing的方法: bottom-up, top-down 和both-way passing。bottom-up是指每个关节处的网络输入它子关节传递上来的信息和它本身的状态,然后输出控制信号以及融合之后的信息。融合之后的信息被传到它的父关节,层层上升。相反的,top-down把这种方式反向从root关节向子关节们传递。Both-way则结合了这两种做法:首先用bottom-up来从下向上传递信息,然后再top-down地输出每个关节的控制信号。

以上就是这篇文章的核心思想。在做实验的时候,作者们生成了20个不同拓扑外形的agent,然后用他们提出的这套模块化网络来学习行走策略。之后再把学习好的策略用到完全没见过的机器人上实现zero-shot skill transfer。值得注意的是,在实验里面作者用的机器人全部都是二维的,并没有在3d的task上做测试。

个人的一些看法:首先这篇文章很有意思,提出了一种全新的广义的跨外形的控制表达方式。这种表达方式去中心化,所以很自然地可以做到跨外形的动作迁移。但是我个人感觉这样的表达方式更接近一些节肢动物,而非人类。而且作者们只在简单的任务上测试了二维的机器人,我不太确定这种方法能否用到3d的,哪怕是拓扑一样的不同身材的机器人控制上。比如这里我们来定义一个类似的问题:physics-based motion retargeting。给定一个固定身材的humanoid机器人和一个对应的动作控制器,能否利用zero-shot的形式把这个控制器迁移到另外一个不同身材的humanoid机器人上?我个人认为这个问题很困难,不是这篇文章的方法可以直接来解决的。需要一些新的insight和技术来解决这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值