简介
强化学习的目标是学习到一个策略πθ来最大化期望回报。一种直接的方法是在策略空间直接搜索来得到最佳策略,称为策略搜索(Policy Search)。
策略搜索本质是一个优化问题,可以分为基于梯度的优化和无梯度优化。策略搜索和基于值函数的方法相比,策略搜索可以不需要值函数,直接优化策略。参数化的策略能够处理连续状态和动作,可以直接学出随机性策略。
策略梯度(Policy Gradient)
策略梯度(Policy Gradient)是一种基于梯度的强化学习方法。
假设πθ是一个关于θ的连续可微函数,我们可以用梯度上升的方法来优化参数θ使得目标函数J(θ)最大。
目标函数定义如下,表示执行某策略所能得到的平均回报:
J(θ)=Eτ∼pθ(τ)[G(τ)]=Eτ∼pθ(τ)[t=0∑T−1γtrt+1]
由此,我们首先求得目标函数对于策略参数θ的导数:
∂θ∂J(θ)=∂θ∂∫pθ(τ)G(τ)dτ=∫(∂θ∂pθ(τ))G(τ)dτ=∫pθ(τ)(pθ(τ)1∂θ∂pθ(τ))G(τ)dτ=∫pθ(τ)(∂θ∂logpθ(τ))G(τ)dτ=Eτ∼pθ(τ)[∂θ∂logpθ(τ)G(τ)]
其中,∂θ∂logpθ(τ)可以进一步分解为
∂θ∂logpθ(τ)=∂θ∂log(p(s0)t=0∏T−1πθ(at∣st)p(st+1∣st,at))=∂θ∂(logp(s0)+t=0∑T−1logπθ(at∣st)+logp(st+1∣st,at))=t=0∑T−1∂θ∂logπθ(at∣st)
其中,第一步将每一个轨迹分成了若干了部分,即一个轨迹出现的概率等于初始状态出现的概率p(s0)×通过策略πθ下一步选择动作at的概率×选择该动作后状态转移至st的概率。
第二步根据对数函数的性质,括号内的所有乘号变为加号。
第三步将括号内的前后两项剔除(对于参数θ来说是常数),得到最后的和公式。可以看出,∂θ∂logpθ(τ)是和状态转移概率无关,只和策略函数相关。
因此,策略梯度∂θ∂J(θ)可以再写为:
∂θ∂J(θ)=Eτ∼pθ(τ)[(t=0∑T−1∂θ∂logπθ(at∣st))G(τ)]G(τ)]=Eτ∼pθ(τ)[(t=0∑T−1∂θ∂logπθ(at∣st))(G(τ1:t−1)+γtG(τt:T))]=Eτ∼pθ(τ)[t=0∑T−1(∂θ∂logπθ(at∣st)γtG(τt:T))]