【深度强化学习】置信域策略优化(TRPO)

1. 置信域方法

置信域方法是数值优化领域中的一类经典算法。几乎所有的数值优化算法都在做这样的迭代,只不过方法略有不同:
θ new ← Update ( Data ; θ now ) \theta_{\text{new}}\leftarrow \text{Update}(\text{Data};\theta_{\text{now}}) θnewUpdate(Data;θnow)而置信域方法首先用到一个置信域的概念:
N ( θ now ) = { θ ∣ ∣ ∣ θ − θ now ∣ ∣ 2 ≤ Δ } \mathcal{N}(\theta_{\text{now}})=\left\{\theta \Big | ||\theta-\theta_{\text{now}}||_2\leq \Delta \right\} N(θnow)={θ ∣∣θθnow2Δ}在这个置信域内,我们构造的函数能够很接近优化目标: L ( θ ∣ θ now ) 很接近 J ( θ ) , ∀ θ ∈ N ( θ now ) L(\theta|\theta_{\text{now}})很接近J(\theta),\quad \forall \theta\in \mathcal{N}(\theta_{\text{now}}) L(θθnow)很接近J(θ),θN(θnow)这样一来我就可以在我构造的函数范围内做优化: θ new = arg max ⁡ θ ∈ N ( θ now ) L ( θ ∣ θ now ) \theta_{\text{new}}=\argmax_{\theta\in\mathcal{N}(\theta_{\text{now}})}L(\theta|\theta_{\text{now}}) θnew=θN(θnow)argmaxL(θθnow)逐次迭代即可实现对一个复杂目标的优化。

2. 策略优化

有了策略网络 π ( a ∣ s ; θ ) \pi(a|s;\theta) π(as;θ),以及基于该策略的对当前状态的每一个动作的未来期望回报函数——动作价值函数 Q π ( s , a ) Q_{\pi}(s,a) Qπ(s,a),我们就可以得到,能够计算出当前状态价值的状态价值函数 V π ( s ) = ∑ a ∈ A π ( a ∣ s ; θ ) ⋅ Q π ( s , a ) = E A ∼ π ( ⋅ ∣ s ; θ ) [ Q π ( s , A ) ] V_{\pi}(s)=\sum_{a\in \mathcal A}\pi(a|s;\theta)·Q_{\pi}(s,a)=\mathbb E_{A\sim\pi(·|s;\theta)}[Q_{\pi}(s,A)] Vπ(s)=aAπ(as;θ)Qπ(s,a)=EAπ(s;θ)[Qπ(s,A)],当一个策略的马尔可夫链运行达到稳态的时候,会有一个状态的稳态分布 ν ( s ) \nu(s) ν(s),那么一个策略越好,它的状态价值函数的期望——策略学习的目标函数 ∑ s ∈ S ν ( s ) V π ( s ) = E S [ V π ( S ) ] = J ( θ ) \sum_{s\in S}\nu(s)V_{\pi}(s)=\mathbb E_S[V_{\pi}(S)]=J(\theta) sSν(s)Vπ(s)=ES[Vπ(S)]=J(θ)一定越大,所以策略学习的优化问题就是 max ⁡ θ J ( θ ) \max_{\theta} J(\theta) maxθJ(θ),因为 S S S A A A都被期望掉了所以 J ( θ ) J(\theta) J(θ)只取决于 θ \theta θ

3. 置信域策略优化

3.1 策略学习的目标函数

trust region policy optimization, TRPO是一种策略学习方法,巧妙地结合了置信域的迭代优化方法——对目标函数做了一个方便迭代的等价形式 V π ( s ) = E A ∼ π ( ⋅ ∣ s ; θ ) [ Q π ( s , A ) ] = ∑ a ∈ A π ( a ∣ s ; θ ) ⋅ Q π ( s , a ) = ∑ a ∈ A π ( a ∣ s ; θ now ) π ( a ∣ s ; θ ) π ( a ∣ s ; θ now ) ⋅ Q π ( s , a ) = E A ∼ π ( ⋅ ∣ s ; θ now ) [ π ( a ∣ s ; θ ) π ( a ∣ s ; θ now ) ⋅ Q π ( s , a ) ] \begin{aligned}V_{\pi}(s)&=\mathbb E_{A\sim\pi(·|s;\theta)}[Q_{\pi}(s,A)]\\&=\sum_{a\in \mathcal A}\pi(a|s;\theta)·Q_{\pi}(s,a)\\&=\sum_{a\in \mathcal A}\pi(a|s;\theta_{\text{now}})\frac{\pi(a|s;\theta)}{\pi(a|s;\theta_{\text{now}})}·Q_{\pi}(s,a)\\ &=\mathbb E_{A\sim \pi(·|s;\theta_{\text{now}})}\left[\frac{\pi(a|s;\theta)}{\pi(a|s;\theta_{\text{now}})}·Q_{\pi}(s,a)\right]\end{aligned}\\ Vπ(s)=EAπ(s;θ)[Qπ(s,A)]=aAπ(as;θ)Qπ(s,a)=aAπ(as;θnow)π(as;θnow)π(as;θ)Qπ(s,a)=EAπ(s;θnow)[π(as;θnow)π(as;θ)Qπ(s,a)] J ( θ ) = E S [ E A ∼ π ( ⋅ ∣ S ; θ ) [ Q π ( S , A ) ] ] ⇒ J ( θ ∣ θ now ) = E S [ E A ∼ π ( ⋅ ∣ S ; θ now ) [ π ( A ∣ S ; θ ) π ( A ∣ S ; θ now ) ⋅ Q π ( S , A ) ] ] \begin{aligned} &J(\theta)&=&\mathbb E_{S}\left[\mathbb E_{A\sim\pi(·|S;\theta)}[Q_{\pi}(S,A)]\right]\\ \Rightarrow &J(\theta|\theta_{\text{now}}) &=&\mathbb E_S\left[\mathbb E_{A\sim \pi(·|S;\theta_{\text{now}})}\left[\frac{\pi(A|S;\theta)}{\pi(A|S;\theta_{\text{now}})}·Q_{\pi}(S,A)\right]\right] \end{aligned} J(θ)J(θθnow)==ES[EAπ(S;θ)[Qπ(S,A)]]ES[EAπ(S;θnow)[π(AS;θnow)π(AS;θ)Qπ(S,A)]]

