强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods)

强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods)

学习笔记:
Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016

参照

需要了解强化学习的数学符号,先看看这里:

策略梯度方法(Policy Gradient Methods)

基于价值函数的思路

(1)Reinforcement Learningππ{π(s)}, sS{π(s)=argmaxa vπ(s|s,a), sS(s),orπ(s)=argmaxa qπ(s,a){v(s),orq(s,a)approximation cases:{v^(s,θ)θTϕ(s),state value functionq^(s,a,θ)θTϕ(s,a),action value functionwhereθ - value function's weight vector

策略梯度方法的新思路(Policy Gradient Methods)

(2)Reinforcement Learningππ{π(s)}, sSπ(s)=argmaxa π(a|s,θ)whereπ(a|s,θ)[0,1]sS, aAπ(a|s,θ)exp(h(s,a,θ))bexp(h(s,b,θ))exp(h(s,a,θ))θTϕ(s,a)whereθ - policy weight vector

策略梯度定理(The policy gradient theorem)

情节性任务

如何计算策略的价值η

(3)η(θ)vπθ(s0)whereη - the performance measurevπθ - the true value function for πθ, the policy determined by θs0 - some particular state

  • 策略梯度定理

(4)η(θ)=sdπ(s)aqπ(s,a)θπ(a|s,θ)whered(s) - on-policy distribution, the fraction of time spent in s under the target policy πsd(s)=1

蒙特卡洛策略梯度强化算法(ERINFORCE: Monte Carlo Policy Gradient)

  • 策略价值计算公式

(5)η(θ)=sdπ(s)aqπ(s,a)θπ(a|s,θ)(6)=Eπ[γtaqπ(St,a)θπ(a|s,θ)](7)=Eπ[γtGtθπ(At|St,θ)π(At|St,θ)]

  • Update Rule公式

(8)θt+1θt+αγtGtθπ(At|St,θ)π(At|St,θ)(9)=θt+αγtGtθlogπ(At|St,θ)

  • 算法描述(ERINFORCE: A Monte Carlo Policy Gradient Method (episodic))
    请看原书,在此不做拗述。

带基数的蒙特卡洛策略梯度强化算法(ERINFORCE with baseline)

  • 策略价值计算公式

(10)η(θ)=sdπ(s)aqπ(s,a)θπ(a|s,θ)(11)=sdπ(s)a(qπ(s,a)b(s))θπ(a|s,θ)ab(s)θπ(a|s,θ)=b(s)θaπ(a|s,θ)=b(s)θ1=0whereb(s) - an arbitrary baseline function, e.g. b(s)=v^(s,w)

  • Update Rule公式

(12)δ=Gtv^(s,w)wt+1=wt+βδwv^(s,w)θt+1=θt+αγtδθlogπ(At|St,θ)

  • 算法描述
    请看原书,在此不做拗述。

角色评论算法(Actor-Critic Methods)

这个算法实际上是:

  1. 带基数的蒙特卡洛策略梯度强化算法的TD通用化。
  2. 加上资格迹(eligibility traces)

注:蒙特卡洛方法要求必须完成当前的情节。这样才能计算正确的回报Gt
TD避免了这个条件(从而提高了效率),可以通过临时差分计算一个近似的回报Gt(0)Gt(当然也产生了不精确性)。
资格迹(eligibility traces)优化了(计算权重变量的)价值函数的微分值,etv^(St,θt)+γλ et1

  • Update Rule公式

(13)δ=Gt(1)v^(St,w)=Rt+1+γv^(St+1,w)v^(St,w)wt+1=wt+βδwv^(s,w)θt+1=θt+αγtδθlogπ(At|St,θ)

  • Update Rule with eligibility traces公式

(14)δ=R+γv^(s,w)v^(s,w)ew=λwew+γtwv^(s,w)wt+1=wt+βδeweθ=λθeθ+γtθlogπ(At|St,θ)θt+1=θt+αδeθwhereR+γv^(s,w)=Gt(0)δ - TD errorew - eligibility trace of state value functioneθ - eligibility trace of policy value function

  • 算法描述
    请看原书,在此不做拗述。

针对连续性任务的策略梯度算法(Policy Gradient for Continuing Problems(Average Reward Rate))

  • 策略价值计算公式
    对于连续性任务的策略价值是每个步骤的平均奖赏

(15)η(θ)r(θ)limn1nt=1nE[Rt|θ0=θ1==θt1=θ](16)=limtE[Rt|θ0=θ1==θt1=θ]

  • Update Rule公式

(17)δ=Gt(1)v^(St,w)=Rt+1+γv^(St+1,w)v^(St,w)wt+1=wt+βδwv^(s,w)θt+1=θt+αγtδθlogπ(At|St,θ)

  • Update Rule Actor-Critic with eligibility traces (continuing) 公式

(18)δ=RR¯+γv^(s,w)v^(s,w)R¯=R¯+ηδew=λwew+γtwv^(s,w)wt+1=wt+βδeweθ=λθeθ+γtθlogπ(At|St,θ)θt+1=θt+αδeθwhereR+γv^(s,w)=Gt(0)δ - TD errorew - eligibility trace of state value functioneθ - eligibility trace of policy value function

  • 算法描述(Actor-Critic with eligibility traces (continuing))
    请看原书,在此不做拗述。
    原书还没有完成,这章先停在这里
posted @   SNYang  阅读(15978)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示