Proximal Policy Optimization Algorithms论文剖析

Proximal Policy Optimization Algorithms论文剖析

John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov from OpenAI

〇. 文章信息

Proximal Policy Optimization Algorithms

John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov from OpenAI, 2017

https://arxiv.org/abs/1707.06347

一. 写作动机

近年来,人们提出了几种不同的利用神经网络函数逼近进行强化学习的方法。主要的竞争者为基于价值的方法DQN,其次基于策略的方法“Vanilla Policy Gradient”(也就是最基础的策略梯度方法简称VPG。Vanilla是个有趣的词汇,本意为香草,因为是冰淇淋最基本的口味,所以一般用其代表‘最基本’的意思,学到了),最后是信任区域/自然策略梯度方法(TRPO)。然而这三种方法存在严重的缺点:

  1. Deep Q-Learning在解决一些连续动作空间的问题上表现不佳
  2. VPG算法需要先根据当前策略函数采样一批次样本,使用样本更新后,该批次样本失效,需要重新采样,所以采样效率低下
  3. TRPO设计复杂,不兼容参数共享,dropout等结构

本文的写作动机就是使用一种使用一阶优化的方法就获得了复杂TRPO的良好的性能(数据采样效率,鲁棒性)。

二. 背景知识简单介绍

1. 策略梯度算法

策略梯度算法将策略 π \pi π 参数化拟合成 π θ \pi _\theta πθ ,再通过梯度上升的方法优化参数,最常用的策略梯度有这样的形式:

g ^ = E t ^ [ ∇ θ l o g π θ ( a t ∣ s t ) A t ^ ] (1) \hat{g}=\hat{\mathbb{E}_t}[\nabla _{\theta}log \pi_\theta(a_t|s_t)\hat{A_t}] \tag{1} g^=Et^[θlogπθ(atst)At^](1)

其中, A t ^ \hat{A_t} At^为优势函数(Advantage Function)的估计量, E t \mathbb{E}_t Et为有限batch的平均量。可以反过来求得Loss-function:

L ( θ ) = E ^ t [ π θ ( a t ∣ s t ) A t ^ ] ( 这里可能和原文不同,但是由于 l o g 函数单调性,其实实质是一样的 ) (2) L(\theta)=\hat{\mathbb{E}}_t[\pi_\theta(a_t|s_t)\hat{A_t}](这里可能和原文不同,但是由于log函数单调性,其实实质是一样的) \tag{2} L(θ)=E^t[πθ(atst)At^](这里可能和原文不同,但是由于log函数单调性,其实实质是一样的)(2)

工作的过程就是重复采样与模型优化。作者在这里说道:听起来使用同一次采样的数据来多次更新策略的参数听起来十分诱人,但是后续实验证明了这样造成的影响是破坏性的,这里的原因在下一部分会提及到。

2. 重要性采样
(1)为什么要使用重要性采样?

首先回答上一部分提出的问题:为什么同一次采样的数据无法直接用来多次更新?

视线退回到策略梯度的推导。按照最初始的想法,我们想要最大化的是每一条完整的交互序列 τ : ( s 1 , a 1 , r 1 , s 2 , a 2 , r 2 . . . , s n , a n , r n ) \tau :(s_1,a_1,r_1,s_2,a_2,r_2...,s_n,a_n,r_n) τ:(s1,a1,r1,s2,a2,r2...,sn,an,rn)的累计奖励期望 R θ ˉ ( τ ) = p θ ( τ ) R ( τ ) \bar{R_\theta}(\tau)=p_\theta(\tau)R(\tau) Rθˉ(τ)=pθ(τ)R(τ),通过计算策略梯度的形式通过梯度上升优化方法来更新参数,其中策略梯度为:

∇ R ˉ θ = E τ ∼ p θ ( τ ) [ R ( τ ) ∇ l o g ( p θ ( τ ) ) ] (3) \nabla \bar{R}_\theta=\mathbb{E}_{\tau\sim p_\theta(\tau)}[R(\tau)\nabla log(p_\theta(\tau))] \tag{3} Rˉθ=Eτpθ(τ)[R(τ)log(pθ(τ))](3)