3.2 做近似

可以采用蒙特卡洛近似 L ~ ( θ ∣ θ now ) = 1 n ∑ t = 1 n π ( a t ∣ s t ; θ ) π ( a t ∣ s t ; θ now ) ⋅ u t \tilde L(\theta|\theta_{\text{now}})=\frac{1}{n}\sum_{t=1}^{n}\frac{\pi(a_t|s_t;\theta)}{\pi(a_t|s_t;\theta_{\text{now}})}·u_t L~(θθnow)=n1t=1nπ(atst;θnow)π(atst;θ)ut其中, { ( s j , a j , r j , s j + 1 ) } j = 1 n \{(s_j,a_j,r_j,s_{j+1})\}_{j=1}^n {(sj,aj,rj,sj+1)}j=1n是用旧策略 π ( a t ∣ s t ; θ now ) \pi(a_t|s_t;\theta_{\text{now}}) π(atst;θnow)生成的轨迹,是对策略分布的近似。 u t = r t + γ ⋅ r t + 1 + γ 2 ⋅ r t + 2 + ⋅ ⋅ ⋅ + γ n − t ⋅ r n u_t=r_t+\gamma· r_{t+1}+\gamma^2·r_{t+2}+···+\gamma^{n-t}·r_n ut=rt+γrt+1+γ2rt+2+⋅⋅⋅+γntrn折扣回报,是对 Q π ( s t ∣ a t ; θ ) ( s t , a t ) Q_{\pi(s_t|a_t;\theta)}(s_t,a_t) Qπ(stat;θ)(st,at)的近似。

3.3 最大化

这是一个参数需要在置信域内的带约束的最大化问题: max ⁡ θ L ~ ( θ ∣ θ now ) , s.t . θ ∈ N ( θ now ) \max_{\theta} \tilde L(\theta|\theta_{\text{now}}), \quad \text{s.t}.\quad\theta\in\mathcal N(\theta_{\text{now}}) θmaxL~(θθnow),s.t.θN(θnow)置信域可以采用KL散度 max ⁡ θ L ~ ( θ ∣ θ now ) , s.t . 1 t ∑ i = 1 t KL [ π ( ⋅ ∣ s i ; θ now ) ∣ ∣ π ( ⋅ ∣ s i ; θ ) ] ≤ Δ \max_{\theta} \tilde L(\theta|\theta_{\text{now}}), \quad \text{s.t}.\quad\frac{1}{t}\sum_{i=1}^t\text{KL}\bigg [\pi(·|s_i;\theta_{\text{now}})||\pi(·|s_i;\theta)\bigg]\leq \Delta θmaxL~(θθnow),s.t.t1i=1tKL[π(si;θnow)∣∣π(si;θ)]Δ其中 Δ \Delta Δ是一个需要调整的超参数。至此,TRPO的思想讲完了。

细节说明

  • 在另外一些地方,你可能会看到类似 J ( θ ) = E π θ [ Q π θ ( S , A ) ] J(\theta) =\mathbb E_{\pi_{\theta}}[Q_{\pi_{\theta}}(S,A)] J(θ)=Eπθ[Qπθ(S,A)]的写法,本质上这和 J ( θ ) = E S [ E A ∼ π ( ⋅ ∣ S ; θ ) [ Q π θ ( S , A ) ] ] J(\theta) =\mathbb E_{S}\bigg [\mathbb E_{A\sim\pi(·|S;\theta)}[Q_{\pi_{\theta}}(S,A)]\bigg] J(θ)=ES[EAπ(S;θ)[Qπθ(S,A)]]没什么区别,只是把对 S S S A A A这两重期望合并成一重对策略 π θ \pi_{\theta} πθ的期望。实际当中常用基于 π θ \pi_{\theta} πθ的折扣回报来替代动作价值函数: J ( θ ) = E π θ [ ∑ t = 0 ∞ γ t r ( s t , a t ) ] J(\theta)=\mathbb E_{\pi_{\theta}}[\sum_{t=0}^{\infty}\gamma^t r(s_t,a_t)] J(θ)=Eπθ[t=0γtr(st,at)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值