Paper-10 精读MetaMimic (2019 DeepMind)

概述

MetaMimic
概述大概是我对这篇Paper读后的大体印象吧。

  1. MetaMimic是一种off-policy的RL算法,想方设法利用更多experiences,而不是on-policy的方式
  2. 提倡在测试时用,一个Demonstration就能让Agent迅速在New Task中取得不错的效果
  3. DeepMind就很粗暴地用一个超大网络来提取所有experiences中的human knowledge,然后这些Human Knowledge只需要One-Shot就能不错完成任务
  4. 最重要的setting是,这个直接从Vision-based层面进行控制的,不走state,不走GPS那一套。

(这篇还没有被接收,是Preprint,估计是很暴力,个人感觉做法还挺有启发性的,有可能是没开源,也有可能没跟相应的Baseline做对比,即使放出一个Train好的Policy应该总行吧?)

一、文章框架

1.1 整体流程

1
上图主要有两个流程:

  1. 左边从Demo中学习一个One-Shot High-Fidelity Imitation Policy,并用其产生Rich Experiences
  2. 右边通过Imitation Policy产生的所有Rich Experiences,得到一个Unconditional Task Policy

1.2 Imitation Policy

数据:用一系列demonstrations来定义一个imitation tasks的集合(输入是images)
优化算法:用D4PG在这个集合上进行训练(D4PG是一个off-policy的RL算法,也是DDPG、TD3的分布式变种,便于处理连续动作的控制任务)
结果:一个One-Shot Conditional Policy(输出)

下面开始细化一下一个task,一个task里的demonstration以及Imitation Policy的形式。

考虑一个task中的一个demonstration服从一个分布: d = { d 1 , . . . , d T } ∼ p d d=\{d_1,...,d_T\}\sim p_d d={d1,...,dT}pd

Policy定义为当前observation与demo轨迹输入的函数: a t = π θ ( o t , d ) a_t=\pi_\theta(o_t,d) at=πθ(ot,d)

定义对一个Policy在环境中Rollout出Observation的表达: E ( π ) = { o 1 , . . . , o T } = o \mathcal{E}(\pi)=\{o_1,...,o_T\}=o E(π)={o1,...,oT}=o

优化目标为: θ ∗ = arg max ⁡ θ E d ∼ p d [ ∑ t γ t s i m ( d t , E ( π θ ( o t , d ) ) t ] \theta^*=\argmax_\theta \mathbb{E}_{d\sim p_d}\Big[\sum_t\gamma^t sim(d_t,\mathcal{E}(\pi_\theta(o_t,d))_t\Big] θ=θargmaxEdpd[tγtsim(dt,E(πθ(ot,d))t]

其中 s i m sim sim是similarity measure,是observation与demonstration的相似程度,换个角度看是Reward,衡量的是当前 d t d_t dt与policy rollout以后观测序列o之间的相似度。

通俗地讲,这里的demonstration是没有action的,训练的时候,需要学习的action作用环境后,使当前输入的observation即 o t o_t ot与未来时刻demonstration的信息(信息!信息!)尽可能相近。

然后假设学习到了 π θ ∗ ( o t , d ∗ ) \pi_{\theta^*}(o_t,d^*) πθ(ot,d),测试时,给定一个demo,初始的 o 1 o_1 o1,就可以得到一系列的 ( o t , a t ) (o_t,a_t) (ot,at)
2

请务必过一下上面的流程,这里将 π ( o t , d ) \pi(o_t,d) π(ot,d)简化成了 π ( o t , d t + 1 ) \pi(o_t,d_{t+1}) π(ot,dt+1),输入当前时刻 o t o_t ot,选择一个动作 a t a_t at能使下一时刻能尽可能接近demo的 d t + 1 d_{t+1} dt+1。实际上 d t + 1 d_{t+1} dt+1就是一个goal state即 g t g_t gt,于是Imitation Policy就可以表示成下面这种结构:
4
这里的 r i m i t a t e ( o t + 1 , d t + 1 ) r^{imitate}(o_{t+1},d_{t+1}) rimitate(ot+1,dt+1)就是similarity measure的一种形式,这个可以学习也可以设计,Paper采用了人为设计similarity的方式:
5

其中image表示raw pixel observation,body表示一些额外的测量信息如joint、end–effector position、velocities等。

小总结一下

θ ∗ = arg max ⁡ θ E d ∼ p d [ ∑ t γ t s i m ( d t , E ( π θ ( o t , d ) ) t ] \theta^*=\argmax_\theta \mathbb{E}_{d\sim p_d}\Big[\sum_t\gamma^t sim(d_t,\mathcal{E}(\pi_\theta(o_t,d))_t\Big] θ=θargmaxEdpd[tγtsim(dt,E(πθ(ot,d))t]

那么目标的 π θ \pi_\theta πθ用一个网络代替了, E \mathcal{E} E是一个rollout的操作,需要与环境交互,然后 s i m sim sim这个相似度(即reward)采用了image与body之间的距离进行度量,最后再用RL的其中一种算法D4PG对 π θ \pi_\theta πθ进行学习.

然后可以用学习到的 π ( o t , d t + 1 ) \pi(o_t,d_{t+1}) π(ot,dt+1),在某个任务下进行rollout,收集样本,这些不同任务收集的所有样本就称为rich experiences

3

4

实际上,这个Imitation Policy本质就是一个基于goal与state的Policy即 π ( a t ∣ s t , g t ) \pi(a_t|s_t,g_t) π(atst,gt),然后Imitate reward就是那个imitation Similarity的衡量,再设计一个task reward,其实就是2018 ACL的那个Mimic里提到的将Imitation Objective与Task Objective结合方法,只是这里偏要换一种说法。。。

(稍微吐槽一下,这篇文章的描述很狗血,明明就是一个Meta-Learning引进了DeepMimic里面,然后Meta-Learning的关键就是怎么设计这些任务呀!竟然没有重点交代,还换了一种说法什么Ont-Shot High-Fidelity Imitation Policy,我都服了,怪不得Preprint,故事讲得乱七八糟,但还是有价值的)

1.3 Unconditional Task Policy

然后所谓的Unconditional Task Policy,就是正常的off-policy RL算法,监督信息来自 r t t a s k r_t^{task} rttask,只是在多任务,Meta-Learning的设定下。所以没什么好介绍的,贴图。

5
6

总结

一句话总结一下:将Meta-Learning引入在2018 ACL上的DeepMimic。

这篇文章其实没什么创新点,比较有意思的点可能是这个目标的定义了,还有一份算法相关的整理,嗯,有点像总结文,便于梳理。。。(可以看看Related Work以及算法整理的表格)

7

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值