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

on-policy和offpolicy算法

一句话总结

  • On-policy(同策略):边学边用,用当前策略生成的数据更新当前策略
    例子:演员自己演完一场戏后,根据观众反馈改进演技。

  • Off-policy(异策略):学用分离,用其他策略(如旧策略、专家数据)生成的数据更新当前策略
    例子:演员通过看别人的表演录像来学习,不用自己亲自演。


On-policy 算法

特点
  1. 数据来源:必须用当前策略(正在训练的模型)与环境交互产生的数据。

  2. 数据时效性:更新一次策略后,旧数据立即失效,必须重新采样。

  3. 优缺点

    • ✅ 更稳定,数据与策略一致。

    • ❌ 样本效率低(大量数据只能用于一次更新)。

典型算法
  • REINFORCE:蒙特卡洛策略梯度,纯靠当前策略的完整轨迹更新。

  • PPO(近端策略优化):通过裁剪机制限制更新幅度,但仍需当前策略的数据。

  • A2C(Advantage Actor-Critic):同步版本的Actor-Critic算法。

类比
  • 厨师亲自尝菜调整配方:每改一次配方,就必须重新做一桌菜来试味道。


Off-policy 算法

特点
  1. 数据来源:可以用历史数据、其他策略的数据(如专家示范、旧策略)

  2. 数据复用:同一批数据可多次用于训练,提高样本效率。

  3. 优缺点

    • ✅ 样本效率高,适合真实场景(如机器人训练)。

    • ❌ 需要处理策略差异(如重要性采样),可能不稳定。

典型算法
  • Q-Learning / DQN:通过Q表或神经网络学习最优动作价值,不依赖当前策略。

  • DDPG / SAC:Actor-Critic框架下,用经验回放池(Replay Buffer)复用数据。

  • TD3:双延迟DDPG,进一步优化稳定性。

类比
  • 厨师看别人的做菜视频学新技术:不用自己反复试错,直接借鉴他人经验。


关键区别对比

特征On-policyOff-policy
数据来源必须当前策略生成可用任意策略生成的数据
数据复用不能复用,每次更新后丢弃可复用(如经验回放池)
样本效率
稳定性高(数据一致)低(需处理策略差异)
典型算法PPO, A2C, REINFORCEDQN, DDPG, SAC

通俗例子

  1. On-policy

    • 你学自行车:必须自己骑(当前策略),摔了才能调整姿势,不能靠看别人骑车来改进。

  2. Off-policy

    • 你学做菜:看菜谱视频(他人策略数据),不用每看一次就自己做一遍。


如何选择?

  • 选On-policy:需要高稳定性(如AI对话模型微调)。

  • 选Off-policy:数据稀缺或交互成本高(如机器人控制)。

理解这两者的区别,就能明白为什么PPO适合ChatGPT训练(稳定优先),而DQN适合游戏AI(数据复用优先)。


文章转载自:
http://ariboflavinosis.hyyxsc.cn
http://chaetopod.hyyxsc.cn
http://bumf.hyyxsc.cn
http://brachycephal.hyyxsc.cn
http://cabriolet.hyyxsc.cn
http://antimere.hyyxsc.cn
http://bermudan.hyyxsc.cn
http://bine.hyyxsc.cn
http://bandoeng.hyyxsc.cn
http://canaled.hyyxsc.cn
http://cbd.hyyxsc.cn
http://boulle.hyyxsc.cn
http://aerarian.hyyxsc.cn
http://blowy.hyyxsc.cn
http://affect.hyyxsc.cn
http://applause.hyyxsc.cn
http://bourtree.hyyxsc.cn
http://bistable.hyyxsc.cn
http://chaldron.hyyxsc.cn
http://battik.hyyxsc.cn
http://academical.hyyxsc.cn
http://amorce.hyyxsc.cn
http://bennington.hyyxsc.cn
http://bugle.hyyxsc.cn
http://armiger.hyyxsc.cn
http://burgle.hyyxsc.cn
http://chicken.hyyxsc.cn
http://astringe.hyyxsc.cn
http://ccu.hyyxsc.cn
http://atelectasis.hyyxsc.cn
http://www.dtcms.com/a/277801.html

相关文章:

  • 计算机时钟演进:从毫秒到纳秒的精密革命
  • 动态规划题解_零钱兑换【LeetCode】
  • AV1序列头信息
  • Leetcode 3615. Longest Palindromic Path in Graph
  • [Dify]-基础入门5- Dify 中角色设定的正确方式与常见误区
  • SpringBoot3-Flowable7初体验
  • 谷歌在软件工程领域应用AI的进展与未来展望
  • v-for中key值的作用:为什么我总被要求加这个‘没用的‘属性?
  • Linux-网络管理
  • OneCode 3.0 权限引擎实现详解:基于esdright模块的设计与架构
  • 【micro:bit】从入门到放弃(一):在线、离线版本的使用
  • 代码部落 20250713 CSP-J复赛 模拟赛
  • 适配器模式:兼容不兼容接口
  • C++--unordered_set和unordered_map的使用
  • C#接口进阶:继承与多态实战解析
  • DVWA靶场通关笔记-XSS DOM(Medium级别)
  • 在人工智能自动化编程时代:AI驱动开发和传统软件开发的分析对比
  • 如何自动化处理TXT日志,提升工作效率新方式
  • Autotab:用“屏幕录制”训练AI助手,解锁企业级自动化新范式
  • Springboot实现一个接口加密
  • 免费证件照工具,一键制作超方便
  • Linux驱动开发2:字符设备驱动
  • NumPy实战指南:解锁科学计算的超能力
  • 5.适配器模式
  • Chrome浏览器此扩展程序已停用,因为它已不再受支持,插件被停用解决方案
  • 解决 Python 跨目录导入模块问题
  • Ubuntu 设置自动挂载 SD 卡,扩容根目录
  • 进程互斥的硬件实现方法
  • Python----大模型(Langchain-Prompt提示词)
  • 快速搭建Maven仓库服务