基于策略函数的学习方法和Actor-Critc算法。
基于策略函数的学习方法
强化学习目标
强化学习的目标是学习到一个策略
策略搜索
本质上是一个优化问题
,无需值函数可以直接优化策略。参数化的策略可以处理连续状态和动作。
- 基于梯度的优化
- 无梯度的优化
策略梯度
1. 思想和假设
策略梯度 :是一种基于梯度的强化学习方法。
策略连续可微假设:假设
2. 优化目标
最大化策略的期望回报。
3. 策略梯度推导
采用梯度上升法来优化参数
**策略梯度
1、参数
2、梯度只和策略相关,轨迹的梯度 == 各个时刻的梯度的求和
3、策略梯度 == 轨迹的梯度*轨迹的回报 的期望
其中
4. 总结
REINFORCE算法
期望可以通过采样的方法来近似。对于当前策略
可微分策略函数
初始化参数
1、根据
2、在每一时刻更新参数 (0~T)
- 计算
REINFORCE算法缺点
:不同路径之间的方差很大,导致训练不稳定;需要根据一个策略采集一条完整的轨迹。

带基准线的REINFORCE算法
值函数作为基准函数,去减小策略梯度的方差
由于不同轨迹之间的方差很大,导致训练不稳定,使用基准函数去减小策略梯度的方差。
1. 减小方差的办法
目标:估计函数
方法
- 引入已知期望的函数
- 推导可知:
- 用
去减小 的方差,
所以**,
2. 带基准线的REINFORCE算法核心
每个时刻
为了减小策略梯度的方差,引入一个和
因为
所以得到:
4. 基准函数的选择
为了减小策略梯度的方差,希望**
1、可学习的函数
2、蒙塔卡罗方法进行估计值函数 也就是增量计算Q(s,a)嘛。
5. 带基准线的REINFORCE算法步骤
输入
- 状态空间和动作空间,
- 可微分的策略函数
- 可微分的状态值函数
- 折扣率
,学习率
随机初始化参数
不断训练,直到
1、根据策略
2、在每一时刻更新参数
计算当前时刻的轨迹回报基准函数(值函数)
进行修正,得到
更新值函数
更新策略函数
缺点
: 需要根据策略采集一条完整的轨迹。

Actor-Critic算法
思想
演员-评论员算法
是一种结合策略梯度
和时序差分学习
的强化学习方法。
开始,演员随机表演,评论员随机打分;不断学习,评论员评分越来越准,演员的动作越来越好。
- 演员:策略函数
,学习一个策略来得到尽可能高的回报 - 评论员:值函数
,评估当前策略函数(演员)的好坏
演员
根据
评论员
根据真实奖励
之前的标准
,打分(估计回报):
使评分更加接近环境的真实回报。
演员
演员根据评论的打分,调整自己的策略
优点
:可以单步更新参数,不需要等到回合结束才进行更新。
值函数的三个功能
1. 估计轨迹真实回报(打分)
2. 更新值函数参数
3. 更新策略参数
算法实现步骤
输入
- 状态空间和动作空间,
- 可微分的策略函数
- 可微分的状态值函数
- 折扣率
,学习率
随机初始化参数
迭代直到
从s开始,直到
1、状态s,选择动作
2、执行动作
3、利用值函数作为基函数计算
4、更新值函数:
5、更新策略函数:
6、更新折扣率和状态:

强化学习算法总结
方法总览
1. 通用步骤
- 执行策略,生成样本
- 估计回报
- 更新策略
2. 值函数与策略函数的比较
值函数的方法
策略更新,导致值函数的改变比较大,对收敛性有一定的影响
策略函数的方法
策略更新,更加平稳。
缺点:策略函数的解空间很大,难以进行充分采样,导致方差较大,容易陷入局部最优解。

四个典型方法

与监督学习的区别
强化学习 | 监督学习 | |
---|---|---|
样本 | 与环境进行交互产生样本,进行试错学习 | 人工收集并标注 |
反馈 | 只有奖励,并且是延迟的 | 需要明确的指导信息(每个状态对应一个动作) |