news 2026/6/10 14:34:47

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 的具体实现

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:52:22

【Python大数据分析选题】基于Hadoop+Spark的股市行情可视化平台 毕业设计 选题推荐 毕设选题 数据分析 机器学习

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡如果你遇到具体的…

作者头像 李华
网站建设 2026/6/6 3:27:12

【开题答辩全过程】以 基于协同过滤算法的经济型酒店推荐系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/6/9 5:04:31

vue基于Spring Boot框架的在线医疗问诊咨询平台的设计与实现_20369237

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/6/9 17:18:53

口碑好的廊坊市企业营销策划哪个好

口碑好的廊坊市企业营销策划哪个好 在当今竞争激烈的市场环境中,选择一家口碑好的企业营销策划公司对于企业的成功至关重要。廊坊市作为河北省的重要城市之一,拥有众多优秀的企业营销策划公司。本文将重点介绍一家在当地享有良好口碑的公司——快印客众…

作者头像 李华
网站建设 2026/6/9 19:16:22

开发功能开关-–-behaviac

原文 behaviac的运行时提供有核心的更新行为树的功能,在其之上,还有logging,热加载,连调等调试功能。这些调试功能只是‘开发’功能,在游戏发布后实际上是不需要的。 除了可以在config.h中定义BEHAVIAC_RELEASE宏为1…

作者头像 李华