图解强化学习 |手算近端策略优化算法(PPO)

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: PPO(近端策略优化)是当前最主流的强化学习算法,以训练稳定、上手简单、泛化性强著称。它通过Actor-Critic双网络架构,结合PPO-Clip损失函数限制策略更新幅度,并利用GAE优势估计提升样本效率,广泛应用于游戏AI、机器人控制、大模型对齐等领域。

 PPO 算法的基础认识

PPO = Proximal Policy Optimization(近端策略优化算法)

PPO 是目前落地最广、上手最简单、训练稳定性极强的通用强化学习算法,兼顾离散与连续动

作场景,游戏AI、机器人控制、大模型对齐、工业决策等任务普遍首选它。它属于策略梯度类算

法,核心思想是严格限制新旧策略的更新幅度,在保证策略稳步提升的同时,避免参数更新幅

度过大导致训练震荡、模型崩溃,还支持重复利用采样样本,大幅提升数据效率。

image.gif


PPO 算法的网络结构

① Actor —— 策略网络

输入:状态 s

输出:动作分布(均值 + 方差)、动作 a、对数概率 log π(a|s)

作用:根据状态输出要执行的动作,是负责 “做决策” 的网络

image.gif

② Critic —— 价值网络

输入:状态 s

输出:状态价值 V (s)(评估当前状态好不好、未来能拿多少奖励)

作用:评价 Actor 做得好不好,计算优势函数 A

image.gif


网络更新

① Actor 网络更新(策略更新)

使用:PPO-Clip 损失函数

目的:更新策略,让好动作概率变高,坏动作变低,但更新幅度被限制,不会崩。

输入:

  • 状态 s
  • 旧动作概率 π_old
  • 新动作概率 π_new
  • 优势函数 A

计算:

  1. 求概率比 r = π_new / π_old
  2. 裁剪到 [1-ε, 1+ε]
  3. 取 min (r*A, clip (r)*A) → 得到最终损失
  4. 反向传播更新 Actor

特点:

  • 只在 “近端” 小范围更新
  • 训练超级稳定
  • 不会像传统策略梯度那样炸掉

image.gif

image.gif

image.gif

image.gif

image.gif

② Critic 网络更新(价值评估更新)

使用:MSE 均方误差损失

目的:让价值估计 V (s) 更准,从而让优势函数 A 更准。

输入:

        状态 s

         实际回报 G / TD 目标值

计算:

Critic 输出 V (s)

计算 V (s) 与 目标回报 的误差

MSE 损失反向传播更新 Critic

特点:

简单、稳定

帮助 Actor 获得更准确的优势信号

image.gif

image.gif

image.gif


手动计算

当前执行 → 永远用旧策略动作

更新网络 → 只用新策略算旧动作的概率

新策略的动作,要等到【下一轮】才会执行!

广义优势估计

image.gif

TD 误差(td_delta)

td_delta = 即时奖励 + 折扣×下一个状态价值 - 当前状态价值

image.gif

GAE 优势(advantage)

advantage = 当前TD误差 + 衰减系数 × 下一步的advantage

image.gif

td_delta = [10, 5, -10]
gamma * lamda = 0.81 (衰减系数)

image.gif

t=2

r = -10
advantage = -10 + 0.81×0 = -10
r = 5
advantage = 5 + 0.81×(-10) = -3.1
r = 10
advantage = 10 + 0.81×(-3.1) = 7.489
GAE 优势 = [7.489, -3.1, -10]

image.gif

模型更新(update)

gamma = 0.9
lamda = 0.9
clip_eps = 0.2      → 裁剪范围 [0.8, 1.2]
# 两条样本
state0 = [1.0, 0.0, 1.0, 0.0, 0.0, 0.0]
state1 = [0.9, 0.1, 0.8, 0.2, 0.5, 0.1]
action0 = 0
action1 = 2
advantage = [-0.82, -2.0]

image.gif

新旧概率比 ratio

旧策略 s0 动作 0 概率 = 0.70
旧策略 s1 动作 2 概率 = 0.10
old_log_prob0 = ln(0.70) ≈ -0.357
old_log_prob1 = ln(0.10) ≈ -2.303
新策略 s0 动作 0 概率 = 0.91  → ratio≈1.3
新策略 s1 动作 2 概率 = 0.05
new_log_prob0 = ln(0.91) ≈ -0.094
new_log_prob1 = ln(0.05) ≈ -3.000
new_log_prob0 - old_log_prob0
= (-0.094) - (-0.357)
= 0.263
ratio0 = exp(0.263) ≈ 1.30
new_log_prob1 - old_log_prob1
= (-3.000) - (-2.303)
= -0.697
ratio1 = exp(-0.697) ≈ 0.50
ratio0 = 1.30   (超过 1.2,需要裁剪)
ratio1 = 0.50  (低于 0.8,需要裁剪)

image.gif

PPO Clip 损失

adv0 = -0.82
adv1 = -2.0

image.gif

part1 = 1.30 * (-0.82) = -1.066
part2 = clamp(1.30) → 1.2  → 1.2 * (-0.82) = -0.984
取 min:
min(-1.066, -0.984) = -1.066

image.gif

part1 = 0.50 * (-2.0) = -1.0
part2 = clamp(0.50) → 0.8 → 0.8 * (-2.0) = -1.6
取 min:
min(-1.0, -1.6) = -1.6

image.gif

策略损失 policy_loss

