zoukankan      html  css  js  c++  java
  • 初识Proximal Policy Optimization (PPO)

    什么是PPO

    • 是一种off-policy 的 policy gradient。
    • PPO enables multiple epochs of minibatch updates.

    Importance Sampling

    • image-20211222101116214
      • 可以在q的distribution里sample data,不用直接从p里sample data。
      • 但是得乘上一个weight,这个weight就是\(\frac{p(x)}{q(x)}\)
    • Issue:
      • image-20211222101514187
      • Mean一样但是Variance不一定是一样的。
      • \(\frac{p(x)}{q(x)}\)比较大的时候,两个的方差会差很多。
      • 如果sample的次数不够多,那么Mean和Variance可能都会差很多。

    On-policy to Off-policy

    • image-20211222103325439
      • 上面是On-policy,下面是Off-policy。
      • 主要是要用红框里的weight去做修正。
        • trajectory分别在两个distribution中出现的概率。
    • Gradient for Update:
      • image-20211222110936537
      • 实际上得到的A,应该是\(\theta'\)的,因为在\(\theta'\)中sample。
      • \(\frac{p_{\theta}(s_t)}{p_{\theta'}(s_t)}\):很难算,而且两个应该要比较近似,所以删去这一项。
      • 利用上面那个式子可以得到似然函数。HOW?

    Add Constraint

    • 避免两个distribution差太多,加constraint。
    • K-L Divergence: KL散度,量化两种概率分布之间差异的方式。
      • \(D_{KL}(p||q)=\sum_{i=1}^Np(x_i)\cdot log \frac{p(x_i)}{q(x_i)}\)

    TRPO and PPO

    • TRPO是PPO的前身。
    • image-20211222112051261
      • 用KL divergence作为一个penalty,而不是像TRPO那样用constraint,希望减小KL散度,希望学出来的两个不要太不一样。
      • TRPO和PPO只是KL散度放的地方不一样。
      • TRPO和PPO可能效果差不多,但是PPO在实操的时候更加容易。
    • 这里KL散度不是参数上的举例,而是behavior上的距离。
      • 给同个state的时候,output action distribution的差距。

    PPO Algorithm

    PPO1算法

    • image-20211222112815099
    • Adaptive KL Penalty Coefficient:KL Penalty是可以动态调整的,你自己先设置一个你能接受的KL最小值和最大值。
      • KL大于最大值,就增加β。
      • KL小于最小值,就减小β。
      • image-20211222144239191

    PPO2算法

    • image-20211222113225847
    • PPO1使用KL散度,PPO2就不用KL散度了。
    • Clip:
      • image-20211222113208840
    • image-20211222113512647

    Pseudo Code

    image-20211222145001150

    Reference

  • 相关阅读:
    hdu 2489 dfs枚举组合情况+最小生成树
    hdu3938 Portal 离线的并查集
    hdu3926 Hand in Hand 判断同构
    hdu1811 Rank of Tetris 拓扑排序+并查集
    poj3083 Children of the Candy Corn 深搜+广搜
    HDU 2529 Shot (物理数学题)
    HDU 4576 Robot(概率dp)
    HDU 2672 god is a girl (字符串处理,找规律,简单)
    HDU 2669 Romantic(扩展欧几里德, 数学题)
    HDU 2671 Can't be easier(数学题,点关于直线对称)
  • 原文地址:https://www.cnblogs.com/xuwanwei/p/15720897.html
Copyright © 2011-2022 走看看