【深度强化学习】PPO算法

PPO(Proximal Policy Optimization, 近端策略优化) 算法论文链接:

https://doi.org/10.48550/arXiv.1707.06347icon-default.png?t=N7T8https://doi.org/10.48550/arXiv.1707.06347

PPO算法概述:

PPO是一种用于策略优化的强化学习算法,旨在提高训练的稳定性和效率。其核心思想是通过比较新旧策略,以渐进的方式更新策略,同时引入一个剪切项来控制更新的大小,从而防止过度的策略变化。


PPO算法流程:

     1. 初始化: 初始化策略网络,价值函数网络(可选),以及其他算法参数。

     2. 采集经验: 在当前策略下,与环境交互,收集轨迹数据,包括状态、动作、奖励等信息。

     3. 计算优势: 使用价值函数网络计算每个状态的优势函数,即估计的未来累积回报相对于状态值的差异。

     4. 计算比例比较项: 计算新策略和旧策略的概率比,即 

 r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{\text{old}}}(a_t|s_t)}

    5. 计算 PPO Loss: 使用 PPO Loss 函数进行策略网络的更新。PPO Loss 由两部分组成,一部分是优势加权的策略损失,另一部分是剪切项,限制单次更新的幅度。 

  • 策略损失(Policy Loss): 衡量新策略相对于旧策略的提升,最大化经验的优势函数。
  • 剪切项(Clipping Term): 引入剪切项以限制单次更新的幅度,防止过度的策略变化。

L(\theta) = \hat{\mathbb{E}}_t\left[ \min\left(r_t(\theta)A_t, \text{clip}\left(r_t(\theta), 1-\epsilon, 1+\epsilon\right)A_t\right)\right]

   其中,r_t(\theta)是新策略和旧策略的概率比,A_t是优势函数,\epsilon(epsilon)是剪切幅度。

     6. 策略更新: 使用优化算法(如随机梯度下降)更新策略网络参数,以最小化计算得到的 PPO Loss。

     7. 循环迭代: 重复步骤2到步骤6,直到达到预定的训练次数或性能指标。


总结:

PPO算法的关键在于通过对比新旧策略,引入剪切项,来渐进地更新策略,确保在学习过程中保持相对的稳定性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值