AI大模型教程
一起来学习

【RL第五篇】信赖域策略优化-Trust Region Policy Optimization(TRPO)

一、前言

TRPO(Trust Region Policy Optimization)

二、策略梯度学习步长

回顾一下策略梯度的目标公式:
J(θ)=Eτ∼πθ[R(τ)]J(theta) = mathbb{E}_{tau sim pi_theta} left[ R(tau) right]J(θ)=Eτπθ[R(τ)]

如果把轨迹展开可以表示为:

J(π)=Es0,a0,…[∑t=0∞γtr(st)]
J(pi) = mathbb{E}_{s_0, a_0, ldots} left[ sum_{t=0}^{infty} gamma^t r(s_t) right]
J(π)=Es0,a0,[t=0γtr(st)]

其中s0∼p(s0), at∼π(at∣st), st+1∼p(st+1∣st,at), π为策略s_0 sim p(s_0), a_t sim pi(a_t vert s_t), s_{t+1} sim p(s_{t+1} vert s_t, a_t), pi为策略s0p(s0), atπ(atst), st+1p(st+1st,at), π为策略

将参数 θthetaθ 按如下方式更新:
θ←θ+α⋅g^
theta leftarrow theta + alpha cdothat{g}
θθ+αg^

其中 αalphaα为学习步长。

基本原理是利用梯度上升法朝着最大预期收益的方向优化。

然而,不合理的学习步长,会导致梯度上升法中的错误步骤可能导致次优操作,进而导致糟糕的状态。这反过来又会导致策略更新不佳和样本数据收集不佳。如此循环往复,最终可能导致策略性能崩溃,训练过程彻底失败。

三、前期理论

3.1 引入新旧策略关系

J(π)J(pi)J(π)也等于state初始化状态下预期的价值,故存在等式:
J(π)=Es0,a0,…[∑t=0∞γtr(st)]=E[Vπ(s0)]
J(pi) = mathbb{E}_{s_0, a_0, ldots} left[ sum_{t=0}^{infty} gamma^t r(s_t) right] = mathbb{E} left[ V_{pi}(s_0) right]
J(π)=Es0,a0,[t=0γtr(st)]=E[Vπ(s0)]

又上一篇GAE可知:
A^π(st,at)=[r(st,at)+γVπ(st+1)]−Vπ(st)hat{A}^pi(s_t, a_t) = left[ r(s_t, a_t) + gamma V^pi(s_{t+1}) right] – V^pi(s_t)A^π(st,at)=[r(st,at)+γVπ(st+1)]Vπ(st)

所以可以得到:
Es0,a0,…∼π~[∑t=0∞γtAπ(st,at)]=Es0,a0,…∼π~[∑t=0∞γt(Qπ(st,at)−Vπ(st))]=Es0,a0,…∼π~[∑t=0∞γt(r(st)+γVπ(st+1)−Vπ(st))]=Es0,a0,…∼π~[−Vπ(s0)+∑t=0∞γtr(st)]
begin{align*}
mathbb{E}_{s_0, a_0, ldots sim tilde{pi}} left[ sum_{t=0}^{infty} gamma^t A_{pi}(s_t, a_t) right] &= mathbb{E}_{s_0, a_0, ldots sim tilde{pi}} left[ sum_{t=0}^{infty} gamma^t left( Q_{pi}(s_t, a_t) – V_{pi}(s_t) right) right]
&= mathbb{E}_{s_0, a_0, ldots sim tilde{pi}} left[ sum_{t=0}^{infty} gamma^t left( r(s_t) + gamma V_{pi}(s_{t+1}) – V_{pi}(s_t) right) right]
&= mathbb{E}_{s_0, a_0, ldots sim tilde{pi}} left[ -V_{pi}(s_0) + sum_{t=0}^{infty} gamma^t r(s_t) right]
end{align*}
Es0,a0,π~[t=0γtAπ(st,at)]=Es0,a0,π~[t=0γt(Qπ(st,at)Vπ(st))]=Es0,a0,π~[t=0γt(r(st)+γVπ(st+1)Vπ(st))]=Es0,a0,π~[Vπ(s0)+t=0γtr(st)]

