探索和学习信任区域策略优化算法-TRPO

TRPO(Trust Region Policy Optimization),即信任区域策略优化,是强化学习一个里程碑式算法。

TRPO解决了传统策略梯度方法在更新策略时因步长选择不当而导致训练不稳定、性能骤降问题。

这里参考网络资料,尝试深入探索其背后动机、以及近似求解技巧。

1 为何需要信任区域

标准的策略梯度方法,如REINFORCE,通过计算梯度来更新策略参数,其性能严重依赖于学习步长的选择 。

步长过大时,策略可能突然变差,模型很难从糟糕策略中恢复,导致训练崩溃 。

步长过小时,训练进程缓慢,样本利用率低。

TRPO在每次更新策略时,不再盲目沿着梯度走一步,而是寻找一个信任区域。

只有在这个区域内,才相信对目标函数的近似是准确的,并确保在这个区域内找到的最优策略能带来性能的单调提升 。

2 策略性能的差异表达

为了确保策略更新有效,首先需要量化新旧策略的性能差异。

TRPO的推导始于一个重要的定理,它给出了新策略相对于旧策略的性能表达式:

这里,是期望折扣总回报,是优势函数 。

这个公式很直观,新策略的表现等于旧策略的表现,加上新策略在所有状态下采取行动相对于旧策略的优势的期望。如果这个期望优势为正,那么新策略就更好。

然而,直接优化这个公式很困难,因为期望是基于新策略的轨迹,而新策略正是我们要求解的未知量。

3 近似与重要性采样

为了解决上述困难,TRPO引入了一个关键的近似:

忽略策略更新对状态访问分布的影响。

即,用旧策略的状态分布来近似新策略的状态分布

由此得到替代目标函数

对于动作部分,利用重要性采样技术,可以基于旧策略采样的数据来估计新策略的表现:

这个替代函数具有很好的性质:

处,它不仅与原目标函数 \(\eta(\pi')\) 的值相等,而且梯度也相等 。

这意味着,当新旧策略足够接近时,的良好局部近似。

4 引入约束

仅有一阶近似是不够的,TRPO的突破在于提供了策略性能的单调提升保证。

通过引入最坏情况下的误差项,可以推导出性能下界 :

其中,是一个与折扣因子和优势函数最大值有关的常数,表示所有状态下新旧策略KL散度的最大值 。

这个下界说明只要在限制新旧策略KL散度前提下最大化,就能保证 是单调不减的。

因此,TRPO的核心优化问题可以表述为 :

这里,是信任区域的半径(即KL散度容忍度),也将约束条件放宽为平均KL散度而非最大值,以便于求解 。

5 近似求解与数值技巧

直接求解上述带约束的优化问题在参数空间巨大(如神经网络)时是不现实的。

TRPO采用了一系列技巧进行高效近似求解 。

首先,对目标函数和约束条件在当前策略附近进行泰勒展开:

  • 对目标函数进行一阶展开:,其中

  • 对KL散度约束进行二阶展开:,其中 是KL散度的海森矩阵,也称为Fisher信息矩阵。

于是,问题转化为一个带二次型约束的线性目标优化问题,其最优解具有闭式形式:

接下来,TRPO巧妙地解决了计算中的两大难题:

1)计算

直接计算高维海森矩阵的逆矩阵是不可行的。

TRPO引入了共轭梯度法(Conjugate Gradient Method)。这种方法可以迭代地直接求解中的,而无需显式地计算和存储庞大的矩阵,极大地降低了计算复杂度 。

2)确保满足约束

由于泰勒展开只是近似,直接使用上述解可能违反原始KL约束或导致性能下降。因此,TRPO在最后一步执行线性搜索(Line Search)。它从计算出的最大步长开始,指数级地缩小步长,直到找到一个新策略,既能满足KL散度约束,又能保证替代目标函数有提升 。

TRPO为了解决策略梯度步长选择难题,TRPO利用性能差异公式和重要性采样构建了可解的替代目标函数;通过理论推导出的性能下界,将问题转化为带KL散度约束的优化问题,为单调提升提供了理论保障;最后,通过泰勒展开、共轭梯度法和线性搜索这一套数值求解方案,使其在大型非线性策略(如神经网络)上得以高效实现。尽管TRPO计算复杂,但它的思想深刻影响了后续算法,其简化版本PPO(Proximal Policy Optimization)目前已成为应用最广泛的强化学习算法之一 。

reference


Trust Region Policy Optimization Agents

https://kr.mathworks.com/help/releases/R2021b/reinforcement-learning/ug/trpo-agents.html

Trust Region Policy Optimization (TRPO) Agent

https://kr.mathworks.com/help/releases/R2021b/reinforcement-learning/ug/trpo-agents.html

Optimistic Distributionally Robust Policy Optimization

https://ar5iv.labs.arxiv.org/html/2006.07815

What is the Trust Region Policy Optimization (TRPO) algorithm?

https://blog.milvus.io/ai-quick-reference/what-is-the-trust-region-policy-optimization-trpo-algorithm

相关推荐
Mr YiRan6 小时前
C++面向对象继承与操作符重载
开发语言·c++·算法
蚊子码农10 小时前
算法题解记录--239滑动窗口最大值
数据结构·算法
liliangcsdn11 小时前
A3C算法从目标函数到梯度策略的探索
算法
陈天伟教授11 小时前
人工智能应用- 材料微观:06.GAN 三维重构
人工智能·神经网络·算法·机器学习·重构·推荐算法
liliangcsdn12 小时前
A3C强化学习算法的探索和学习
算法
Figo_Cheung12 小时前
Figo《量子几何学:从希尔伯特空间到全息时空的统一理论体系》(二)
算法·机器学习·几何学·量子计算
学编程的闹钟12 小时前
E语言EXE开发全流程指南
学习
额,不知道写啥。12 小时前
HAO的线段树(中(上))
数据结构·c++·算法
LYS_061812 小时前
C++学习(5)(函数 指针 引用)
java·c++·算法