以下为阅读《强化学习:原理与python实现》这本书第七章的学习笔记。
在之前学习到的强度学习方法中,都是通过学习最优价值函数来获得最优策略。现在换一个角度来思考,我们可以通过用含参函数来近似最优策略,并在迭代中更新参数值,这就是策略梯度算法。
用函数近似方法估计最优策略的基本思想是用含参函数来近似最优策略。由于任意策略都需要满足对于任意的状态,均有,我们也希望满足对于任意的,均有。为此我们可以引入动作偏好函数,使得
动作偏好函数可以具有线性组合或神经网络等多种形式,通过基于梯度的迭代算法来更新参数,就可以得到最优状态估计。
策略梯度定理给出了期望回报和策略梯度之间的关系,是策略梯度方法的基础
在回合制任务中,策略期望回报可以表示为,策略梯度定理给出了它对策略参数的梯度为
策略梯度定理告诉我们,只要知道了的值,就可以得到期望回报的梯度。因此我们可以顺着梯度的方向改变以增大期望回报。
在每一个回合结束后,我们可以就回合中的每一步用以下公式来更新参数,这样的算法称为简单的策略梯度算法:
算法如下
输入:环境,策略
输出:最优策略的估计
参数: 优化器(隐含学习率),折扣因子,控制回合数和回合内步数的参数
1. (初始化)任意值
2.(时序差分更新)对每个回合执行以下操作
2.1(采样)用策略生成轨迹
2.2(初始化回报)
2.3 对t=T-1, T-2,...,0,执行以下步骤:
2.3.1(更新回报)
2.3.2(更新策略)更新以减小, 如