根据新旧策略的初始状态是一致的(因为新状态是由旧状态一步步更新的,初始是一样的),则

Es0,a0,…∼π~[−Vπ(s0)]=−Es0[Vπ(s0)]
mathbb{E}_{s_0, a_0, ldots sim tilde{pi}} left[ -V_{pi}(s_0)right] = -mathbb{E}_{s_0} left[ V_{pi}(s_0) right]
Es0,a0,π~[Vπ(s0)]=Es0[Vπ(s0)]

所以可以得到:
Es0,a0,…∼π~[∑t=0∞γtAπ(st,at)]=−Es0[Vπ(s0)]+Es0,a0,…∼π~[∑t=0∞γtr(st)]=−J(π)+J(π~)
begin{align*}
mathbb{E}_{s_0, a_0, ldots sim tilde{pi}} left[ sum_{t=0}^{infty} gamma^t A_{pi}(s_t, a_t) right]
&= -mathbb{E}_{s_0} left[ V_{pi}(s_0) right] + mathbb{E}_{s_0, a_0, ldots sim tilde{pi}} left[ sum_{t=0}^{infty} gamma^t r(s_t) right]
&= -J(pi) + J(tilde{pi})
end{align*}
Es0,a0,π~[t=0γtAπ(st,at)]=Es0[Vπ(s0)]+Es0,a0,π~[t=0γtr(st)]=J(π)+J(π~)

最终得到新旧策略的关系等式:

J(π~)=J(π)+Es0,a0,…∼π~[∑t=0∞γtAπ(st,at)](3.1)J(tilde{pi}) = J(pi) + mathbb{E}_{s_0,a_0,ldots sim tilde{pi}} bigg[ sum_{t=0}^{infty} gamma^t A_pi(s_t, a_t) bigg] tag{3.1}J(π~)=J(π)+Es0,a0,π~[t=0γtAπ(st,at)](3.1)

其中Aπ(st,at)A_pi(s_t, a_t)Aπ(st,at)为优势函数,Aπ(st,at)=Qπ(st,at)−Vπ(st)A_pi(s_t, a_t) = Q_pi(s_t, a_t) – V_pi(s_t)Aπ(st,at)=Qπ(st,at)Vπ(st)

直观理解:新策略 π~tilde{pi}π~ 的回报期望 = 原策略 πpiπ 的回报期望 + 采用新策略π~新策略tilde{pi}新策略π~采样的轨迹中 “优势” 的期望总和(优势为正,新策略更好),此时的优势计算是基于旧策略πpiπ计算估计的。

对期望做展开
J(π~)=J(π)+∑t=0∞∑sp(st=s∣π~)∑aπ~(a∣s)γtAπ(s,a)=J(π)+∑s∑t=0∞γtp(st=s∣π~)∑aπ~(a∣s)Aπ(s,a)
begin{align*}
J(tilde{pi}) &= J(pi) + sum_{t=0}^{infty} sum_{s} p(s_t = s vert tilde{pi}) sum_{a} tilde{pi}(a vert s) gamma^t A_pi(s, a)
&= J(pi) + sum_{s} sum_{t=0}^{infty} gamma^t p(s_t = s vert tilde{pi}) sum_{a} tilde{pi}(a vert s) A_pi(s, a)
end{align*}
J(π~)=J(π)+t=0sp(st=sπ~)aπ~(as)γtAπ(s,a)=J(π)+st=0γtp(st=sπ~)aπ~(as)Aπ(s,a)

定义 ρπ~rho_{tilde{pi}}ρπ~ 是折扣状态访问频率:

ρπ(s)=p(s0=s)+γp(s1=s)+γ2p(s2=s)+…
rho_{pi}(s) = p(s_0 = s) + gamma p(s_1 = s) + gamma^2 p(s_2 = s) + ldots
ρπ(s)=p(s0=s)+γp(s1=s)+γ2p(s2=s)+

则可以表示为:
J(π~)=J(π)+∑sρπ~(s)∑aπ~(a∣s)Aπ(s,a)
J(tilde{pi})= J(pi) + sum_{s} rho_{tilde{pi}}(s) sum_{a} tilde{pi}(a vert s) A_pi(s, a)
J(π~)=J(π)+sρπ~(s)aπ~(as)Aπ(s,a)

