siqili's Blog 要多想

trust region policy optimization 阅读笔记


论文题目: trust region policy optimization

简介

作者介绍

背景

考虑马尔可夫过程(S,A,P,c,ρ0,γ),其中c是代价函数,c:SR,类似于负回报函数,其余为常规含义。

定义π为随机策略π:S×A[0,1],定义η(π)为期望代价:

η(π)=Es0,a0,[t=0γtc(st)]

继而定义常规的QπVπAπ

Qπ(st,at)=Est+1,at+1,[l=0γlc(st+l)]Vπ(st)=Eat,st+1,[l=0γlc(st+l)]Aπ(s,a)=Qπ(s,a)Vπ(s)

我们考虑一个新策略˜π的期望代价η(˜π)与基准策略的期望代价η(π)的关系:

\begin{aligned} &\eta(\tilde{\pi})=\eta(\pi)+\mathbb{E}_{s_0,a_0,\cdots}\Big[\sum_{t=0}^\infty\gamma^tA_\pi(s_t,a_t)\Big],\mathrm{where} \\ &a_t\sim\tilde{\pi}(a_t\vert s_t)     \tag{1} \end{aligned}

证明:

η(˜π)η(π)=E(st,at)˜π[t=0γtc(st)]Es0ρ0[Vπ(s0)]=E(st,at)˜π[t=0γtc(st)Vπ(s0)]=E(st,at)˜π[t=0γtc(st)+t=1γtVπ(st)t=0γtVπ(st)]=E(st,at)˜π[t=0γtc(st)+γt=0γtVπ(st+1)t=0γtVπ(st)]=E(st,at)˜π[t=0γt[c(st)+γVπ(st+1)Vπ(st)]]=E(st,at)˜π[t=0γt[Qπ(st,at)Vπ(st)]]=E(st,at)˜π[t=0γtAπ(st,at)]

为表示方便,记

ρπ(s)=(Pπ(s0=s)+γPπ(s1=s)+γ2Pπ(s2=s)+)

表示在策略π下出现状态s的折扣概率。其中

Pπ(st=s)=sSaAPπ(st1=s)π(at1=a|s)P(st=s|at1=a,st1=s)

我们对(1)进行重排,之前(1)时是以一条完整轨迹为求和单位,现在以任意一个状态动作元组(st,at)为求和单元,不难得到

η(˜π)=η(π)+sρ˜π(s)a˜π(a|s)Aπ(s,a)

证明:

η(˜π)=η(π)+t=0s,aP(st=s,at=a|˜π)γtAπ(st=s,at=a)=η(π)+t=0s,aP(st=s|˜π)˜π(a|s)γtAπ(s,a)=η(π)+t=0sP(st=s|˜π)a˜π(a|s)γtAπ(s,a)=η(π)+st=0P(st=s|˜π)γta˜π(a|s)Aπ(s,a)=η(π)+sρ˜π(s)a˜π(a|s)Aπ(s,a)

(2)的基础上,我们可以发现,只要对任意的s,都有a˜π(a|s)Aπ(s,a)0,就可以保证η(˜π)η(π),也就是实现了策略更新时,回报递增。这个结论同时也说明了贪心的策略迭代方法˜π(s)=argmaxaAπ(s,a),由于

a˜π(a|s)Aπ(s,a)=1Aπ(s,˜π(s))=maxaA(s,a)=maxa[Q(s,a)V(s)]=maxaQ(s,a)EaQ(s,a)0

总是保证回报不下降的。

那么看起来似乎贪心的策略迭代方法是一个很好的方法。 然而,由于估计(对V,Q的估计)和近似(对E的计算不是严格穷举的,而是基于采样)的误差,总是存在某些状态s使得a˜π(a|s)Aπ(s,a)<0,因此贪心策略迭代也不能保证回报不下降。

另一方面,(2)对于ρ˜π(s)的依赖也导致了基于(2)直接优化/求梯度是一件非常困难的事(因为我们没有˜π的轨迹信息)。因此我们考虑第一步近似操作,把ρ˜π(s)替换为ρπ(s)

Lπ(˜π)=η(π)+sρπ(s)a˜π(a|s)Aπ(s,a)

此时我们需要注意到,(当我们把策略π看作参数化策略πθ时)Lπ0()η()π0处的一阶泰勒展开是一样的,即具有一阶近似性:

