论文题目: trust region policy optimization
简介
作者介绍
背景
考虑马尔可夫过程(S,A,P,c,ρ0,γ),其中c是代价函数,c:S→R,类似于负回报函数,其余为常规含义。
定义π为随机策略π: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)=∑s′∈S∑a′∈APπ(st−1=s′)π(at−1=a′|s′)P(st=s|at−1=a′,st−1=s′)我们对(1)进行重排,之前(1)时是以一条完整轨迹为求和单位,现在以任意一个状态动作元组(st,at)为求和单元,不难得到
η(˜π)=η(π)+∑sρ˜π(s)∑a˜π(a|s)Aπ(s,a)证明:
η(˜π)=η(π)+∞∑t=0∑s,aP(st=s,at=a|˜π)γtAπ(st=s,at=a)=η(π)+∞∑t=0∑s,aP(st=s|˜π)˜π(a|s)γtAπ(s,a)=η(π)+∞∑t=0∑sP(st=s|˜π)∑a˜π(a|s)γtAπ(s,a)=η(π)+∑s∞∑t=0P(st=s|˜π)γt∑a˜π(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)=1⋅Aπ(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)=12∑i|pi−qi|,其中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)2≤DKL(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:这一结论其实从直觉上是不容易想到的,因为大部分人第一反应是:两个序列ai和bi满足ai≥bi且bi≤bi+1,可是却不一定有ai≤ai+1。其中的关键之处在于Mi(⋅)与Mi+1(⋅)是不一样的。实际上,当我们得到满足η(πi)≥Mi−1(πi)的πi后,就利用刚得到的πi把Mi−1更换为Mi,使得Mi(πi)=η(πi),即将小于η(πi)的Mi−1(πi)提升到等于η(πi)的Mi(πi)了,再在此基础上进一步更新,所以得到的新的Mi(πi+1)≥Mi(πi)=η(πi)就是很正常的了。