(18年笔记)基于策略函数的学习方法
📅 发表于 2018/04/22
🔄 更新于 2018/04/22
👁️ -- 次访问
📝 0 字
⏳ 0 分钟
#策略函数
#策略梯度
#REINFORCE
#基准函数
#Actot-Critic
#强化学习算法总结
1. 核心思想
策略
连续可微函数
(策略连续可微假设)梯度上升
的方法优化参数
策略梯度
是一种基于梯度的RL方法。2. 总结核心3个推导步骤
目标函数
,算导数策略
状态转移概率
轨迹回报
做分解
,算出策略梯度 ⭐策略梯度推导 (目标函数
求导数转换成期望形式
优化方向
:使总回报越大
的轨迹概率也越大
, 代入策略
环境状态转移概率
进一步细分偏导数
,梯度只和策略相关
代入算出策略梯度
0-t的累计回报
和 t到T的累计回报
, 时刻t的动作
只能影响t时刻之后的奖励
,不能影响t时刻之前的奖励
。时刻t作为起始时刻
到时刻T,收到的总回报核心思想
当前策略
随机采样N条轨迹
来近似期望
。随机梯度上升算法
,每次采样1条轨迹
,并计算每个时刻的梯度
,来更新参数算法步骤
输入:状态空间可微分策略函数
初始化:随机初始化参数
根据
缺点
训练不稳定
;背景
核心思想
使用基准函数
减小策略梯度的方差
,基准函数和
每个时刻的策略梯度:引入基准函数之前
引入基准函数之后
新旧策略梯度一致
,保证了无偏性越相关,方差越小,就越好
基准函数的选择
很自然可以选择值函数作为基准函数
:
但由于值函数未知,可用学习参数
用参数估计,目标函数
如下,和Q网络参数逼近很像。
用蒙特卡罗来估计
最终策略函数参数
算法步骤
可微分策略函数
可微分状态值函数
更新值函数
和策略函数参数
目的
无偏性
:减小方差
:核心方法
保证无偏性推导期望
:推导可知求解极值点
方差恒为正,是常数
;根据上式可知凹函数
,必然存在极小值
求导数并使其为0
,求解出最小值时的取值。代回极值点
,求解出最小值
极小值
:背景
方差大
、学习效率较低
,计算慢
状态s的总回报
由即时奖励
和下个状态的值函数
来估计。核心思想
迭代计算t作为初始时刻的轨迹总回报
通过每步各自不断学习更新
,评分越来越准、表演越来越好。 演员
,策略函数
评论员
,值函数
值函数目标函数
,调整打分标准策略函数策略梯度
, 调整策略;值函数作为基线函数,降低方差,打分
)调整打分标准
)基函数
来减少策略梯度的方差(调整策略
)优点
算法步骤
可微分策略函数
可微分状态值函数
执行动作
获得奖励
新状态
动态规划估计轨迹回报
,计算基准差值
更新值函数参数
、更新策略函数参数
1. 通用步骤
2. 值函数与策略函数的比较
值函数的方法
策略更新,导致值函数的改变比较大,对收敛性有一定的影响
策略函数的方法
策略更新,更加平稳。
缺点:策略函数的解空间很大,难以进行充分采样,导致方差较大,容易陷入局部最优解。
强化学习 | 监督学习 | |
---|---|---|
样本 | 与环境进行交互产生样本,进行试错学习 | 人工收集并标注 |
反馈 | 只有奖励,并且是延迟的 | 需要明确的指导信息(每个状态对应一个动作) |