Model Free
1. 算法的演进(PG to PPO)

2. PG
不同于参数化动作价值函数,PG选择参数化策略 π ( a ∣ s , θ ) \pi(a|s, \theta) π(a∣s,θ)。

策略参数的学习方法都基于某种性能度量 J ( θ ) J(\theta) J(θ)的梯度,这些梯度是标量 J ( θ ) J(\theta) J(θ)对策略参数的梯度。这些方法的目标是最大化性能指标,所以他们的更新近似于 J J J的梯度上升
θ t + 1 = θ t + ∇ J ( θ ) \theta_{t+1} = \theta_{t} + \nabla J(\boldsymbol{\theta}) θt+1=θt+∇J(θ)
在分幕式任务中,性能指标 J ( θ ) J(\theta) J(θ)被定义为:在当前参数化策略下初始状态的价值函数;在持续性任务中,性能指标被定义为:平均收益。[我们的性能度量必须要符合这两个定义吗?像PPO的 J ( θ ) J(\theta) J(θ)已经变得面目全非了,那它本质上是不是还归类为上面两类?那在实际问题中的性能指标呢?]
2.1 蒙特卡洛策略梯度
sutton书上的推导比较难懂,但更加严谨,李宏毅公开课上的推导容易理解。
主要思想:
采用蒙特卡洛法进行采样,用样本的均值来近似期望。
推导过程:
∇ J ( θ ) ∝ ∑ s μ ( s ) ∑ a q π ( s , a ) ∇ π ( a ∣ s , θ ) ( 策 略 梯 度 定 理 ) = E π [ ∑ a q π ( S t , a ) ∇ π ( a ∣ S t , θ ) ] 把 对 随 机 变 量 所 有 可 能 的 求 和 运 算 都 化 为 对 π 的 期 望 , 再 对 期 望 采 样 = E π [ ∑ a π ( a ∣ S t , θ ) q π ( S t , a ) ∇ π ( a ∣ S t , θ ) π ( a ∣ S t , θ ) ] = E π [ q π ( S t , A t ) ∇ π ( A t ∣ S t , θ ) π ( A t ∣ S t , θ ) ] ( 用 采 样 A t ∽ π 替 换 a ) = E π [ G t ∇ π ( A t ∣ S t , θ ) π ( A t ∣ S t , θ ) ] ≈ 1 N ∑ n = 1 N ⋅ ∑ t = 1 T n G t n ⋅ ∇ ⋅ log π ( A t n ∣ S t n , θ ) ( ? ? ? ) \begin{aligned} \nabla J(\boldsymbol{\theta}) & \propto \sum_{s} \mu(s) \sum_{a} q_{\pi}(s, a) \nabla \pi(a \mid s, \boldsymbol{\theta}) (策略梯度定理)\\ &=\mathbb{E}_{\pi}\left[\sum_{a} q_{\pi}\left(S_{t}, a\right) \nabla \pi\left(a \mid S_{t}, \boldsymbol{\theta}\right)\right] \\ &把对随机变量 所有可能的求和运算都化为对\pi的期望,再对期望采样\\ &=\mathbb{E}_{\pi}\left[\sum_{a} \pi\left(a \mid S_{t}, \boldsymbol{\theta}\right) q_{\pi}\left(S_{t}, a\right) \frac{\nabla \pi\left(a \mid S_{t}, \boldsymbol{\theta}\right)}{\pi\left(a \mid S_{t}, \boldsymbol{\theta}\right)}\right] \\ &=\mathbb{E}_{\pi}\left[q_{\pi}\left(S_{t}, A_{t}\right) \frac{\nabla \pi\left(A_{t} \mid S_{t}, \boldsymbol{\theta}\right)}{\pi\left(A_{t} \mid S_{t}, \boldsymbol{\theta}\right)}\right] (用采样A_t \backsim \pi替换a)\\ &=\mathbb{E}_{\pi}\left[G_{t} \frac{\nabla \pi\left(A_{t} \mid S_{t}, \boldsymbol{\theta}\right)}{\pi\left(A_{t} \mid S_{t}, \boldsymbol{\theta}\right)}\right] \\ &\approx \frac{1}{N} \sum_{n=1}^{N} \cdot \sum_{t=1}^{T_{n}} G_{t}^{n} \cdot \nabla \cdot \log \pi\left(A_{t}^{n} \mid S_{t}^{n}, \boldsymbol{\theta}\right)(??? ) \end{aligned} ∇J(θ)∝s∑μ(s)a∑qπ(s,a)∇π(a∣s,θ)(策略梯度定理)=Eπ[a∑qπ(St,a)∇π(a∣St,θ)]把对随机变量所有可能的求和运算都化为对π的期望,再对期望采样=Eπ[a∑π(a∣St,θ)qπ(St,a)π(a∣St,θ)∇π(a∣St,θ)]=Eπ[qπ(St,At)π(At∣St,θ)∇π(At∣St,θ)](用采样At∽π替换a)=Eπ[Gtπ(At∣St,θ)∇π(At∣St,θ)]≈N1n=1∑N

本文详细介绍了从策略梯度方法到PPO算法的发展历程,涵盖了蒙特卡洛策略梯度、带基线的策略梯度、离策略策略梯度及PPO算法的原理与实现细节。
最低0.47元/天 解锁文章
301

被折叠的 条评论
为什么被折叠?