policy_loss = - [ (-1.066) + (-1.6) ] / 2
policy_loss = - [ -2.666 / 2 ]
policy_loss = - [ -1.333 ]
policy_loss = 1.333

image.gif

价值损失 value_loss

V(s0) = -3.18
V(s1) = 0.0
td_target0 = -1.0 + 0.9*0 = -1.0
td_target1 = 0.0
loss0 = (-3.18 + 1.0)^2 = ( -2.18 )^2 = 4.75
loss1 = 0
value_loss = (4.75 + 0)/2 = 2.375

image.gif

手算结果

ratio0        = 1.30
ratio1        = 0.50
policy_loss   = 1.333
value_loss    = 2.375

image.gif

image.gif


目录
相关文章
|
1天前
|
机器学习/深度学习 存储 人工智能
图解人工智能的数学基础(线性代数)
本文系统讲解线性代数核心概念,涵盖向量(定义、几何/坐标表示、内积)、矩阵(含义、运算、秩、逆、相似、分解)、行列式(几何意义与变换关系)、线性方程组、特征值与特征向量、二次型、向量空间及范数等,强调其在AI与神经网络中的实际应用。
40 7
|
1天前
|
机器学习/深度学习 人工智能 算法
图解人工智能的数学基础(高数)
本文系统讲解微积分核心概念:数列与递推、极限(含无穷小/大)、导数(含中值定理、泰勒公式)、积分(不定/定/变上限/反常)及微分方程,并延伸至多元函数、偏导数、链式法则与二重积分,结合Sigmoid函数、药物衰减等实例及SymPy代码演示,突出其在AI与工程中的应用基础。
43 5
|
1天前
|
机器学习/深度学习 自然语言处理 算法
图解强化学习 |手算GRPO
GRPO(分组相对策略优化)是PPO的无Critic简化版,仅用单一Actor网络,通过组内候选回答的相对奖励归一化替代优势函数估计;引入裁剪机制与KL正则,显著降低显存开销、提升训练稳定性与长链推理能力。(239字)
43 4
|
1天前
|
人工智能 知识图谱
图解人工智能的数学基础(概率论)
本内容系统讲解概率论与数理统计核心知识:从随机事件、古典/几何概型、条件概率、贝叶斯公式,到一维随机变量及其分布(离散型/连续型)、数字特征(期望、方差、协方差、相关系数),再到大数定律、中心极限定理及卡方/t/F分布,最后涵盖最大似然估计方法。理论结合水果店、掷骰子等生活实例,图文并茂,深入浅出。
36 2
|
1天前
|
机器学习/深度学习 算法 机器人
图解强化学习 |手算SAC算法
SAC(Soft Actor-Critic)是最稳定、强大的连续动作强化学习算法,广泛应用于机器人控制与决策任务。其核心是最大熵强化学习:通过双Q网络抑制过估计,柔性策略网络增强探索,自适应温度系数α动态平衡利用与探索,兼顾最优性与鲁棒性。(239字)
39 0
|
1天前
|
JSON 运维 监控
线上CPU突然飙到500%,凶手竟是一条日志
一次CPU飙升至500%的故障,根源竟是一行日志:`logger.error("用户信息解析失败:" + userJson)`。异常请求携带近5万行乱码JSON,导致高频字符串拼接与磁盘写入,拖垮CPU。通过线程栈定位、降级日志、规范输出(限流/精简/监控),成功止损。教训深刻:看似无害的日志,亦是性能杀手。
|
1天前
|
设计模式 人工智能 数据可视化
Agentic 设计模式拆解:6 种结构的优缺点与应用场景
本文系统梳理Agentic AI六大核心设计模式:单一、顺序、并行智能体,循环评审,协调者与子智能体,以及作为工具的子智能体。聚焦智能体、用户、模型与工具间的结构化交互,提炼可复用的工程骨架,助力规模化落地。
39 5
Agentic 设计模式拆解:6 种结构的优缺点与应用场景
|
1天前
|
人工智能 自然语言处理 算法
Is Grep All You Need?Agent 搜索里,Harness 比检索方法更重要
本文解读PwC AI团队论文《Is Grep All You Need?》,聚焦Agent搜索中grep与向量检索的实效对比。研究发现:在长对话检索任务中,grep常优于向量检索,但效果高度依赖Agent Harness(运行环境)及工具返回方式(inline/file-based)。论文揭示——Agent搜索是系统工程,非单点技术问题。
Is Grep All You Need?Agent 搜索里,Harness 比检索方法更重要
|
1天前
|
人工智能 调度
如何独自完成工作任务
在AI智能体时代,“一个人干一个部门的活”成为现实:关键不在加班,而在任务拆解、工具协同与流程复用。善用大模型、AI工具与自动化工作流,将重复劳动交给智能体,人专注判断、创意与交付。本质是构建“人+AI+系统”的高效协同范式。
38 4
|
1天前
|
人工智能 API 开发工具
阿里云CodingPlan购买订阅火爆,还有首月优惠吗?7.9元的Lite版本还有吗?
阿里云百炼Coding Plan是专为开发者打造的AI编程订阅服务,当前仅开放Pro高级套餐(200元/月),含9万次/月请求额度,支持Qwen3.5-Plus、Kimi-k2.5等多模态模型。需每日9:30抢购,不支持退款。阿里云CodingPlan官方订阅链接:https://t.aliyun.com/U/G7pldC
58 3