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

PPO算法

PPO(Proximal Policy Optimization,近端策略优化)是一种强化学习中的策略优化算法,由 OpenAI 在 2017 年提出。它被广泛用于训练智能体(比如游戏 AI、机器人控制,以及大语言模型的 RLHF 阶段),因为它简单、稳定、高效


一、PPO 要解决什么问题?

在强化学习中,我们希望智能体(Agent)通过与环境互动,学到一个“策略”(Policy)——也就是在某个状态下该采取什么动作。

传统的策略梯度方法(如 REINFORCE)存在一个大问题:更新步长不好控制

  • 如果步子迈太大(更新太猛),策略可能会“训歪”,性能反而变差;
  • 如果步子太小,训练又太慢。

PPO 的核心思想就是:在每次更新策略时,不要让它偏离当前策略太远,从而保证训练的稳定性


二、PPO 是怎么做到“别走太远”的?

PPO 有两种主流实现方式,最常用的是 PPO-Clip(裁剪版本)

1. 重要性采样比率(Importance Sampling Ratio)

假设:

  • 旧策略(更新前)是 π_old
  • 新策略(正在训练的)是 π_θ

对于某个状态-动作对 (s, a),定义比率:
[
r_t(\theta) = \frac{\pi_\theta(a|s)}{\pi_{\text{old}}(a|s)}
]
这个比率衡量了新旧策略在选择动作 a 上的差异。

2. 裁剪(Clipping)机制

PPO 的巧妙之处在于,它裁剪了这个比率,限制在 [1−ε, 1+ε] 范围内(比如 ε=0.2)。

然后,它取“裁剪后的目标”和“原始目标”中的较小值作为最终优化目标(这叫 “保守更新”):

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

其中 (\hat{A}_t) 是优势函数(表示这个动作比平均水平好多少)。

👉 这样做的效果是

  • 如果新策略比旧策略好太多(r_t 太大),就“砍掉”超出部分,防止更新过猛;
  • 如果新策略变差了,也会被限制,避免崩溃。

这就像给策略更新加了一个“安全带”。


三、PPO 在 RLHF 中的作用

在大模型的 RLHF(基于人类反馈的强化学习)流程中:

  1. 先训练一个“奖励模型”(Reward Model)来预测人类偏好;
  2. 然后用 PPO 算法,以这个奖励模型的输出作为 reward,来微调语言模型;
  3. PPO 确保语言模型在变得“更符合人类喜好”的同时,不会偏离原始模型太远(避免胡说八道或丧失基本语言能力)。

四、PPO 的优点总结

  • 训练稳定:不容易发散或崩溃;
  • 实现简单:相比之前的 TRPO 算法,PPO 不需要复杂的二阶优化;
  • 样本效率高:可以重复利用经验数据;
  • 广泛应用:从机器人控制到 ChatGPT 的对齐训练都用它。

一句话总结:

PPO 是一种“稳中求进”的强化学习算法——它允许策略更新,但绝不允许“大跃进”,从而在效率和稳定性之间取得优秀平衡。

http://www.dtcms.com/a/418328.html

相关文章:

  • 网站建设公司方维wordpress 上传文件路径
  • gRPC0到1系列之【6】
  • 【Java系列课程·Java学前须知】第3课 JDK,JVM,JRE的区别和优缺
  • JVM栈溢出时如何dump栈信息?
  • 重庆奉节网站建设公司重庆沙坪坝地图全图
  • RK3588芯片与板卡全面解析:旗舰级AIoT与边缘计算的核心
  • 226.翻转二叉树(二叉树算法题)
  • #itertools.product
  • AcWing 1172:祖孙询问 ← 倍增法求LCA(DFS预处理)
  • C语言 分支结构(1)
  • 扭蛋机抽赏小程序:重构线上娱乐的“盲盒式”新体验
  • EtherNet/IP转EtherCAT网关在新能源制造中实现机器人与运动卡数据互通
  • Imatest-Wedge模块
  • 岳阳博物馆网站网站建设想法
  • Day03_STM32F103C8T6学习笔记6-9章(江科大)
  • 专业企业网站搭建服务docker创建wordpress
  • 各大网站的网址网站的功能性
  • ZYNQ平台摄像头性能深度对决:OV7725 vs OV5640全面速度测试与优化实战
  • Qt 界面优化 --- 绘图
  • MySQL Online DDL:高性能表结构变更指南
  • 操作系统:进程调度,创建和终止
  • Kafka09-速答-尚硅谷
  • Jenkins与GitLab-CI的技术对比分析
  • 2025 年 AI 智能体(Agent)发展全景:技术突破、场景落地与产业重构
  • 电子商务的网站建设名词解释网站设计的流程简答题
  • Spark源码中的线程池
  • Kafka06-进阶-尚硅谷
  • TDengine 时序函数 IRATE 用户手册
  • 网站模板源码下载广告网站建设
  • 一键部署 Spring Boot 到远程 Docker 容器