\begin{aligned}
L_{\pi_{\theta_0}}(\pi_{\theta_0})&=\eta(\pi_{\theta_0}) \\
\nabla_\theta L_{\pi_{\theta_0}}(\pi_{\theta})\vert_{\theta=\theta_0}&=\nabla_\theta \eta(\pi_{\theta})\vert_{\theta=\theta_0} \tag{4}
\end{aligned}

这一性质暗示了,当我们用足够小的步长去执行πθ0˜π时,如果Lπθold(πθold+ϵ1)>Lπθold(πθold+ϵ2),那么就有η(πθold+ϵ1)>η(πθold+ϵ2)(一般情况下每次更新了策略,都会用新策略替换掉旧策略,即上式中ϵ2为零向量的情况)。

简单来说,上述结论为:在θ0的一个领域内,Lπθ0()η()同增同减。

但我们并不知道多小的领域才满足这个性质,或者说,Lπ()η()之间的差距与步长有什么关系。这里直接给出研究结论:

\begin{aligned}
\mathrm{Note}& \ \pi^*=\arg\max_{\pi'}L_{\pi_\mathrm{old}}(\pi')\\
\mathrm{let} \ \ \ \ & \ \pi_{\mathrm{new}}(a\vert s)=(1-\alpha)\pi_{\mathrm{old}}(a\vert s)+\alpha \pi^*(a\vert s)\\
\mathrm{get}\ \ \ & \ \eta(\pi_\mathrm{new})\geq L_{\pi_\mathrm{old}}(\pi_\mathrm{new})-\frac{2\epsilon\gamma}{(1-\gamma)^2}\alpha^2 \\
&\mathrm{where} \ \epsilon=\max_s \vert \mathbb{E}_ {a\sim\pi'} [A_\pi(s,a)] \vert \tag{6}
\end{aligned}

这里α本质上是对πnewπold之间差距的刻画,即公式(6)是在说,πnew的真实价值η(πnew)与作者给出的近似估计值Lπold(πnew)之间的差距,可以由α控制住。虽然这里只给出η的下界,但是由于η是肯定小于Lπ的(根据公式(3)),所以可以说差距已经被控制住了。但这个结论只适用于保守型(线性组合法)的策略更新规则,在实际中难以应用。

在一般随机策略中保持回报单调提升

先写结论:作者证明了(6)的结论稍作修改,在一般随机策略中也成立——只要修改步长α(某种意义上也是邻域大小)为π˜π的距离,再修正常数ϵ即可。

首先,策略的距离选择上,作者采用全变分散度:DTV(p||q)=12i|piqi|,其中p,q是离散随机变量的分布。

\begin{aligned}
D_{TV}^{\max}(\pi,\tilde{\pi})=\max_s D_{TV}(\pi(\cdot\vert s)\vert \vert \tilde{\pi}(\cdot\vert s)) \tag{7}
\end{aligned}

利用全变分散度和KL散度之间的关系:DTV(p||q)2DKL(p||q),令DmaxKL(π,˜π)=maxsDKL(π(,s)||˜π(,s)),可以进一步修改定理一为:

至此我们得到了一般随机策略下的ηLπ的关系,因此只要用公式(9)的右式代替η执行策略迭代算法,即算法一:

容易证明算法一得到的策略序列πi满足η(πi)η(πi+1)

记$M_i(\pi)=L_{\pi_i}(\pi)-CD^{\mathrm{max}}{KL}(\pi_i,\pi)\eta(\pi_i)=M_i(\pi_i), \ \eta(\pi{i+1})\geq M_{i}(\pi_{i+1})\eta(\pi_{i+1})-\eta(\pi_i)\geq M_i(\pi_{i+1})-M_i(\pi_i)\geq 0$。

PS:这一结论其实从直觉上是不容易想到的,因为大部分人第一反应是:两个序列aibi满足aibibibi+1,可是却不一定有aiai+1。其中的关键之处在于Mi()Mi+1()是不一样的。实际上,当我们得到满足η(πi)Mi1(πi)πi后,就利用刚得到的πiMi1更换为Mi,使得Mi(πi)=η(πi),即将小于η(πi)Mi1(πi)提升到等于η(πi)Mi(πi)了,再在此基础上进一步更新,所以得到的新的Mi(πi+1)Mi(πi)=η(πi)就是很正常的了。


分享到:

上一篇 概率论(4)

下一篇 Notes of CS598

Comments

Error: Comments Not Initialized