美文网首页
论文阅读_近端策略优化_PPO

论文阅读_近端策略优化_PPO

作者: xieyan0811 | 来源:发表于2023-03-04 10:50 被阅读0次

    论文信息

    name_en: Proximal Policy Optimization Algorithms
    name_ch: 近端策略优化算法
    paper_addr: http://arxiv.org/abs/1707.06347
    date_publish: 2017-08-28
    if: IF 8.665 Q1 B1 Top EI
    author: John Schulman
    citation: 9685

    读后感

    PPO近端策略优化是一种强化学习算法,具体是对深度学习策略梯度方法的优化。
    策略是强化学习中用于决定在每个时刻采取哪个动作的函数。近端约束用于限制策略的变化,以避免过于激进地改变策略。
    文中介绍了两种方法:截断和KL散度,近端约束通常使用梯度截断来实现,即将梯度限制在一个特定范围内,让学习的步调不要太大。

    介绍

    一种改进版的强化学习策略梯度算法。它从与环境交互的数据中采样。不同于标准的策略梯度方法对每次采样执行一次梯度更新,文中提出了一个新的目标函数,可以实现多个epoch的minibatch数据更新,另外,它是TRPO的改进算法,相对TRPO更为简单,InstructGPT的强化学习用的就是PPO(ChatGPT可能也是)。

    方法

    优化算法

    文章介绍了三种方法,其差别主要在损失函数,公式如下图所示:

    第一种方法的目标是对神经网络theta调参,其中L表示损失Loss,At是时间步t的优势函数,注意这里的r不是奖励,而是新旧策略的变化,当策略不变时r=1:
    r_{t}(\theta)=\frac{\pi_{\theta}\left(a_{t} \mid s_{t}\right)}{\pi_{\theta_{\text {old }}}\left(a_{t} \mid s_{t}\right)}, \text { so } r\left(\theta_{\text {old }}\right)=1
    第二种是本文中推荐的剪裁方法,它通过限制损失函数,从而限制了后续调参;其中epsilon是超参数,一般是0.2,它将变化范围限制在0.8-1.2之间(上图是论文的截图,我觉得括号位置好像写错了)。
    第三种是将KL散度作为惩罚项加入了公式,以保证旧策略pi_old与新策略pi尽量相似,其中Beta是超参数,可以是固定的,也可以自动计算,文中还引入了一种自动计算Beta的方法,dtarg为超参数,先根据当前状态计算d,然后计算beta:
    \begin{array}{l} d=\hat{\mathbb{E}}_{t}\left[\operatorname{KL}\left[\pi_{\theta_{\text {old }}}\left(\cdot \mid s_{t}\right), \pi_{\theta}\left(\cdot \mid s_{t}\right)\right]\right] \\ \text { - If } d<d_{\operatorname{targ}} / 1.5, \beta \leftarrow \beta / 2 \\ \text { - If } d>d_{\operatorname{targ}} \times 1.5, \beta \leftarrow \beta \times 2 \end{array}

    具体实现

    PPO也属于一种A-C方法,即结合策略和价值的方法。为了同时优化价值和策略,设置最终的目标函数如下:
    L_{t}^{C L I P+V F+S}(\theta)=\hat{\mathbb{E}}_{t}\left[L_{t}^{C L I P}(\theta)-c_{1} L_{t}^{V F}(\theta)+c_{2} S\left[\pi_{\theta}\right]\left(s_{t}\right)\right]
    其中c1,c2是超参数,用于设置各方占比;CLIP指的是策略目标,即上面描述的裁剪方法;LV 是状态价值的差;优化的目标是最大化整体L,所以对其中的VF项做减法;和S是熵奖励,用于增强熵,以确保充分的探索。

    具体算法如下:

    其中优化的点是:使用并行的N个actors分别收集T时间步的数据;然后针对NT数据,通过K次epoch,用小批量数据M调整梯度,实验证明效果更好。

    实验

    三种方法对比效果如表-1所示:

    其中Clipping在epsilon设为0.2时效果最好;对于KL散度方法,测试了通过dtarg自动计算beta和设固定beta两种方式,可以看到自动计算的方式略好。

    与其它强化学习相比,从图-3可以看到,在大多数任务中PPO(Clip)都优于其它算法。除此以外,实验部分还针对连续领域及atari游戏对比了PPO与其它算法的效果。

    相关文章

      网友评论

          本文标题:论文阅读_近端策略优化_PPO

          本文链接:https://www.haomeiwen.com/subject/mucyldtx.html