End-to-End Training of Deep Visuomotor Policies
概述
这篇是2016年Journal of Machine Learning Research的期刊Paper:End-to-End Training of Deep Visuomotor Policies。非常完整,特别适合对GPS、Trajectory Optimization、Guided Cost Learning进行整理,形成一个框架。
总的来说,传统方法处理的输入是raw state,这篇期刊的输入是image即observation,处理的是一个POMDP的问题。
一般需要将observation通过state estimation或者perception变成state,然后再用state进行control。End-to-End的意思就是把Perception与Control一起训练了。
文章公式细节有点冗长,看到一半捋不顺,可以直接跳到总结。

标记符号的意义,其中 l ( x t , u t ) l(x_t,u_t) l(xt,ut)还是改成用cost function的形式即 c ( x t , u t ) c(x_t,u_t) c(xt,ut)
一、逻辑梳理
1.1 目标
目标是学习一个Visuomotor Policies即 π ( u t ∣ o t ) \pi(u_t|o_t) π(ut∣ot)。就是给定一个Image observation,应该做什么动作。
因此现在参数化的对象是 π θ ( u t ∣ o t ) \pi_\theta(u_t|o_t) πθ(ut∣ot):
π θ ( u t ∣ x t ) = ∫ π θ ( u t ∣ o t ) p ( o t ∣ x t ) d o t \pi_\theta(u_t|x_t)=\int \pi_\theta(u_t|o_t)p(o_t|x_t)do_t πθ(ut∣xt)=∫πθ(ut∣ot)p(ot∣xt)dot
但轨迹分布仍然是定义在state上的:
π θ ( τ ) = p ( x 1 ) ∏ t = 1 T π θ ( u t ∣ x t ) p ( x t + 1 ∣ x t , u t ) \pi_\theta(\tau)=p(x_1)\prod_{t=1}^T\pi_\theta(u_t|x_t)p(x_{t+1}|x_t,u_t) πθ(τ)=p(x1)t=1∏Tπθ(ut∣xt)p(xt+1∣xt,ut)
因此目标为寻找一个参数 θ \theta θ使损失最小:
E π θ ( τ ) [ ∑ t = 1 T c ( x t , u t ) ] E_{\pi_\theta(\tau)}[\sum_{t=1}^Tc(x_t,u_t)] Eπθ(τ)[t=1∑Tc(xt,ut)]
未知的对象有两个,一个是Dynamics即 p ( x t + 1 ∣ x t , u t ) p(x_{t+1}|x_t,u_t) p(xt+1∣xt,ut),一个是observation distribution即 p ( o t ∣ x t ) p(o_t|x_t) p(ot∣xt)。
参数化的对象只有一个: π θ ( u t ∣ o t ) \pi_\theta(u_t|o_t) πθ(ut∣ot)
因此用下面的网络架构建模 π θ ( u t ∣ o t ) \pi_\theta(u_t|o_t) πθ(ut∣ot),并确定形式 π θ ( u t ∣ o t ) = N ( μ ( o t ) , Σ ( o t ) ) \pi_\theta(u_t|o_t)=N(\mu(o_t),\Sigma(o_t)) πθ(ut∣ot)=N(μ(ot),Σ(ot))

1.2 监督信息
确定了目标 π θ ( u t ∣ o t ) \pi_\theta(u_t|o_t) πθ(ut∣ot),现在要确定supervision从哪来?就是说给定 o t o_t ot,要做哪个动作 u t u_t ut?
Supervision来自RL目标解出来的动作即 p i ( u t ∣ x t ) p_i(u_t|x_t) pi(ut∣xt),系统的状态 x t x_t xt是已知的。(同一时刻,记录 ( x t , o t ) (x_t,o_t) (xt,ot),然后RL训练出一个 p i ( u t ∣ x t ) p_i(u_t|x_t) pi(ut∣xt)给 o t o_t ot提供supervision)
因此最主要的问题变为:
- 怎么训练一个linear-Gaussian controllers p i ( u t ∣ x t ) p_i(u_t|x_t) pi(ut∣xt),目标是什么?
- 训练 π ( u t ∣ o t ) \pi(u_t|o_t) π(ut∣ot)的目标是什么?
- 整体训练过程是怎样的?
1.3 训练框架