3.2 局部近似

对于RL任务就是对J(π~)J(tilde{pi})J(π~)求梯度,J(π)J(pi)J(π)对于π~tilde{pi}π~一节求导为0,有关于优势函数的式子中有两处与π~tilde{pi}π~相关,状态需要新策略,状态与动作的映射也是新策略,这会让优化比较麻烦,所以有了以下的操作:

用 “原策略 πpiπ 的状态分布$
rho_{pi}(s) ”替代“新策略  ” 替代 “新策略  ”替代新策略 tilde{pi}$ 的状态分布 ρπ~(s)rho_{tilde{pi}}(s)ρπ~(s)“ 得到J(π~)J(tilde{pi})J(π~)的局部近似值Lπ(π~)L_pi(tilde{pi})Lπ(π~),可以得到:

Lπ(π~)=J(π)+∑sρπ(s)∑aπ~(a∣s)Aπ(s,a)
L_pi(tilde{pi}) = J(pi) + sum_{s} rho_{{pi}}(s) sum_{a} tilde{pi}(a vert s) A_pi(s, a)
Lπ(π~)=J(π)+sρπ(s)aπ~(as)Aπ(s,a)

这个近似是在一阶导数的局部近似,所以可以得出,在一个区域内Lπ(π~)L_pi(tilde{pi})Lπ(π~)梯度等于ρπ(s)rho_{pi}(s)ρπ(s)的梯度, Lπ(π~)L_pi(tilde{pi})Lπ(π~)的值等于ρπ(s)rho_{pi}(s)ρπ(s),这意味着变化趋势和大小一致,所以可以近似的认为在一个区域内,优化Lπ(π~)L_pi(tilde{pi})Lπ(π~)等价于优化ρπ(s)rho_{pi}(s)ρπ(s)

如果我们假定这个区域内有一个点为θ0theta_0θ0,则有以下等式:

Lπθ0(πθ0)=J(πθ0)
L_{pi_{theta_0}}(pi_{theta_0}) = J(pi_{theta_0})
Lπθ0(πθ0)=J(πθ0)

∇θLπθ0(πθ)∣θ=θ0=∇θJ(πθ)∣θ=θ0
left. nabla_theta L_{pi_{theta_0}}(pi_theta) right|_{theta=theta_0} = left. nabla_theta J(pi_theta) right|_{theta=theta_0}
θLπθ0(πθ)θ=θ0=θJ(πθ)θ=θ0

3.2.1 值近似

证明:

Lπθ0(πθ0)=J(πθ0)
L_{pi_{theta_0}}(pi_{theta_0}) = J(pi_{theta_0})
Lπθ0(πθ0)=J(πθ0)

π~=πtilde{pi} = piπ~=π时,替代损失变为:
Lπ(π)=J(π)+∑sρπ(s)∑aπ(a∣s)Aπ(s,a)
L_pi(pi) = J(pi) + sum_s rho_pi(s) sum_a pi(a|s) A_pi(s,a)
Lπ(π)=J(π)+sρπ(s)aπ(as)Aπ(s,a)

需要证明额外项∑sρπ(s)∑aπ(a∣s)Aπ(s,a)=0sum_s rho_pi(s) sum_a pi(a|s) A_pi(s,a) = 0sρπ(s)aπ(as)Aπ(s,a)=0,即 “优势函数在策略πpiπ下的加权平均为 0”

我们需要以下几点

(1). 转换为期望

∑aπ(a∣s)Aπ(s,a)=Ea∼π(⋅∣s)[Aπ(s,a)]
sum_a pi(a|s) A_pi(s,a) = mathbb{E}_{a sim pi(cdot|s)} left[ A_pi(s,a) right]
aπ(as)Aπ(s,a)=Eaπ(s)[Aπ(s,a)]

(2). 优势函数分解

Ea[Aπ(s,a)]=Ea[Qπ(s,a)−Vπ(s)]
mathbb{E}_a left[ A_pi(s,a) right] = mathbb{E}_a left[ Q_pi(s,a) – V_pi(s) right]
Ea[Aπ(s,a)]=Ea[Qπ(s,a)Vπ(s)]

