当前位置: 首页 > news >正文

PPO是属于什么类型的RL算法,on policy还是off policy

PPO是属于什么类型的RL算法,on policy还是off policy

PPO(Proximal Policy Optimization属于 on-policy 的强化学习算法


结论一句话

👉PPO 是 on-policy 的策略梯度(Policy Gradient)方法,而不是 off-policy。


为什么 PPO 是 on-policy?

1️⃣ 数据来源决定属性

  • on-policy
    使用**当前策略(或非常接近的策略)**采样得到的数据来更新策略

  • off-policy
    可以用历史策略或其他策略采样的数据(例如 replay buffer)

👉 PPO 在每一轮更新中:

  • 当前策略πθ_old采样轨迹

  • 用这些轨迹来更新新策略 πθ

虽然更新过程中会进行多次gradient step,但这些数据不能跨策略长期复用,这就是 on-policy 的核心特征。


2️⃣ PPO 的核心目标函数是 on-policy 的

PPO 的 clipped objective:

LCLIP(θ)=Et[min⁡(rt(θ)At, clip(rt(θ),1−ϵ,1+ϵ)At)]L^{\text{CLIP}}(\theta) = \mathbb{E}_t \left[ \min\left( r_t(\theta) A_t,\; \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) A_t \right) \right]LCLIP(θ)=Et​[min(rt​(θ)At​,clip(rt​(θ),1−ϵ,1+ϵ)At​)]

其中:

rt(θ)=πθ(at∣st)πθold(at∣st)r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{\text{old}}}(a_t|s_t)}rt​(θ)=πθold​​(at​∣st​)πθ​(at​∣st​)​

关键点:

  • 分母是采样数据时的旧策略

  • 数据必须来自π_old

  • 如果策略差太多,clip 会限制更新

👉 这是受限的 on-policy 更新,而不是 off-policy 的任意重放。


3️⃣ PPO 和 off-policy 方法的本质区别

算法类型是否可用 replay buffer代表算法
PPOOn-policy❌ 不可长期复用PPO, A2C, TRPO
DQNOff-policyDQN
SACOff-policySAC
TD3Off-policyTD3

常见误解澄清 ⚠️

❌ “PPO 用 importance sampling,所以是 off-policy?”

不对。

  • PPO 的 importance sampling只是限制新旧策略的差异

  • 并不允许使用任意旧数据

  • 数据仍然来自最近一次策略

👉 这是on-policy with correction,不是 off-policy


一句话记忆法 🧠

  • 策略梯度 + 当前策略采样 = on-policy

  • Q-learning + replay buffer = off-policy

PPO 属于前者。


如果你愿意,我也可以:

  • 理论角度对比 PPO vs SAC

  • 量化交易 / 连续控制角度讲为什么 PPO 常被用

  • 结合代码(如 Stable-Baselines / CleanRL)解释 on-policy 的具体实现

直接告诉我你更关心哪一块 👍

http://www.gsyq.cn/news/99283.html

相关文章:

  • 56(12.10))
  • 【Python大数据项目推荐】Spark+Django共享单车数据分析可视化系统实现 毕业设计 选题推荐 毕设选题 数据分析 机器学习
  • 某安全so库深度解析
  • 压缩文件夹下下所有文件成压缩包tar.gz--随笔016
  • Emacs折腾日记(三十三)——org实现gtd任务管理系统
  • 57(12.11)
  • 【Python大数据分析选题】基于Hadoop+Spark的股市行情可视化平台 毕业设计 选题推荐 毕设选题 数据分析 机器学习
  • 【开题答辩全过程】以 基于协同过滤算法的经济型酒店推荐系统为例,包含答辩的问题和答案
  • 58(12.12)
  • 华为开源自研AI框架昇思MindSpore实战:手把手带你用GAN生成手写数字
  • 影刀RPA竞品分析黑科技!AI一键生成TikTok竞品报告,效率提升1000% [特殊字符]
  • 堆箱子问题:从暴力递归到动态规划的优化之路
  • C语言图论:最短路径算法
  • 教程7:行为树的连调-–-behaviac
  • CF1004D Sonya and Matrix - crazy-
  • Ascend C 与 CUDA 的对比分析-为异构计算开发者提供迁移指南
  • 教程8:结构体的添加和使用-–-behaviac
  • macOS 的两款好用的免费截图软件: shottr 和 snipaste
  • TikTok达人合作订单太繁琐?影刀RPA一键智能处理,效率飙升10倍![特殊字符]
  • 前端保存用户登录信息 深入全面讲解
  • 投机推理原理及设计
  • 【Java毕设全套源码+文档】基于springboot的高校大学生心理咨询管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 【开题答辩全过程】以 高校篮球社团管理系统 为例,包含答辩的问题和答案
  • JavaScript闭包终极指南:从原理到实战(2025版)
  • 有关C语言中自加和自减与计算机底层硬件的关糸
  • 告别机房管理噩梦,首码磁控U位系统来“救场”
  • 课程设计(自主选题)
  • 基于SVM-RFE-LSTM的特征选择算法结合LSTM神经网络的多输入单输出回归预测python代码
  • 25年12月14日复盘总结,大盘方向,操作建议,板块机会,实用干货
  • 解码 Qt 核心技术 —— 组件、数据操作与多界面开发