Policy Gradient (PG)与Proximal Policy Optimization (PPO)算法详解

本文深入介绍了强化学习的Value-based和Policy-based方法,重点解析Policy Gradient的基本原理和优化策略,包括Proximal Policy Optimization(PPO)算法。讨论了PG的不足,如采样效率低和训练不稳定性,并提出了On-policy和Off-policy的概念,以解决这些问题。此外,还阐述了在PG中引入Baseline和Advantage function的重要性。

参考学习课程

David Silver Reinforcement Learning
李宏毅教授强化学习


Value-based 与 Policy-based

强化学习可以按照方法学习策略来划分成Value-based和Policy-based两种。而在深度强化学习领域将深度学习与基于值的Q-Learning算法相结合产生了DQN算法,通过经验回放池与目标网络成功的将深度学习算法引入了强化学习算法。其中最具代表性分别是Q-Learning与Policy Gradient算法,将Q-Learning算法与深度学习相结合产生了Deep Q Network,而后又出现了将两种方式的优势结合在一起的更为优秀Actor Critic,DPG, DDPG,A3C,TRPO,PPO等算法。
Value-based 与 Policy-based
比如,在一个游戏里,目前处于状态s,动作空间A为{a1, a2, a3},现在要对动作进行选择。

  1. Value-based:比较a1, a2, a3三个个动作的期待值(Q-value),选取Q最大的那个作为本次选择的动作。
  2. Policy-based:有一个计算此刻选择哪个动作的函数(actor),并得到概率概率p(s,a),根据概率p(s,a)选取动作。
    请添加图片描述
    value-based 的典型算法是DQN,policy-based是policy gradient

Policy Gradient (PG)

基本原理

在强化学习中,环境与reward function是不能控制的,你所能改的只有actor,也就是玩家的经验策略。
对于 Policy Based 强化学习方法下,Actor就是训练的模型,也就是玩家,是一个使用参数 θ \theta θ近似的 π θ ( s , a ) \pi_{\theta}(s, a) πθ(s,a),然后找出最好的 θ \theta θ

请添加图片描述
这里是李宏毅教授视频中的一个例子:
机器先观察画面,然后做出了一个action,向right移动,这个action的奖励是 r 1 = 0 r_{1} = 0 r1=0,然后机器又观察画面,做出了fire的action,然后观察画面,发现有外星人被击落,然后获得reward r 2 = 5 r_{2} = 5 r2=5
请添加图片描述
经过很多轮 ( s , a , r ) (s, a, r) (s,a,r),游戏结束了。从游戏开始到游戏结束被称为一个episode,将每一个episode的 reward 相加就能得到Total reward: R = ∑ t = 1 T r t R = \sum_{t=1}^{T}r_{t} R=t=1Trt 。我们希望通过训练更好的acrtor使得R可以尽可能的大。

请添加图片描述
把每一个episode的所有s和a的序列放在一起,就是Trajectory

请添加图片描述
通过以上可得知 π \pi π在参数为 θ \theta θ情况下时 τ \tau τ发生的概率为:
p θ ( τ ) = p ( s 1 ) p θ ( a 1 ∣ s 1 ) p ( s 2 ∣ s 1 , a 1 ) p θ ( a 2 ∣ s 2 ) p ( s 3 ∣ s 2 , a 2 ) . . . = p ( s 1 ) ∏ t = 1 T p θ ( a t ∣ s t ) p ( s t + 1 ∣ s t , a t ) p_{\theta}(\tau)\\ =p(s_{1})p_{\theta}(a_{1}|s_{1})p(s_{2}|s_{1}, a_{1})p_{\theta}(a_{2}|s_{2})p(s_{3}|s_{2}, a_{2})...\\ =p(s_{1})\prod_{t=1}^{T}p_{\theta}(a_{t}|s_{t})p(s_{t+1}|s_{t}, a_{t}) pθ(τ)=p(s1)pθ(a1s1)p(s2s1,a1)pθ(a2s2)p(s3s2,a2)...=p(s1)t=1Tpθ(atst)p(st+1st,at)

得到了概率之后我们就可以根据采样得到的回报值计算出数学期望:
R θ ‾ = ∑ τ p θ ( τ ) R τ = E τ ∼ p θ ( τ ) [ R τ ] \overline{R_{\theta}}=\sum_{\tau}p_{\theta}(\tau)R_{\tau}=E_{\tau\sim p_{\theta}(\tau)}[R_{\tau}] Rθ=τpθ(τ)Rτ=E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值