Reinforcement Learning · 基于策略的强化学习 |
您所在的位置:网站首页 › 算法策略的方法 › Reinforcement Learning · 基于策略的强化学习 |
(三)基于策略的强化学习
2019-04-24
相比基于价值的方法,基于策略的方法不需要显式的估计每个{状态,动作}对的Q值,通过估计策略函数中的参数,利用训练好的策略模型进行 决策。由于采用随机策略函数可以为agent提供探索环境的能力,不需要采用epsilon-greedy策略就可以对环境进行探索,因此基于策略的强化学习 算法通常使用随机策略函数进行决策。 一.Policy Gradient算法(PG)Policy-Gradient算法的目标是最大化agent与环境交互过程中的整个轨迹(trajectory)上的期望累计回报,即
现在我们来计算目标函数对模型参数θ的导数:
(1)累计回报或者累计折扣回报
最简单的Policy Gradient算法中的累计回报采用第一节介绍的累计回报或者累计折扣回报,即:
上述介绍的Policy-Gradient算法关注点在于模型的参数,在使用梯度提升等算法时,需要控制模型更新的步长,以使模型逐渐提升,避免出现 模型参数剧烈变化的情况;然而在强化学习问题中,在参数层面上对模型进行微小的调整后,对应到策略函数层面,也可能会使新旧策略函数之间 产生巨大的差异,从而使得agent在环境中的表现相差巨大。为了提高策略函数估计的稳定性,Schulman提出了TRPO算法。 1.重要性抽样
K-L散度用来度量两个概率分布的接近程度,描述了用近似分布q去代替原始分布p时产生的信息损失,公式如下
TRPO算法与前述介绍的PG算法的不同之处在于:TRPO算法不是通过控制模型参数间接控制新旧策略函数之间的差异,而是通过控制新旧策略函数
之间的K-L散度直接控制新旧策略函数之间的差异。
TRPO算法的目标函数为
上述TPRO算法求解困难,利用泰勒展开对目标函数和约束条件进行近似
PPO算法是对TRPO算法的近似,TRPO算法利用一阶和二阶信息,使用牛顿法对模型参数进行更新;而PPO算法只使用一阶信息,使用梯度提升法对 模型参数进行更新。PPO算法与TRPO算法都需要解决的问题,是控制新旧策略函数之间的变化不能太大,为此,PPO算法使用截断函数来代替TRPO算法中的硬约束:K-L散度。 1.截断替代优势函数
截断替代优势函数(clipped surrogate advantage)使用某个超参数ε将替代优势函数(surrogate advantage)截断,用来防止新
策略函数相对于旧策略函数变化太大,可以使得策略函数在较小的变化中逐渐提升。
截断替代优势函数定义为:
PPO算法的目标函数为
PPO算法除了具有基于策略的强化学习算法的共同优势: 模型具有较好的收敛性,收敛速度较快 在连续动作空间或者高维动作空间中仍然适用 通过训练随机策略可以对环境进行探索 以外,还拥有 算法容易实现 样本利用效率较高 (原因:PPO算法会利用旧策略生成的数据对策略模型进行多次更新,从而提高了样本的利用效率) 正是因为这些优势,使得PPO算法成为以OpenAI为首的基于策略的强化学习算法中的最强算法。 ctiely@Author:ctiely @School:Renmin University of China @Reference:Spinning Up |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |