目录
一、概要
二、策略函数
1. 离散动作的策略函数——softmax函数
2. 连续动作的策略函数
三、策略目标函数
四、策略梯度算法
1. 基于轨迹的梯度推导
2. 基于级联的梯度推导
五、REINFORCE算法/Mento Carlo策略梯度算法
六、策略梯度法的评价
本文为Datawhale《深度强化学习基础与实践(二)》学习总结第二期。
以下为本文写作时查阅的相关资料:
- Datawhale的JoyRL Book:https://github.com/datawhalechina/joyrl-book
- 相关数学原理推导的证明:【强化学习】策略梯度方法-策略近似_哔哩哔哩_bilibili
- Reinforcement Learning for Sequential Decision and Optimal Control | SpringerLink
- Reinforcement Learning: An Introduction
一、概要
上一篇所提到的DQN,以及更为基础的Mento Carlo算法、时间差分算法、Q-Learning算法等,依赖于贝尔曼方程对价值函数进行建模和估计,再计算最优策略,我们将其称之为基于价值(valued-based)的算法,资料3中也称为间接性强化学习(Indirect RL)。
本篇将开始介绍策略梯度( policy-based )算法,或者说直接式强化学习(Direct RL),这类算法直接对策略本身进行近似优化。具体来说,我们将策略描述为含参数θ的连续函数,其输入为某个状态,输出为对应的动作概率分布,这个概率分布不再是(近)确定性策略,而是随机性策略。所要做的便是通过优化预定义的目标函数来搜索最优策略。
二、策略函数
1. 离散动作的策略函数——softmax函数
假设状态-动作对数值偏好为,一般采用softmax函数将其转换为动作概率分布,即
2. 连续动作的策略函数
对于连续动作空间,通常策略对应的动作采用正态概率密度参数化,即
其中,和为函数近似。
一般来说,将策略的参数向量分成两个部分,即。例如,均值可以近似为一个线性函数,而考虑到标准差非负,采用线性函数的指数近似,即
三、策略目标函数
1. 稳态分布
我们使用马尔科夫链来说明稳态分布。马尔科夫链的稳态分布是指这样一个分布向量,其满足
其中,为状态转移矩阵。这意味着,若马尔科夫链在某个时刻达到稳态分布,则其自此以后将保持为稳态分布。我们也可以用写出稳态分布的分量表达式
对于马尔可夫决策过程来说,其状态转移除了与当前状态有关,还与当前动作有关,故其稳态分布的每个分量应满足
2. 总回报目标函数
后文主要采用此目标函数说明。
3. 平均回报目标函数
四、策略梯度算法
Datawhale提供的资料里首先给出了基于轨迹的推导,而后给出了基于稳态分布的另一种推导方式。在参考资料3中,前者称为基于轨迹概念的梯度推导(Gradient Derivation from Trajectory Concept),后者称为基于级联概念的梯度推导(Gradient Derivation from Cascading Concept)。
1. 基于轨迹的梯度推导
相关内容可见参考资料1、3。
基于轨迹的目标函数可以表示为
其中,为轨迹的生成的概率,其值为
简单期间,忽略折扣因子,则轨迹的累积奖励为
现在我们要对目标函数关于参数求导,含参数的仅有,故只需考虑关于参数的梯度。采用对数微分技巧,即
由此,问题从求的梯度变成了求的梯度,将展开,即得
根据上面的分析,我们可以很容易地求出目标函数的梯度,即
2. 基于级联的梯度推导
基于级联的目标函数可以表示为
其中,表示平稳分布。具体推导过程略。相关内容可见参考资料2、3、4。
由此可得策略梯度定理
五、REINFORCE算法/Mento Carlo策略梯度算法
采用Mento Carlo方法对轨迹采样,并使用梯度上升法更新梯度。具体来说,主要有两个步骤:在第一步中,环境从初始状态-动作对开始,产生多个轨迹,将多个轨迹的回报平均作为真实动作值函数的估计值;在第二步中,利用不同状态-动作对的所有可用梯度来计算策略梯度。
以下为参考资料3给出的伪代码。
六、策略梯度法的评价
1. 值函数近似法和策略梯度法的区别
- 值函数近似法适用于基于价值的方法,策略梯度法适用于基于策略的方法
- 值函数近似法仅支持离散动作空间,而策略梯度法可以支持连续动作空间
2. 基于价值和基于策略的算法各有什么优缺点?
基于价值:
- 优点
- 简单易用,只需要学习值函数,收敛性往往也更好
- 缺点
- 受限于离散动作
- 当存在多个等价最优策略时,基于价值的方法可能会不停切换
基于策略:
- 优点
- 直接优化策略,所以可能容易找到更好的策略
- 采用随机性策略,适用性更广,如在纸牌游戏、战争中虚张声势
- 缺点
- 高方差
- 收敛缓慢,并且可能收敛到局部最优