- Unknown Dynamics: p ( x t + 1 ∣ x t , u t ) p(x_{t+1}|x_t,u_t) p(xt+1∣xt,ut)
- Linear-Gaussian Controllers : p i ( u t ∣ x t ) p_i(u_t|x_t) pi(ut∣xt)
p i ( u t ∣ x t ) p_i(u_t|x_t) pi(ut∣xt)中的 i i i是指从不同initial states开始的Policy - Trajectory distribution:
p i ( τ ) = p i ( x 1 ) ∏ t = 1 T p i ( u t ∣ x t ) p ( x t + 1 ∣ x t , u t ) p_i(\tau)=p_i(x_1)\prod_{t=1}^Tp_i(u_t|x_t)p(x_{t+1}|x_t,u_t) pi(τ)=pi(x1)t=1∏Tpi(ut∣xt)p(xt+1∣xt,ut)
因此从Outer Loop最左侧的循环是用传统方法根据目标 L p L_p Lp将Controllers训练好的,而Inner Loop则是从Controllers那得到Guided Samples根据目标 L θ L_\theta Lθ训练好,得到 π θ ( u t ∣ o t ) \pi_\theta(u_t|o_t) πθ(ut∣ot).
- Policy Distribution:
π θ ( τ ) = p ( x 1 ) ∏ t = 1 T π θ ( u t ∣ x t ) p ( x t + 1 ∣ x t , u t ) \pi_\theta(\tau)=p(x_1)\prod_{t=1}^T\pi_\theta(u_t|x_t)p(x_{t+1}|x_t,u_t) πθ(τ)=p(x1)t=1∏Tπθ(ut∣xt)p(xt+1∣xt,ut)
因此Trajectory Distribution与Policy Distribution的初始状态是不一样的,要想Policy最后学到初始状态的泛化性,就得迭代Policy,使其与Trajectory distribution的state distribution相同,就有了Inner Loop中 L p L_p Lp与 L θ L_\theta Lθ交互优化的那一部分了。
流程清楚了,下面请留意两个未知对象的处理:
一个是Dynamics即 p ( x t + 1 ∣ x t , u t ) p(x_{t+1}|x_t,u_t) p(xt+1∣xt,ut),一个是observation distribution即 p ( o t ∣ x t ) p(o_t|x_t) p(ot∣xt)
二、Dive Into Details
2.1 整体的目标推导
先看看要学习对象 π θ ( u t ∣ o t ) \pi_\theta(u_t|o_t) πθ(ut∣ot)的目标应该是什么?
π θ ( u t ∣ x t ) = ∫ π θ ( u t ∣ o t ) p ( o t ∣ x t ) d o t \pi_\theta(u_t|x_t)=\int \pi_\theta(u_t|o_t)p(o_t|x_t)do_t πθ(ut∣xt)=∫πθ(ut∣ot)p(ot∣xt)dot
因此我们看看 π θ ( u t ∣ x t ) \pi_\theta(u_t|x_t) πθ(ut∣xt):
π θ ( τ ) = p ( x 1 ) ∏ t = 1 T π θ ( u t ∣ x t ) p ( x t + 1 ∣ x t , u t ) \pi_\theta(\tau)=p(x_1)\prod_{t=1}^T\pi_\theta(u_t|x_t)p(x_{t+1}|x_t,u_t) πθ(τ)=p(x1)t=1∏Tπθ(ut∣xt)p(xt+1∣xt,ut)
因此优化这个目标就能学到 π θ ( u t ∣ x t ) \pi_\theta(u_t|x_t) πθ(ut∣xt):
E π θ ( τ ) [ c ( τ ) ] E_{\pi_\theta(\tau)}[c(\tau)] Eπθ(τ)[c(τ)]
这个经典的RL问题呀,当然可以采用VPG、TRPO、PPO一类的On-Policy算法,抑或是DDPG、TD3、SAC求解,但需要的Samples好像有点多,一般都是在虚拟环境上训练再在现实环境中transfer的,因此采用经典的GPS算法进行Guided,这个Guided的对象为 p ( u t ∣ x t ) p(u_t|x_t) p(ut∣xt)目标变为:
min p , π θ E p ( τ ) [ c ( τ ) ] s . t p ( x t ) p ( u t ∣ x t ) = p ( x t ) π θ ( u t ∣ x t ) \min_{p,\pi_\theta}E_{p(\tau)}[c(\tau)]\\ s.t\quad p(x_t)p(u_t|x_t)=p(x_t)\pi_\theta(u_t|x_t) p,πθminEp(τ)[c(τ)]s.tp(xt)p(u

本文探讨了一种端到端训练深度视觉运动策略的方法,适用于未知动力学环境下的视觉控制任务。通过Guided Policy Search框架,结合BADMM优化算法,实现从高维复杂观察到动作的直接映射。
最低0.47元/天 解锁文章
1082