(3). 通过价值函数和Q函数之间的关系

Vπ(s)=Ea[Qπ(s,a)]
V_pi(s) = mathbb{E}_a left[ Q_pi(s,a) right]
Vπ(s)=Ea[Qπ(s,a)]

可以得到:
Ea[Qπ(s,a)−Ea[Qπ(s,a)]]
mathbb{E}_a left[ Q_pi(s,a) – mathbb{E}_a left[ Q_pi(s,a) right] right]
Ea[Qπ(s,a)Ea[Qπ(s,a)]]

(4). 期望的期望等于自身

Ea[Qπ(s,a)]−Ea[Ea[Qπ(s,a)]]=Ea[Qπ(s,a)]−Ea[Qπ(s,a)]=0
mathbb{E}_a left[ Q_pi(s,a) right] – mathbb{E}_a left[ mathbb{E}_a left[ Q_pi(s,a) right] right] = mathbb{E}_a left[ Q_pi(s,a) right] – mathbb{E}_a left[ Q_pi(s,a) right] = 0
Ea[Qπ(s,a)]Ea[Ea[Qπ(s,a)]]=Ea[Qπ(s,a)]Ea[Qπ(s,a)]=0

故证明∑sρπ(s)∑aπ(a∣s)Aπ(s,a)=0sum_s rho_pi(s) sum_a pi(a|s) A_pi(s,a) = 0sρπ(s)aπ(as)Aπ(s,a)=0
则可以得出:

Lπ(π)=J(π)+0=J(π)
L_pi(pi) = J(pi) + 0 = J(pi)
Lπ(π)=J(π)+0=J(π)

3.2.2 梯度近似

证明:
∇θLπθ0(πθ)∣θ=θ0=∇θ∣θ=θ0
left. nabla_theta L_{pi_{theta_0}}(pi_theta) right|_{theta=theta_0} = left. nabla_theta
right|_{theta=theta_0}
θLπθ0(πθ)θ=θ0=θθ=θ0

对于Lπ(π)L_{pi}(pi)Lπ(π)为:
Lπθ0(πθ)=J(πθ0)+∑sρπθ0(s)∑aπθ(a∣s)Aπθ0(s,a)
L_{pi_{theta_0}}(pi_theta) = J(pi_{theta_0}) + sum_s rho_{pi_{theta_0}}(s) sum_a pi_theta(a|s) A_{pi_{theta_0}}(s, a)
Lπθ0(πθ)=J(πθ0)+sρπθ0(s)aπθ(as)Aπθ0(s,a)

(1). 对θthetaθ求导

∇θLπθ0(πθ)=∑sρπθ0(s)∑a∇θπθ(a∣s)Aπθ0(s,a)
nabla_theta L_{pi_{theta_0}}(pi_theta) = sum_s rho_{pi_{theta_0}}(s) sum_a nabla_theta pi_theta(a|s) A_{pi_{theta_0}}(s, a)
θLπθ0(πθ)=sρπθ0(s)aθπθ(as)Aπθ0(s,a)

其中J(πθ0)J(pi_{theta_0})J(πθ0)θthetaθ 无关,所以导数为0。

(2). 代入 θ=θ0theta = theta_0θ=θ0

得到 Lπθ0(πθ)L_{pi_{theta_0}}(pi_theta)Lπθ0(πθ)θ=θ0theta = theta_0θ=θ0 处的导数。

∇θLπθ0(πθ)∣θ=θ0=∑sρπθ0(s)∑a∇θπθ(a∣s)∣θ=θ0Aπθ0(s,a)
left. nabla_theta L_{pi_{theta_0}}(pi_theta) right|_{theta = theta_0} = sum_s rho_{pi_{theta_0}}(s) sum_a left. nabla_theta pi_theta(a|s) right|_{theta = theta_0} A_{pi_{theta_0}}(s, a)
θLπθ0(πθ)θ=θ0=sρπθ0(s)aθπθ(as)θ=θ0Aπθ0(s,a)

(3). 引入 ∇θJ(πθ)nabla_theta J(pi_theta)θJ(πθ)

