漫谈引导策略搜索 - A Review of Guided Policy Search (GPS)

引导策略搜索方法(Guided Policy Search)最早见于2015年 Sergey Levine 的博士论文

Levine S, “Motor skill learning with local trajectory methods,” PhD thesis, Stanford University, 2014.

GPS将策略搜索分为两步:控制相监督相。这样有什么好处呢?这要从无模型强化学习方法的局限性说起。TRPO方法和DDPG方法都是典型的无模型强化学习方法。他们有很多优点,比如可以不对外界环境进行建模,当外界环境十分复杂的时候,这些方法是唯一可行的方法。但是我模型的强化学习智能通过不断尝试来探索环境,这些算法最多只能处理数百个参数的网络,对于更大的网络,这些方法的效率不高。

解决无模型随机搜索问题的方法就是利用模型搜索。有了模型之后:

  1. 利用模型和基于模型的优化算法,可以得到回报高的数据,也就是好数据。
  2. 有了模型,我们可以充分利用示教(Demonstration)进行学习。

因此,GPS方法将策略搜索方法分成控制相和监督相。控制相通过轨迹最优、传统控制器或随机最优等方法控制产生好的数据;监督相利用从控制相产生的好数据进行监督学习。

GPS是一类强化学习方法,其包含的具体方法有多种。GPS的发展可以从三个方面了解:

  1. 从问题的构建来看:GPS从基于重要性采样的GPS(ISCPS) - 基于变分推理的GPS(vGPS) - 基于约束的GPS(cGPS) 。
  2. 从优化的方法来看:cGPS经历了 Dual GPS(对偶梯度下降法)- BADMM(布雷格曼交叉方向乘子法)- Mirror Descent GPS(镜像下降优化算法)。
  3. 从控制相来看:GPS从基于轨迹最优(微分动态规划DDP、线性二次规划LQR和线性二次高斯LQG) - 随机最优控制PI2 GPS。

接下来我们大致介绍下基于约束的GPS方法,依据是2014年Levine在ICML上的论文:

Learning Complex Neural Network Policies with Trajectory Optimization

这里不做细致推导。

基于约束的引导策略搜索方法可形式化为:

minθ,qDKL(q(τ)ρ(τ))s.t. q(x1)=p(x1)q(xt+1|xt,ut)=p(xt+1|xt,ut)DKL(q(xt)πθ(ut|xt)q(xt,ut))=0 min θ , q D K L ( q ( τ ) ‖ ρ ( τ ) ) s.t.  q ( x 1 ) = p ( x 1 ) q ( x t + 1 | x t , u t ) = p ( x t + 1 | x t , u t ) D K L ( q ( x t ) π θ ( u t | x t ) ‖ q ( x t , u t ) ) = 0
其中 ρ(τ)exp(l(τ)) ρ ( τ ) ∝ exp ⁡ ( l ( τ ) ) 。首先,可以看出目标函数是一个KL散度:
DKL(q(τ)ρ(τ))=q(τ)logq(τ)ρ(τ)dτ D K L ( q ( τ ) ‖ ρ ( τ ) ) = ∫ q ( τ ) log ⁡ q ( τ ) ρ ( τ ) d τ
KL散度衡量连个概率分布之间的距离,目标为什么是KL散度呢?我们利用KL散度公式展开目标函数:
DKL(q(τ)ρ(τ))=q(τ)logq(τ)dτq(τ)logρ(τ)dτ D K L ( q ( τ ) ‖ ρ ( τ ) ) = ∫ q ( τ ) log ⁡ q ( τ ) d τ − ∫ q ( τ ) log ⁡ ρ ( τ ) d τ
ρ(τ)exp(l(τ)) ρ ( τ ) ∝ exp ⁡ ( l ( τ ) ) 代入,并忽略常数项:
DKL(q(τ)ρ(τ))=H(q)Eq(l(τ))+const D K L ( q ( τ ) ‖ ρ ( τ ) ) = − H ( q ) − E q ( l ( τ ) ) + c o n s t
第一项是分布 q q 的熵,第二项为累计回报的期望函数。在GPS问题中,最小化目标函数相当于最大化累计汇报和最大化熵。最大化熵是为了保证最优控制分布是一个分布,而非一个确定值。第二项是最大化累计回报,和常用的强化学习目标保持一致。

cGPS算法的伪代码如下:

  1. Initialize the trajectories q1(τ),,qM(τ) q 1 ( τ ) , … , q M ( τ )
  2. for iteration k=1 k = 1 to K K do
    1. Optimize each qi(τ) q i ( τ ) with respect to L(θ,qi(τ),λi) L ( θ , q i ( τ ) , λ i )
    2. Optimize θ θ with respect to Mi=1L(θ,qi(τ),λi) ∑ i = 1 M L ( θ , q i ( τ ) , λ i )
    3. Update dual variables λ λ using λiλt+ηDKL(q(xt)πθ(ut|xt)q(xt,ut)) λ i ← λ t + η D K L ( q ( x t ) π θ ( u t | x t ) ‖ q ( x t , u t ) )
  3. end for
  4. return optimized policy parameters θ θ

你可能感兴趣的:(Reinforcement,Learning)