增强学习--策略梯度算法(Policy Gradient)

基于似然函数推导策略梯度

强化学习的目标函数

U(θ)=E(t=0HR(st,ut);πθ)=τP(τ;θ)R(τ)

参数含义

τ={s0,u0,...,sH,uH} :一组状态与行为序列
R(τ)=t=0HR(st,ut) :序列 τ 的reward之和
P(τ;θ) :序列 τ 出现的概率
τP(τ;θ)R(τ) :同时拥有多组轨迹,取均值

强化学习的目的就是找到最优参数$\theta $,使得

maxU(θ)=maxτP(τ;θ)R(τ)

寻找最优参数 θ 的过程就是在寻找最优策略或者说最优路径,上述问题本质是一个优化问题,解决的方法最简单也是最常用的是梯度下降法,即
θnew=θold+αθU(θ)

关键问题是计算目标函数的梯度

θU(θ)=θτP(τ;θ)R(τ)

=τθP(τ;θ)R(τ)

=τP(τ;θ)P(τ;θ)θP(τ;θ)R(τ)

=τP(τ;θ)θP(τ;θ)R(τ)P(τ;θ)

=τP(τ;θ)R(τ)θlogP(τ;θ)

梯度的计算转换为求解 R(τ)θlogP(τ;θ) 的期望,此时可以利用蒙特卡洛法近似估算,即根据当前策略 π 采样得到m条轨迹

θU(θ)1mi=0mR(τ)θlogP(τ;θ)

接下来需要求解 θlogP(τ;θ)
假设在m个轨迹集合中,第i次轨迹为 τi={si0,ui0,...,siH,uiH} ,似然概率为
P(τi;θ)=t=0HP(sit+1|sit,uit)πθ(uit|sit)

参数含义

P(sit+1|sit,uit) :状态转移概率
πθ(uit|sit) :动作选择概率

你可能感兴趣的:(深度学习)