之前的策略优化,用的基本都是\(\epsilon\)-greedy的policy improve方法,这里介绍policy gradient法,不基于v、q函数
1. introduction
特点
- 优点:
- 缺点:
- 会限于局部最优,而不是全局最优
- 评价策略的过程:低效、高方差
- 随机策略有时是最优策略,基于价值函数的策略有时会限于局部最优
Policy Objective function 策略目标函数
对于不同的任务,需要建立针对性的3种目标函数
2. Finite Difference PG 有限差分策略梯度
对每个维度的权重,分别进行查分求梯度,然后迭代权重,至最优
特点:
- n次运算,求得n维的梯度
- 简单、噪声、偶尔高效
- 通用性好,任意策略可用,即使策略目标函数不可微
3. MC PG 蒙特卡洛策略梯度
要求:策略目标函数可微分,梯度可计算
引入了似然比概念
Likelihood ratios
Score function(not value function)
Softmax policy:策略概率按照指数分配
通过取对数,拆分为加法,进而表示为
Gaussian polisy:策略概率按照距离分配
Policy Gradient theorem 策略梯度定理
One-step MDPs
对于多步的标准MDPs
MCPG 蒙特卡洛策略梯度法
4. Actor-Critic PG AC策略梯度
例子:简单线性价值函数的AC算法
- Critic 线性组合,TD(0)
- Actor PG更新
- 逐步更新,在线实时
- AC算法中的偏差
- 对PG的估计引入了偏差
- 正确选择价值函数,有利于减小、消灭偏差,but how???
Compatible function approximation 兼容函数估计
上节线性近似的价值函数引入了偏差,小心设计的Q函数满足:
Tricks——Advantage function critic
核心思想:减去一个baseline,将MSE的减数和被减数都 往 0 方向拉,减小偏差
Advantage function = PG减去B(s),好的B(s)是状态价值函数,V(s)是和策略无关的值,所以不改变梯度的期望的值
实现方法
- 通过两个估计函数 和 两套参数,分别估计V、Q,进而估计A
- 直接用v值运算
但是并不需要用2个估计函数,因为TD误差是Q-V的无偏估计
不同时间尺度下——Eligibility Traces
几种时间尺度下的更新算法
Natural policy gradient
高斯策略:按照期望和概率执行动作
缺点:对梯度估计不利,收敛性不好
Solution:Natural PG
总结PG