通过
Lπθ0(πθ0)=J(πθ0)
L_{pi_{theta_0}}(pi_{theta_0}) = J(pi_{theta_0})
Lπθ0(πθ0)=J(πθ0)

等式可以得到:
∇θJ(πθ)=∑sρπθ(s)∑a∇θπθ(a∣s)Qπθ(s,a)
nabla_theta J(pi_theta) = sum_s rho_{pi_theta}(s) sum_a nabla_theta pi_theta(a|s) Q_{pi_theta}(s, a)
θJ(πθ)=sρπθ(s)aθπθ(as)Qπθ(s,a)

(4). 化简 ∇θJ(πθ)nabla_theta J(pi_theta)θJ(πθ)

∑sρπθ(s)∑a∇θπθ(a∣s)Vπθ(s)=∑sρπθ(s)Vπθ(s)∑a∇θπθ(a∣s)=∑sρπθ(s)Vπθ(s)∇θ∑aπθ(a∣s)=0
begin{aligned}
sum_s rho_{pi_theta}(s) sum_a nabla_theta pi_theta(a|s) V_{pi_theta}(s) &= sum_s rho_{pi_theta}(s) V_{pi_theta}(s) sum_a nabla_theta pi_theta(a|s)
&= sum_s rho_{pi_theta}(s) V_{pi_theta}(s) nabla_theta sum_a pi_theta(a|s)
&= 0
end{aligned}
sρπθ(s)aθπθ(as)Vπθ(s)=sρπθ(s)Vπθ(s)aθπθ(as)=sρπθ(s)Vπθ(s)θaπθ(as)=0

这里的推导依据是:

  • Vπθ(s)V_{pi_theta}(s)Vπθ(s)aaa 无关,所以可以提出来。
  • 求和的导数等于导数的求和,即 ∇θ∑aπθ(a∣s)=∑a∇θπθ(a∣s)nabla_theta sum_a pi_theta(a|s) = sum_a nabla_theta pi_theta(a|s)θaπθ(as)=aθπθ(as)
  • 对于每个 sss 来说,∑aπθ(a∣s)=1sum_a pi_theta(a|s) = 1aπθ(as)=1,因此 ∇θ∑aπθ(a∣s)=∇θ1=0nabla_theta sum_a pi_theta(a|s) = nabla_theta 1 = 0θaπθ(as)=θ1=0
(5). 推导J(πθ)J(pi_theta)J(πθ)的导数

∇θJ(πθ)=∑sρπθ(s)∑a∇θπθ(a∣s)Qπθ(s,a)=∑sρπθ(s)∑a∇θπθ(a∣s)[Qπθ(s,a)−Vπθ(s)]=∑sρπθ(s)∑a∇θπθ(a∣s)Aπθ(s,a)
begin{aligned}
nabla_theta J(pi_theta) &= sum_s rho_{pi_theta}(s) sum_a nabla_theta pi_theta(a|s) Q_{pi_theta}(s, a)
&= sum_s rho_{pi_theta}(s) sum_a nabla_theta pi_theta(a|s) left[ Q_{pi_theta}(s, a) – V_{pi_theta}(s) right]
&= sum_s rho_{pi_theta}(s) sum_a nabla_theta pi_theta(a|s) A_{pi_theta}(s, a)
end{aligned}
θJ(πθ)=sρπθ(s)aθπθ(as)Qπθ(s,a)=sρπθ(s)aθπθ(as)[Qπθ(s,a)Vπθ(s)]=sρπθ(s)aθπθ(as)Aπθ(s,a)

第二步是引入了4推导的结果,直接减去一个0值。

(6). J(πθ)J(pi_theta)J(πθ)导数代入 θ=θ0theta = theta_0θ=θ0

∇θJ(πθ)∣θ=θ0=∑sρπθ0(s)∑a∇θπθ(a∣s)∣θ=θ0Aπθ0(s,a)
left. nabla_theta J(pi_theta) right|_{theta = theta_0} = sum_s rho_{pi_{theta_0}}(s) sum_a left. nabla_theta pi_theta(a|s) right|_{theta = theta_0} A_{pi_{theta_0}}(s, a)
θJ(πθ)θ=θ0=sρπθ0(s)aθπθ(as)θ=θ0Aπθ0(s,a)

