type
status
date
slug
summary
tags
category
icon
password
参考教材:
策略梯度算法(policy gradient algorithm, PG)是目前LLM常用的PPO,DPO, GRPO等算法的基础。与value-based方法不同,它它直接对策略(policy)进行参数化建模,用梯度上升的方法训练。
1 Objective Function
强化学习的目标:找到一个policy function (假定policy function为参数的函数, 记作),使得累积回报的期望最大(通常是折扣回报, 回报是随机变量), 形式化可以表述为,
引入时刻值函数的定义,上式也可写作
- 是状态权重,. ⚠️注意是随机变量在的取值。
换言之,强化学习的优化目标是值函数的加权平均。
根据动作值函数的定义
将式(3)带式(2)
式(3)与式(2)的优化目标是一致的,只是形式不同。
2 PG Theorem
做过deep learning的同学知道,根据梯度下降理论,只要定义了loss function,沿着loss降低的方向更新模型参数,模型效果就会逐步提升。
策略梯度算法也是类似。根据上文定义的强化学习的评价指标,其数值约大,说明策略函数(policy function)越好。根据梯度上升理论,我们可以沿着指标增大的方向来更新policy function的参数。
对式(4)两边对计算梯度
式子中
再回顾一下动作值函数的定义
从定义可见中包含策略函数,因此
带入到式(6)中
左边
右边定义为
此时
显然式(9)是关于的递归式,简单看几项
对式(9)进行递归展开
当时,,而有界,因此
因此
式(11)直觉上很直观:等于从初始状态 出发,每个未来时刻在状态上贡献并按折扣后求和。
将式(11)带回到式(5)
表示从初始分布出发,在策略下经过步到达的概率。
此时
这里定义状态折扣权重,他表示从初始分布出发,在策略下,整条轨迹到达的折扣期望的累加(注意,它是对 所有步 k 的累加)。
此时
式中
从而
有了目标函数的梯度,那么我们可以根据梯度上升算法优化policy function
可以理解为learning rate
通常,我们难以得到真实的梯度,往往用随机梯度来代替,此时
- 这一项可以通过自动微分工具(torch)求得
- 不同的的估计方式决定算法(如 REINFORCE, ACTOR-CRITIC, Advantage Actor-Critic
小结
本节从强化学习的期望回报目标出发,系统推导了策略梯度公式,展示了如何通过梯度上升直接优化策略函数。
如有理解不当、笔误之处,敬请指出。非常感谢~
- 作者:莫叶何竹🍀
- 链接:http://www.myhz0606.com/article/RL_002
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。