将其改写为针对动作-状态对的策略梯度,并使用优势函数:

∇ R ˉ θ = E ( s t , a t ) ∼ π θ [ A ^ t ∇ l o g π θ ( a t ∣ s t ) ] (4.1) \nabla \bar{R}_\theta=\mathbb{E}_{(s_t,a_t)\sim \pi_{\theta}}[\hat{A}_t\nabla log\pi_{\theta}(a_t|s_t)] \tag{4.1} Rˉθ=E(st,at)πθ[A^tlogπθ(atst)](4.1)

L ( θ ) = E ( s t , a t ) ∼ π θ [ π θ ( a t ∣ s t ) A ^ t ] (4.2) L(\theta)=\mathbb{E}_{(s_t,a_t)\sim \pi_{\theta}}[\pi_{\theta}(a_t|s_t)\hat{A}_t ] \tag{4.2} L(θ)=E(st,at)πθ[πθ(atst)A^t](4.2)

正因公式 ( 4 ) (4) (4)中,对于期望的定义(下标)要求用来更新的的样本 ( s t , a t ) (s_t, a_t) (st,at)需要是根据当前的参数化策略 π θ \pi_\theta πθ来生成的,也就意味着我们每当使用本策略采样样本进行策略参数更新后,策略已经发生了改变,所以需要重新采样改变后策略的样本。将完整序列延伸到状态-动作对也一样适用。

所以想要重复使用之前采样的数据多次更新策略,就需要使用一定的方法改变就样本的分布,使之与新策略产生的样本同分布,这个方法就是重要性采样。

(2)什么是重要性采样

当前有分布 p ( x ) p(x) p(x) q ( x ) q(x) q(x),从 p ( x ) p(x) p(x)中随机抽取样本计算函数 f ( x ) f(x) f(x)的期望: E x ∼ p [ f ( x ) ] = ∫ f ( x ) p ( x ) d x \mathbb{E}_{x \sim p}[f(x)]=\int f(x)p(x)dx Exp[f(x)]=f(x)p(x)dx,若将其乘以一个重要性因子 q ( x ) p ( x ) \frac{q(x)}{p(x)} p(x)q(x),就可以使用分布 p ( x ) p(x) p(x)中的采样来计算 q ( x ) q(x) q(x)分布下 f ( x ) f(x) f(x)的期望,即:

E x ∼ p [ q ( x ) p ( x ) f ( x ) ] = ∫ q ( x ) p ( x ) f ( x ) p ( x ) d x = ∫ f ( x ) q ( x ) d x = E x ∼ q [ f ( x ) ] (5) \mathbb{E}_{x \sim p}[\frac{q(x)}{p(x)}f(x)]=\int \frac{q(x)}{p(x)}f(x)p(x)dx=\int f(x)q(x)dx=\mathbb{E}_{x \sim q}[f(x)] \tag{5} Exp[p(x)q(x)f(x)]=p(x)q(x)f(x)p(x)dx=f(x)q(x)dx=Exq[f(x)](5)

上述即重要性采样。将欲求期望的函数乘以一重要性因子(目标分布与采样分布之间的比值),即可从一分布中采样数据来计算另一分布的期望等。利用重要性采样,就可以改写原有的策略梯度:

∇ R ˉ θ = E ( s t , a t ) ∼ π θ ′ [ π θ ( a t ∣ s t ) π θ ′ ( a t ∣ s t ) A ^ t ∇ l o g π θ ( a t ∣ s t ) ] (6.1) \nabla \bar{R}_\theta=\mathbb{E}_{(s_t,a_t)\sim \pi_{\theta '}}[\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta '}(a_t|s_t)}\hat{A}_t\nabla log\pi_{\theta}(a_t|s_t)] \tag{6.1} Rˉθ=E(st,at)πθ[πθ(atst)πθ(atst)A^tlogπθ(atst)](6.1)