和2步的式子完全一致,则可以推导出:
∇θLπθ0(πθ)∣θ=θ0=∇θ∣θ=θ0
left. nabla_theta L_{pi_{theta_0}}(pi_theta) right|_{theta=theta_0} = left. nabla_theta
right|_{theta=theta_0}
θLπθ0(πθ)θ=θ0=θθ=θ0

3.3 信赖域

虽然可以说明在一个范围内,近似求解,但范围的大小是无法确定的,而这个区域就是信赖域,可以理解为在这个区域内更新是可以信赖的,是持续优化的。

对于信赖域可以以爬山举例:

线搜索就对应梯度上升和下降,而信赖域是对下一步的更新圈定一个范围。

2002 年,Kakade & Langford 提出了一种称为保守策略迭代的策略更新方案,他们可以为 J 的改进提供明确的下限。该界限在实践中具有限制性。

paper:https://people.eecs.berkeley.edu/~pabbeel/cs287-fa09/readings/KakadeLangford-icml2002.pdf

本文修改了提出的下界,修改后的下界为:
J(π~)≥Lπ(π~)−CDKLmax⁡(π,π~),
J(tilde{pi}) geq L_{pi}(tilde{pi}) – C D_{mathrm{KL}}^{max}(pi, tilde{pi}),
J(π~)Lπ(π~)CDKLmax(π,π~),

其中 KL散度就代表参数更新的信赖空间(信赖域)

C=4ϵγ(1−γ)2.
C = frac{4 epsilon gamma}{(1 – gamma)^2}.
C=(1γ)24ϵγ.

DKLmax⁡(π,π~)=max⁡sDKL(π(⋅∣s)∥π~(⋅∣s))
D_{mathrm{KL}}^{max}(pi, tilde{pi}) = max_s D_{mathrm{KL}}(pi(cdot mid s) parallel tilde{pi}(cdot mid s))
DKLmax(π,π~)=smaxDKL(π(s)π~(s))

下届理解可以看这个图:

from:https://jonathan-hui.medium.com/rl-trust-region-policy-optimization-trpo-part-2-f51e3b2e373a

如何保证基于下限的近似策略迭代方案生成单调改进的策略序列:
J(π0)≤J(π1)≤J(π2)≤…
J(pi_0) leq J(pi_1) leq J(pi_2) leq dots
J(π0)J(π1)J(π2)

如果你能保证单调改进,则能保证目标函数持续提升。

通过近似策略迭代方案来解决这个问题:

四、TRPO

TRPO是近似策略迭代方案的一种优化

4.1 更新步长很小

受惩罚系数C影响,更新步长会很小,优化速度会非常慢。

由于πθpi_thetaπθ本身是基于θthetaθ参数的策略,所以可以统一同θthetaθ表示策略,则目标可以表示为最大化:

max⁡θ[Lθold(θ)−CDKLmax(θold,θ)]
max_{theta} left[ L_{theta_{old}}(theta) – C D_{text{KL}}^{text{max}}(theta_{old}, theta) right]
θmax[Lθold(θ)CDKLmax(θold,θ)]

对于更新步数很小这个问题,可以通过KL散度作为惩罚项的极值问题,转化为KL散度作为约束条件的优化问题,将KL散度从公式中取出作为条件:
max⁡θLθold(θ)
max_{theta} L_{theta_{text{old}}}(theta)
θmaxLθold(θ)

subject to DKLmax⁡(θold,θ)≤δ
text{subject to } D_{mathrm{KL}}^{max}(theta_{text{old}}, theta) leq delta
subject to DKLmax(θold,θ)δ

相当于在以θ0theta_0θ0为球(圆)心的,以炒参数δdeltaδ为半径的信赖域中更新参数可以提高Lπold(π)L_{pi_{old}}(pi)Lπold(π)(由前面的近似可以等价于提高J(π)J(pi)J(π))的策略πpiπ

LπL_piLπ为:

