3.5 TRPO, PPO算法

category
type
status
slug
date
summary
tags
password
icon
本系列为学习赵世钰老师的《强化学习的数学原理》所作的学习笔记.
Trust Region Policy Optimization算法, 是在策略梯度法的基础上, 引入最优化中的置信域算法来提升效率.

3.5.1 Trust Region 置信域算法

首先我们考虑一个最优化问题:
我们知道求解最优化问题是通过迭代实现的, 每次迭代时确定下降方向和步长后进行当前变量数值更新. 如果用梯度作为方向就是梯度下降法, 但是在有些情况下, 原始函数比较复杂不好求解梯度或是其他值.
置信域算法通过在一个局部置信空间内, 近似. 是当前迭代步的变量, 我们在它附近确定一个空间, 定义为置信域:
如果是二维向量, 那么它的置信域是一个半径为的圆, 如下图. 是一个超参数, 可以在迭代过程中逐渐缩小或者不变.
notion image
接着在这个置信域内, 构造简单的函数来近似原始函数:
notion image
notion image
1维的例子如上图, 不需要完全近似原始函数, 只需要在置信域内尽量近似即可.
之后构造一个子最优化问题: 在置信域内, 求这个简单的近似函数的最优解, 同样用梯度法之类的优化算法求解:
notion image
之后用的最优解作为本轮迭代的新值更新.
总结一下, 置信域算法分为两步:
  • 近似: 在当前变量值的置信域内, 构造一个近似函数来代替原函数.
  • 最优解: 在置信域内, 求使得近似函数达到最优解的变量, 并作为新变量更新.

3.5.2 Trust Region Policy Optimization

3.5.2.1 定义

首先, 将状态值函数应用重要性采样方法, 其中是策略函数的当前参数.
推导可得:
然后将其写到目标函数中:
基于采样结果对其做蒙特卡洛近似, 得到近似函数, 其中也用蒙特卡洛近似为:
接着在置信域内, 求解. 它的目标函数为:
其中的约束可以写成下面两种形式之一, 第二种是利用KL divergence衡量两个概率分布的差异:
TRPO原文采取共轭梯度法求解该优化问题, 但是后续PPO算法优化了这一步, 因此不再展开.

3.5.2.2 优缺点

相较于策略梯度算法, TRPO的优点:
  • 稳定: TRPO算法对学习率等超参数不敏感, 收敛曲线不会剧烈波动; 而策略梯度法可能会在迭代过程中, 由于步长过大导致显著变差
  • 高效: TRPO算法能够更好的利用采样数据, 同等条件下可以训练处更好的结果
 
缺点:
  • 数学计算复杂, 速度较慢

3.5.3 Proximal Policy Optimization 近端策略优化算法

上文说到求解约束优化问题时, TRPO的计算很复杂:
其中是优势函数, 指当前动作与状态值的差值:
 
PPO算法提出了几种近似的方式:

3.5.3.1 PPO-Penalty

使用拉格朗日乘数法, 将约束项放到目标函数中变成无约束优化问题:
 
定义, 的更新规则如下:
  • 如果 , 那么
  • 如果 , 那么
  • 否则

3.5.3.2 PPO-Clip

PPO-Clip采取了一种更直接的方式, 他在目标函数中进行限制, 保证新旧参数不会差距过大
其中是截断函数, 把限制在区间内.
notion image
  • 如果, 说明当前动作较好, 求最大化会使得概率增大;
  • 如果, 说明当前动作较差, 求最大化会使得概率减小;
 
上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...