强化学习知识总结

本文总结了李宏毅老师的深度强化学习课程,重点关注model-free的Policy和Value方法,包括Policy Gradient的推导、PPO算法的介绍、Value-Based的DQN及其问题,以及Actor-Critic方法。此外,还探讨了On-Policy和Off-Policy的区别,并简要提及了稀疏奖励和模仿学习的应用。
摘要由CSDN通过智能技术生成

概览

之前学习了李宏毅老师深度学习中,关于深度强化学习的相关知识,感觉虽然推导公式基本都已经了解了,但是印象却不是十分深刻,因此,在这里写下来用作复习。
本次内容主要关注的是model-free的部分,对于model-base的内容,在这次就不进行深入的探讨了。这个博客会首先从policy-base的方法开始讲起,然后过渡到value-base的方法。最后再讲讲比较著名的A3C是如何将两者结合起来进行使用的。值得注意的是老师在课程的最后向同学们介绍了模仿学习(imitation learning),但是在这篇文章中我们不会探讨这个问题,我之后会专门开一个新的系列来讲一讲我认识中的模仿学习以及其中的反向强化学习(inverse reinforcement learning)
补充:在全部写完之后,补充一下on-policy 和 off-policy 两种不同的训练方法(参数更新)

强化学习的基本分类

model-based approach
在这个方法下面,机器会对环境有一个详细的认知,也就是可以在不打开游戏的环境下进行模拟,我们称之为simulator
model-free approach
policy-base 用奖励梯度来表示策略梯度,直接更新策略 π \pi π
value-base 不直接更新策略 π \pi π,而是更新未来预期函数Q来间接影响策略 π \pi π

Policy based approach

1.基本定义

  1. a = π ( s ) a=\pi(s) a=π(s)
    π \pi π表示策略, θ \theta θ是这个策略的参数(如果线形表示的话,那么实际上 a = θ s a=\theta s a=θs),它的输入是状态s,输出是动作a

  2. π ( s , a ) = π ( a ∣ s ) = P ( a ∣ s ) \pi(s,a)=\pi(a|s)=P(a|s) π(s,a)=π(as)=P(as)
    在状态s下进行动作a的概率也可以表示称这种形式

  3. R θ = ∑ t = 1 T r t R_\theta=\sum_{t=1}^{T}r_t Rθ=t=1Trt
    我们将从游戏从开始到结束,agent得到的奖励成为total reward

  4. τ = { s 1 , a 1 , r 1 . . . . . . . , s T , a T , r T } \tau=\{s_1,a_1,r_1.......,s_T,a_T,r_T\} τ={ s1,a1,r1.......,sT,aT,rT}
    我们将这个有序列表称为trajectory

  5. P ( τ ∣ θ ) = P ( s 1 ) ∏ t = 1 T p ( a t ∣ s t , θ ) p ( r t , s t + 1 ∣ s t , a t ) P(\tau|\theta)=P(s_1)\prod_{t=1}^{T}p(a_t|s_t,\theta)p(r_t,s_{t+1}|s_t,a_t) P(τθ)=P(s1)t=1Tp(atst,θ)p(rt,st+1st,at)
    在策略 θ \theta θ下选择路径 τ \tau τ的概率不难理解可以表示为左边的等式,但是值得注意的是,这个公式的第一项和第三项都和你的actor无关,都是只取决于environment的。

  6. R θ ˉ = ∑ τ R ( τ ) P ( τ ∣ θ ) ≈ 1 N ∑ n = 1 N R ( τ ) \bar{R_\theta}=\sum_{\tau}R(\tau)P(\tau|\theta)\approx{\frac{1}{N}\sum_{n=1}^{N}R(\tau)} Rθˉ=τR(τ)P(τθ)N1n=1NR(τ)
    我们将这个称为策略 θ \theta θ的奖励期望,也是我们在求奖励梯度时会着重使用的公式

  7. on-policy:真正进行学习的agent和与环境互动的agent是同一个agent
    off-policy:真正进行学习的agent和与环境互动的agent不是同一个agent

    我们现在来深入思考一下为什么会有off-policy的存在。on-policy需要我们在每一次 θ \theta θ更新之后,重新进行采样,这样的话算法效率过低,因此我们引入off-policy来解决这个问题。

2.主要方法

我们主要通过求上面奖励期望对 θ \theta θ微分来表示我们的策略梯度,然后我们对这个进行梯度上升(gradient ascent),用这个方法不断逼近理想中的最佳策略 θ \theta θ,而在深度学习当中,我们会把这个 θ \theta θ写成一个神经网络的形式。

2.1公式推导

  1. problem statement: θ ∗ = a r g m a x R θ ˉ \theta^*=argmax\bar{R_\theta} θ=argmaxRθˉ

  2. gradient ascent: θ n e w = θ o l d + η ∇ R θ o l d ˉ \theta_{new}=\theta_{old}+\eta\nabla\bar{R_{\theta_{old}}} θnew=θold+ηRθoldˉ

  3. calculate about the gradient ∇ R θ ˉ \nabla\bar{R_{\theta}} Rθˉ:
    ∇ R θ ˉ = ∑ τ R ( τ ) ∇ P ( τ ∣ θ ) \nabla\bar{R_{\theta}}=\sum_{\tau}R(\tau)\nabla P(\tau|\theta) Rθˉ=τR(τ)P(τθ)
             = ∑ τ R ( τ ) P ( τ ∣ θ ) ∇ P ( τ ∣ θ ) P ( τ ∣ θ ) \space\space\space\space\space\space\space\space=\sum_{\tau}R(\tau)P(\tau|\theta) \frac{\nabla P(\tau|\theta)}{P(\tau|\theta) }         =τR(τ)P(τθ)P(τθ)P(τθ)
             = ∑ τ R ( τ ) ∇ l o g ( P ( τ ∣ θ ) ) \space\space\space\space\space\space\space\space=\sum_{\tau}R(\tau)\nabla log(P(\tau|\theta))   

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值