L ( θ ) = E ( s t , a t ) ∼ π θ ′ [ π θ ( a t ∣ s t ) π θ ′ ( a t ∣ s t ) A ^ t ] (6.2) L(\theta)=\mathbb{E}_{(s_t,a_t)\sim \pi_{\theta '}}[\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta '}(a_t|s_t)}\hat{A}_t ] \tag{6.2} L(θ)=E(st,at)πθ[πθ(atst)πθ(atst)A^t](6.2)

(3)重要性采样的特殊性质

经过重要性采样之后,可以从 p ( x ) p(x) p(x)采样求得 f ( x ) f(x) f(x) q ( x ) q(x) q(x)分布下的期望,如公式 ( 5 ) (5) (5),那么是否一劳永逸?。如果计算二者的方差就会发现:

V a r x ∼ q [ f ( X ) ] = E x ∼ q [ f ( x ) 2 ] − [ E x ∼ q [ f ( x ) ] 2 (7.1) Var_{x \sim q}[f(X)]=\mathbb{E}_{x \sim q}[f(x)^2]-[\mathbb{E}_{x \sim q}[f(x)]^2 \tag{7.1} Varxq[f(X)]=Exq[f(x)2][Exq[f(x)]2(7.1)

V a r x ∼ p [ q ( x ) p ( x ) f ( x ) ] = E x ∼ p [ ( q ( x ) p ( x ) f ( x ) ) 2 ] − [ E x ∼ p [ q ( x ) p ( x ) f ( x ) ] 2 = E x ∼ q [ f ( x ) 2 q ( x ) p ( x ) ] − ( E x ∼ q [ f ( x ) ] ) 2 (7.2 ) Var_{x\sim p}[\frac{q(x)}{p(x)}f(x)]=\mathbb{E}_{x \sim p}[(\frac{q(x)}{p(x)}f(x))^2]-[\mathbb{E}_{x \sim p}[\frac{q(x)}{p(x)}f(x)]^2=\mathbb{E}_{x \sim q}[f(x)^2\frac{q(x)}{p(x)}]-(\mathbb{E}_{x \sim q}[f(x)])^2 \tag{7.2 } Varxp[p(x)q(x)f(x)]=Exp[(p(x)q(x)f(x))2][Exp[p(x)q(x)f(x)]2=Exq[f(x)2p(x)q(x)](Exq[f(x)])2(7.2 )

二者方差并不相等,其差距在重要性权重上。如果重要性权重过大,则会导致较大的方差,进一步导致采样还是失败的。

举一个来自蘑菇书《Easy RL》中的例子:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mIe0p3Bg-1688963847410)(image-20221101210127972.png)]

这里的红线表示f(x)的曲线,蓝,绿线表示不同分布的x,其中纵坐标越高,在该分布中越容易被取到。其中p(x)的样本分布中,计算f(x)期望为负。实际上在利用重要性采样,从q中采样数据估计p时,有极高的几率从q(x)分布采样到的x计算f(x)为正,极少采样到x计算f(x)为负。虽然在取得为负的点计算期望时会乘以一个特别大的重要性权重使得重要性采样得到f(x)期望正确,但是前提是能采样到这样的点。在现实采样中,很有可能因为采样次数不足导致无法采样到这样的点,导致最终重要性采样失败。

所以,进行重要性采样的前提就是重要性权重不能过大,也就是两个分布之间的差距不能过大。这里我们使用KL散度评判两个分布的相似性。

(4)其他想说的

南大lamda俞扬老师的回答很容易理解。为什么DQN不需要off policy correction? - 俞扬的回答 - 知乎

3. KL散度

KL 散度,又可称为相对熵,是一个用来衡量两个概率分布的相似性的一个度量指标。

KaTeX parse error: {equation*} can be used only in display mode.

KL散度越小,两分布越接近。为了限制使用重要性采样的更新与采样策略分布差距不过大,即限制两策略分布的KL散度 D K L ( π θ ∣ ∣ π θ ′ ) D_{KL}(\pi_\theta||\pi_{\theta '}) DKL(πθ∣∣πθ)小。TRPO就是用了这种方法。

注意:PPO/TRPO这里的KL散度指的是两个策略(网络)的输出策略的分布。衡量两个网络之间参数的关系是无意义的!!!!

4. 信赖域方法

TRPO使用上一次策略 π θ o l d \pi_{\theta_{old}} πθold采样的数据来更新当前的策略 π θ \pi_\theta πθ

通过限制KL散度来限制两策略分布差距

m a x i m i z e θ     E ^ t [ π θ ( a t ∣ s t ) π θ ′ ( a t ∣ s t ) A ^ t ] s u b j e c t     t o     E ^ t [ K L [ π θ o l d ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ] ≤ δ (8) \mathop{\mathrm{maximize}}\limits_\theta\,\,\,{\hat {\mathbb{E}}_t[\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta'(a_t|s_t)}}\hat A_t]}\\subject\,\,\,to\,\,\,\hat{\mathbb{E}}_t[KL[\pi_{\theta_{old}}(·|s_t),\pi_\theta(·|s_t)]]\leq\delta \tag{8} θmaximizeE^t[πθ(atst)πθ(atst)A^t]subjecttoE^t[KL[πθold(st)πθ(st)]]δ(8)

等价于无约束优化问题:

m a x i m i z e θ     E ^ t [ π θ ( a t ∣ s t ) π θ ′ ( a t ∣ s t ) A ^ t − β K L [ π θ o l d ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ] (9) \mathop{\mathrm{maximize}}\limits_\theta\,\,\,{\hat {\mathbb{E}}_t[\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta'(a_t|s_t)}}\hat A_t}-\beta KL[\pi_{\theta_{old}}(·|s_t),\pi_\theta(·|s_t)]] \tag{9} θmaximizeE^t[πθ(atst)πθ(atst)A^tβKL[πθold(st)πθ(st)]](9)

后续实验表明,简单地选择一个固定的惩罚系数β,用SGD优化惩罚目标方程 ( 9 ) (9) (9)是不够的;还需要进行其他修改。

三. 近端策略优化PPO

1. 近端优化裁剪(PPO-clip)

首先定义了 r t ( θ ) = π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) , s o     r ( θ o l d ) = 1 r_t(\theta)=\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta _{old}}(a_t|s_t)},so\,\,\,r(\theta_{old})=1 rt(θ)=πθold(atst)πθ(atst),sor(θold)=1,损失函数转化为:

L ( θ ) = E ^ t [ r t ( θ ) A ^ t ] (10) L(\theta)=\hat{\mathbb{E}}_t[r_t(\theta) \hat A_t] \tag{10} L(θ)=E^t[rt(θ)A^t](10)

为了惩罚过大的策略更新,设计新的损失函数:

L C L I P ( θ ) = E ^ t [ m i n ( r t ( θ ) A ^ t , c l i p ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ t ] (11) L^{CLIP}(\theta)=\hat{\mathbb{E}}_t[min(r_t(\theta) \hat A_t,clip(r_t(\theta),1-\epsilon,1+\epsilon)\hat{A}_t] \tag{11} LCLIP(θ)=E^t[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t](11)

其中clip()函数指的是当 r t ( θ ) ∈ [ 1 − ϵ , 1 + ϵ ] r_t(\theta)\in[1-\epsilon,1+\epsilon] rt(θ)[1ϵ,1+ϵ]时,函数输出 r t ( θ ) r_t(\theta) rt(θ);当超出上/下界时,则输出上/下界。

这里如此改造损失函数是为了限制损失函数在一定范围内,从而限制梯度,最终限制策略参数的更新幅度,控制前后两次策略的分布差距,使得在使用上一次策略采样的样本更新有效。

PPO-clip方法并未使用KL散度,作者画图对比其他函数随着更新的变化情况[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eefueT3u-1688963847411)(image-20221102181630708.png)]

可见随着时间步增加,KL散度与损失函数均在增加,加了裁剪之后的损失函数可以维持在一定水平内。

作者通过实验发现,当 ϵ = 0.2 \epsilon=0.2 ϵ=0.2时效果最好。

2. 自适应惩罚系数(PPO-pen)

传承TRPO的思想,使用KL散度来衡量新旧策略分布之间的差距。但是,这里使用了一个自适应的参数 β \beta β,算法的具体流程为:

  • 使用SGD优化器,损失函数

L K L P E N ( θ ) = E ^ t [ π θ ( a t ∣ s t ) π θ ′ ( a t ∣ s t ) A ^ t − β K L [ π θ o l d ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ] (12) L^{KLPEN}(\theta)={\hat {\mathbb{E}}_t[\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta'(a_t|s_t)}}\hat A_t}-\beta KL[\pi_{\theta_{old}}(·|s_t),\pi_\theta(·|s_t)]]\tag{12} LKLPEN(θ)=E^t[πθ(atst)πθ(atst)A^tβKL[πθold(st)πθ(st)]](12)

来进行策略的优化更新,并预先指定一个目标KL散度 d t a r g d_{targ} dtarg

  • 计算 d = E ^ t [ K L [ π θ o l d ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ] d=\hat{\mathbb{E}}_t[KL[\pi_{\theta_{old}}(·|s_t),\pi_\theta(·|s_t)]] d=E^t[KL[πθold(st)πθ(st)]]更新惩罚系数 β \beta β的值:

    • 如果 d < d t a r g / 1.5 , β = β / 2 d<d_{targ}/1.5,\beta=\beta/2 d<dtarg/1.5,β=β/2
    • 如果 d > d t a r g × 1.5 , β = β × 2 d>d_{targ}×1.5,\beta=\beta×2 d>dtarg×1.5,β=β×2

这里的1.5和2都是启发式的超参数,目的就是当散度发生剧烈的变化时能够迅速的对惩罚系数进行调整以维持策略分布。实验表明该算法对前面说的超参数不敏感。而且能够对TRPO惩罚项中固定的超参数实现自适应调整,使算法性能大幅度提升。

3.PPO算法总览

使用了重要性采样,PPO可以重复使用上一次的采样数据多次更新。将LossFunction更换为 L C L I P    o r    L K L P E N L^{CLIP}\,\,or\,\,L^{KLPEN} LCLIPorLKLPEN

结合流行的方法,加入RL中的’‘正则化’' e n t r o p y b o n u s    S [ π θ ] ( s t ) entropy bonus\,\,S[\pi_\theta](s_t) entropybonusS[πθ](st)(为了增加探索的能力)。计算advantage减少方差时候也会用到状态价值函数 V θ ( s t ) V_\theta(s_t) Vθ(st)(有时策略与价值会共享网络),所以增加了 L t L F ( θ ) = ( V θ ( s t ) − V t t a r g ) 2 L_{t}^{LF}(\theta)=(V_\theta(s_t)-V_t^{targ})^2 LtLF(θ)=(Vθ(st)Vttarg)2来训练网络能够学习估计出较为真实的状态价值函数。最后的损失函数就是如下形式:

L t C L I P + V F + S ( θ ) = E ^ t [ L t C L I P ( θ ) − c 1 L t V F ( θ ) + c 2 S [ π θ ] ( s t ) ] (13) L_t^{CLIP+VF+S}(\theta)=\hat{\mathbb{E}}_t[L_t^{CLIP}(\theta)-c_1L_t^{VF}(\theta)+c_2S[\pi_\theta](s_t)]\tag{13} LtCLIP+VF+S(θ)=E^t[LtCLIP(θ)c1LtVF(θ)+c2S[πθ](st)](13)

算法如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jEDMVKW4-1688963847412)(image-20221103144745532.png)]

四. 实验

1. 对比不同损失函数之间的差距

作者对比了:不加裁剪与惩罚,裁剪,惩罚三种损失函数(这里并未使用状态价值函数共享结构与entropy bouns)即公式 ( 6 ) , ( 10 ) , ( 12 ) (6),(10),(12) (6),(10),(12)在OpenAI MuJoCo physics engine任务上使用不同超参数的效果,结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sVYbQEbZ-1688963847412)(image-20221103145827303.png)]

在该任务上,PPO-clip算法获得了最高的分数,自适应惩罚系数分数略高于固定惩罚系数。

2. 对比了其他连续控制算法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fpFuO5Zw-1688963847413)(image-20221103150107326.png)]

PPO-clip基本上超越了原有的算法。

3. 成功使用PPO算法训练Humanoid Running and Steering
4. 在其他Atari游戏上测试PPO算法并对比

五. 结论

我们引入了近端策略优化,这是一组利用多个随机梯度上升时期(一次采样多次利用)来执行每次策略更新的策略优化方法。这些方法具有TRPO的稳定性和可靠性,但实现起来要简单得多,只需要对普通策略梯度实现进行几行代码更改,适用于更一般的设置(例如,当为策略和值函数使用联合架构时),并且具有更好的总体性能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 近端策略优化算法(proximal policy optimization algorithms)是一种用于强化学习的算法,它通过优化策略来最大化累积奖励。该算法的特点是使用了一个近端约束,使得每次更新策略时只会对其进行微调,从而保证了算法的稳定性和收敛性。近端策略优化算法在许多强化学习任务中都表现出了很好的效果,成为了当前最流行的强化学习算法之一。 ### 回答2: 近端策略优化算法是一种新兴的强化学习算法。它具有高效的策略优化和稳定的收敛性。近端策略优化算法在深度学习、自然语言处理、机器视觉、机器人学和其他应用领域都得到了广泛的应用。 近端策略优化算法的核心思想是对策略函数进行优化,以便最大化预期奖励。该算法使用指数加权平均方法来维护与策略函数相关的价值函数和状态值函数。在每个时间步中,它会使用当前策略函数执行一个或多个轨迹,然后使用这些轨迹更新策略函数的参数。 相比于其他优化策略的强化学习算法,近端策略优化算法有以下几个优点: 1. 收敛速度快——该算法具有高效的优化算法和稳定的训练过程,可以在较短的时间内收敛到最优解。 2. 收敛性强——该算法能够在训练过程中处理大的批量数据,并且可以快速地找到全局最优解。 3. 易于实现和调整——该算法的实现过程需要较少的超参数,使其易于实现和调整。 4. 可扩展性强——该算法可以扩展到复杂的问题和大规模数据集合。 总结: 近端策略优化算法是一种高效、稳定、易于实现的强化学习算法。它能够快速地处理大规模数据集合,并找到全局最优解。该算法在深度学习、自然语言处理、机器视觉、机器人学等领域中得到了广泛的应用。 ### 回答3: Proximal Policy Optimization (PPO)算法是一种强化学习中的模型优化算法。它的主要目标是发现学习最优策略的方法,并将其应用到机器人控制、游戏玩法、交通规划和服务机器人等任务中。 PPO算法的核心思想是使用一个剪切函数来限制策略更新的幅度,以确保算法的收敛性和稳定性。与传统的Policy Gradient算法不同,PPO算法对不同样本的更新幅度进行了限制,避免了策略更新过于激进或保守的情况,从而使算法更加可靠。 PPO算法的目标函数由两部分组成:第一部分是优化目标,即最大化期望奖励,第二部分是剪切函数。在PPO算法中,剪切函数被定义为两个策略之间的距离,它用于限制策略更新的幅度,以确保策略优化的稳定性。该函数使用了一个参数 $\epsilon$ 来控制策略更新的幅度,当距离超过阈值时,算法就会停止更新策略。 PPO算法的主要优点在于它的稳定性和可靠性。与其他优化算法相比,PPO算法采用了一种有限的剪切函数,从而避免了策略更新过于激进或保守的情况,而这种情况往往会导致算法崩溃或无法收敛。此外,PPO算法还具有高效性和可扩展性,可以应用于大规模深度学习中。 总之,PPO算法是一种强化学习中比较先进的算法,应用范围广泛,而且具有稳定性和可靠性,是未来智能机器人、自动驾驶等领域的重要研究方向。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值