Lπ(π~)=J(π)+∑sρπ(s)∑aπ~(a∣s)Aπ(s,a)
L_pi(tilde{pi}) = J(pi) + sum_{s} rho_{{pi}}(s) sum_{a} tilde{pi}(a vert s) A_pi(s, a)
Lπ(π~)=J(π)+sρπ(s)aπ~(as)Aπ(s,a)

θthetaθ替换:

Lθold(θ)=J(θold)+∑sρθold(s)∑aπθ(a∣s)Aθold(s,a)
L_{theta_{old}}(theta) = J(theta_{old}) + sum_{s} rho_{theta_{old}}(s) sum_{a} pi_{theta}(a|s) A_{theta_{old}}(s,a)
Lθold(θ)=J(θold)+sρθold(s)aπθ(as)Aθold(s,a)

其中J(θold)J(theta_{old})J(θold)θthetaθ无关,可以去掉,得到最终的目标函数:

maximizeθ∑sρθold(s)∑aπθ(a∣s)Aθold(s,a)subject to DKLmax(θold,θ)≤δ
begin{aligned}
&underset{theta}{text{maximize}} sum_{s} rho_{theta_{old}} (s)sum_{a} pi_{theta}(a|s) A_{theta_{old}}(s,a)
&text{subject to } D_{KL}^{max}(theta_{old}, theta) leq delta
end{aligned}
θmaximizesρθold(s)aπθ(as)Aθold(s,a)subject to DKLmax(θold,θ)δ

4.2 重要性采样

目标函数的s映射a都是从新策略中采样的,但是新策略都是未知的,需要更新参数后才能得到,所以这里需要重要性采样,通过采样旧采样策略:

∑sρθold(s)∑aπθ(a∣s)Aθold(s,a)=∑sρθold(s)∑aq(a∣s)πθ(a∣s)q(a∣s)Aθold(s,a)=∑sρθold(s)Ea∼q[πθ(a∣s)q(a∣s)Aθold(s,a)]=Es∼ρθold,a∼q[Aθold(s,a)]
begin{aligned}
sum_{s} rho_{theta_{text{old}}}(s) sum_{a} pi_theta(a|s) A_{theta_{old}} (s, a) &= sum_{s} rho_{theta_{text{old}}}(s) sum_{a} q(a|s) frac{pi_{theta}(a|s)}{q(a|s)} A_{theta_{text{old}}}(s, a)
&= sum_{s} rho_{theta_{text{old}}}(s) mathbb{E}_{a sim q} left[ frac{pi_{theta}(a|s)}{q(a|s)} A_{theta_{text{old}}}(s, a) right]
&= mathbb{E}_{s sim rho_{theta_{text{old}}}, a sim q} left[ A_{theta_{text{old}}}(s, a) right]
end{aligned}
sρθold(s)aπθ(as)Aθold(s,a)=sρθold(s)aq(as)q(as)πθ(as)Aθold(s,a)=sρθold(s)Eaq[q(as)πθ(as)Aθold(s,a)]=Esρθold,aq[Aθold(s,a)]

Ref

  • https://jonathan-hui.medium.com/rl-trust-region-policy-optimization-trpo-explained-a6ee04eeeee9
  • https://jonathan-hui.medium.com/rl-trust-region-policy-optimization-trpo-part-2-f51e3b2e373a
  • https://medium.com/@hsinhungw/trust-region-policy-optimization-explained-c2671542c329
  • https://www.cnblogs.com/xingzheai/p/16565686.html
  • https://zhuanlan.zhihu.com/p/605886935

文章来源于互联网:【RL第五篇】信赖域策略优化-Trust Region Policy Optimization(TRPO)

相关推荐: 【AIGC学习】一文带你了解AIGC基础知识(适用于AI入门小白)

▌导读 前言 人工智能生成内容(AIGC)正以前所未有的速度改变着我们的生活。你是否也对这项技术充满好奇,却苦于无从下手?本指南专为 AI 入门小白打造,用通俗易懂的语言带你快速了解 AIGC 的核心概念、应用场景和发展趋势。无需任何技术背景,只需一颗探索的心…

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » 【RL第五篇】信赖域策略优化-Trust Region Policy Optimization(TRPO)
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们