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

简介: 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


目录
相关文章
|
机器学习/深度学习 算法 PyTorch
深度学习经典算法PPO的通俗理解
#1 前置知识点 基本概念 [https://www.yuque.com/docs/share/04b60c4c-90ec-49c7-8a47-0dae7d3c78c7?#](https://www.yuque.com/docs/share/04b60c4c-90ec-49c7-8a47-0dae7d3c78c7?#) (部分符合的定义在这里) 要理解PPO,就必须先理解Actor
10291 0
社区活动礼品兑换攻略
社区活动礼品兑换攻略
15109 2
|
4月前
|
机器学习/深度学习 人工智能 算法
图解人工智能的数学基础(高数)
本文系统讲解微积分核心概念:数列与递推、极限(含无穷小/大)、导数(含中值定理、泰勒公式)、积分(不定/定/变上限/反常)及微分方程,并延伸至多元函数、偏导数、链式法则与二重积分,结合Sigmoid函数、药物衰减等实例及SymPy代码演示,突出其在AI与工程中的应用基础。
443 5
|
4月前
|
机器学习/深度学习 算法 vr&ar
图解强化学习 |手算Actor-Critic
Actor-Critic是一种融合策略优化(Actor)与价值评估(Critic)的强化学习算法:Actor负责选动作,Critic实时打分(如TD误差),实现单步更新、低方差、高效率,兼顾离散/连续动作空间。(239字)
677 0
|
4月前
|
机器学习/深度学习 算法 机器人
图解强化学习 |手算SAC算法
SAC(Soft Actor-Critic)是最稳定、强大的连续动作强化学习算法,广泛应用于机器人控制与决策任务。其核心是最大熵强化学习:通过双Q网络抑制过估计,柔性策略网络增强探索,自适应温度系数α动态平衡利用与探索,兼顾最优性与鲁棒性。(239字)
732 1
|
4月前
|
JSON 缓存 人工智能
【剪映小助手】媒体处理接口
CapCut Mate 是基于 FastAPI 的剪映自动化媒体处理接口,支持视频、音频、图片、贴纸的批量添加与轨道管理,提供草稿创建/保存/获取及标准化错误处理,助力高效、可控的AI视频编辑流程。(239字)
|
4月前
|
机器学习/深度学习 存储 人工智能
图解人工智能的数学基础(线性代数)
本文系统讲解线性代数核心概念,涵盖向量(定义、几何/坐标表示、内积)、矩阵(含义、运算、秩、逆、相似、分解)、行列式(几何意义与变换关系)、线性方程组、特征值与特征向量、二次型、向量空间及范数等,强调其在AI与神经网络中的实际应用。
595 7
|
4月前
|
设计模式 人工智能 数据可视化
Agentic 设计模式拆解:6 种结构的优缺点与应用场景
本文系统梳理Agentic AI六大核心设计模式:单一、顺序、并行智能体,循环评审,协调者与子智能体,以及作为工具的子智能体。聚焦智能体、用户、模型与工具间的结构化交互,提炼可复用的工程骨架,助力规模化落地。
405 5
Agentic 设计模式拆解:6 种结构的优缺点与应用场景
|
4月前
|
人工智能 API Python
GEO工作流搭建指南:用AI自动化你的内容优化
本文详解一套可落地的5节点GEO内容自动化工作流:选题→写作→质检→格式→输出,全程基于Coze零代码搭建,无需编程,市场营销专业学生半天即可上手,已应用于多所高校实训与政校企合作项目。(239字)
|
4月前
|
机器学习/深度学习 自然语言处理 算法
图解强化学习 |手算GRPO
GRPO(分组相对策略优化)是PPO的无Critic简化版,仅用单一Actor网络,通过组内候选回答的相对奖励归一化替代优势函数估计;引入裁剪机制与KL正则,显著降低显存开销、提升训练稳定性与长链推理能力。(239字)
566 4

热门文章

最新文章