1、介绍
这里仍考虑无模型的方法:策略是从值函数中导出的,使用贪婪的方法导出最优策略,使用e贪婪策略导出行为策略,直接参数化策略
考虑之前强化学习分类:
基于值函数的方法:学习值函数、用值函数导出策略
基于策略的方法:没有值函数,学习策略
Actor-Critic:学习值函数、学习策略
为什么需要使用策略梯度算法?
基于值函数方法的局限性:针对确定性策略,策略退化、难以处理高维度的状态或动作空间(不能处理连续的状态动作空间)、收敛速度慢
策略模型的建模方式:
策略梯度算法的优缺点:
优点:更好的收敛性、能够有效的处理高维和连续的动作空间、能够学到随机策略、不会导致策略退化
缺点:更容易收敛到局部最优值,难以评价一个策略,而且评价的方差较大
随机策略例子:
策略退化:
真实的最优值函数会导致真实的最优策略,然而近似的最优值函数可能导致完全不同的策略
收敛性对比:
基于值函数的方法:收敛慢,需要对V或Q和pi交替优化,方差小
策略梯度方法:收敛快,直接对pi进行优化,方差大
2、策略梯度定理
策略梯度目标函数:
数值法求梯度:
策略梯度算法:
策略梯度推导:
目标函数说明:
从似然度的角度:
从重要性采样的角度:
似然率梯度的理解:
似然率梯度的理解:
将轨迹分解成状态和动作:
似然率梯度估计:
3、减少方差
方差大
如果所有的R(t)都是正的,那么所有动作出现的概率都会增加
可以通过下列方法减少方差:
引入基线(baseline)
修改回报函数
Actor-Critic方法
优势函数
引入基线:
怎么选择基线?
最小方差:
修改回报函数:
4、Actor-Critic
实际更新算法:
MC策略梯度(REINFORCE)
使用Critic函数减小方差:
使用优势函数减小方差:
优势函数:
使用TD误差替代优势函数:
带资格迹的策略梯度:
Advantage Actor-Critic算法
其它策略梯度算法: