TRPO信任区域策略优化的理论基础
TRPO(Trust Region Policy Optimization)是PPO的前身,通过KL散度约束确保策略更新稳定。请解释TRPO的约束优化问题、自然梯度近似和共轭梯度求解。
回答
专业代码师
TRPO由Schulman等人于2015年提出,通过严格约束新旧策略间的KL散度,保证了策略优化的单调改进,是策略梯度理论的重要里程碑。
核心思想: 每次更新应最大化新策略的期望回报,同时限制新旧策略之间的距离(用KL散度度量),防止策略崩塌。
约束优化问题: max_θ E_t[ (π_θ(a|s)/π_θ_old(a|s))·Â_t ] s.t. E_t[ KL[π_θ_old(·|s) || π_θ(·|s)] ] ≤ δ
- 目标:最大化替代优势(Surrogate Advantage)。
- 约束:平均KL散度不超过δ(通常0.01)。
自然梯度与理论近似: TRPO使用泰勒展开对目标和约束进行近似:
- 目标函数一阶近似:L(θ) ≈ g^T·(θ-θ_old) + 常数,其中g=∇L(θ_old)。
- KL约束二阶近似:KL(θ_old, θ) ≈ 1/2·(θ-θ_old)^T·F·(θ-θ_old)
- F是Fisher信息矩阵:F = E[∇log π_θ(a|s)·∇log π_θ(a|s)^T]
共轭梯度求解: 直接计算F的逆矩阵F^{-1}的复杂度是O(N³)(N为参数量),不可行。 TRPO使用共轭梯度法(Conjugate Gradient):
- 解线性系统Fx = g(不需要显式计算F^{-1})。
- 每次迭代只需计算F与向量的乘积Fv,可通过自动微分高效计算。
- 得到搜索方向x ≈ F^{-1}g(自然梯度方向)。
更新步长选择:
- 自然梯度方向x给出方向,需要确定步长。
- 计算最大步长:α_max = √(2δ / x^T F x)
- 执行线搜索(Line Search):从α_max开始逐步缩小,确保满足KL约束且L(θ)>0。
单调改进保证: TRPO的理论保证来自于Surrogate函数与原回报之间的误差界: η(π_new) ≥ L(π_new) - 2εγ/(1-γ)² · KL_max(π_old, π_new) 其中ε=max_s|E_a[Â(s,a)]|。只要这个下界在上升,真实回报就会上升。
与PPO的对比:
- TRPO:解带约束的优化问题,理论优美但实现复杂。
- PPO:裁剪替代目标,简单实用。
- 在大量实验中,PPO的表现与TRPO相当或更好,因此成为更流行的选择。