news 2026/4/21 10:55:20

Actor-Critic 强化学习中的两大核心损失函数:PG Loss 与 VF Loss 详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Actor-Critic 强化学习中的两大核心损失函数:PG Loss 与 VF Loss 详解

Actor-Critic 强化学习中的两大核心损失函数:PG Loss 与 VF Loss 详解

今天,我们来聊聊强化学习(Reinforcement Learning, RL)领域的一个经典框架——Actor-Critic。Actor-Critic 结合了策略梯度(Policy Gradient)和价值函数(Value Function)的优点,是许多现代 RL 算法(如 PPO、A2C)的基石。在训练过程中,我们常常会看到两个关键的损失函数:Actor/PG Loss(政策梯度损失)和Critic/VF Loss(价值函数损失)。它们分别负责优化“决策者”(Actor)和“评估者”(Critic),共同推动智能体从“菜鸟”变成“高手”。

如果你是 RL 新手,别担心,我会用通俗的语言解释清楚,还会配上数学公式和训练图表的解读。准备好了吗?让我们一探究竟!

Actor-Critic 框架简介:双人舞的精妙配合

在强化学习中,智能体(Agent)需要在环境中通过试错学习最优策略。Actor-Critic 就像一个“演员+评论家”的组合:

  • Actor:负责生成动作策略π(a∣s)\pi(a|s)π(as),即在状态sss下选择动作aaa的概率分布。它决定“下一步该怎么走”。
  • Critic:负责评估状态的价值V(s)V(s)V(s),即从当前状态出发,预期能获得的长期回报。它提供反馈,帮助 Actor 改进。

训练时,我们最小化两个损失函数:PG Loss 优化 Actor,VF Loss 优化 Critic。它们不是孤立的——Critic 的输出会影响 Actor 的更新,形成闭环学习。下面,我们逐一拆解。

PG Loss:策略梯度损失,Actor 的“动力源泉”

PG Loss,全称 Policy Gradient Loss(政策梯度损失),也常被称为策略梯度。它的核心思想是:通过梯度下降,强化“好动作”的概率,惩罚“坏动作”。

想象一下,智能体在玩游戏(如 CartPole 平衡杆)。如果它选择了正确的动作(杆子没倒),就该多学学这个动作;如果错了,就少碰它。PG Loss 正是计算这种“奖励/惩罚”的量化指标。

数学原理

PG Loss 的计算公式基于优势函数A(s,a)A(s, a)A(s,a)(Advantage),它衡量动作相对于平均水平的优劣(正值=好,负值=坏)。标准公式为:

LPG=−E[log⁡π(a∣s)⋅A(s,a)] L_{PG} = -\mathbb{E} \left[ \log \pi(a|s) \cdot A(s, a) \right]LPG=E[logπ(as)A(s,a)]

  • π(a∣s)\pi(a|s)π(as):Actor 输出的动作概率(对数形式log⁡π\log \pilogπ确保梯度稳定)。
  • A(s,a)=Q(s,a)−V(s)A(s, a) = Q(s, a) - V(s)A(s,a)=Q(s,a)V(s):优势值,通常用 Critic 计算QQQ(动作价值)和VVV(状态价值)的差。
  • 负号(-)是关键:最小化LPGL_{PG}LPG相当于最大化预期回报。

在实践中,A(s,a)A(s, a)A(s,a)往往来自 Critic 的估计,这让 Actor 和 Critic 紧密协作。

训练图表解读

来看一张典型的 PG Loss 训练曲线(基于 Wandb 日志):

X 轴是训练步数(Step,从 10 到 60),Y 轴是损失值。从 -0.05 开始,曲线波动上升向 0 收敛。这很正常!为什么是负值?因为当优势A>0A > 0A>0时,log⁡π⋅A\log \pi \cdot AlogπA为负,最小化负损失就是在“拉高”好策略的概率。整体下降趋势表示 Actor 在逐步优化,策略越来越聪明。如果曲线剧烈震荡,可能需要调学习率。

VF Loss:价值函数损失,Critic 的“校准器”

VF Loss,全称 Value Function Loss(价值函数损失),是 Critic 的专属损失。它让 Critic 学会准确预测状态的“长远价值”,为 Actor 提供可靠的指导信号。

Critic 就像一个资深教练:不只看眼前一招,还评估整个“比赛走势”。VF Loss 确保它的预测贴近真实回报,避免 Actor 被误导。

数学原理

VF Loss 通常用均方误差(MSE)衡量预测价值与目标价值的差距。公式简洁有力:

LVF=E[(Vθ(s)−R^)2] L_{VF} = \mathbb{E} \left[ \left( V_\theta(s) - \hat{R} \right)^2 \right]LVF=E[(Vθ(s)R^)2]

  • Vθ(s)V_\theta(s)Vθ(s):Critic 参数θ\thetaθ下的状态价值预测。
  • R^\hat{R}R^:目标回报(Target Return),常通过 TD(Temporal Difference)估计:R^=r+γV(s′)\hat{R} = r + \gamma V(s')R^=r+γV(s),其中rrr是即时奖励,γ\gammaγ是折扣因子,s′s's是下一状态。
  • 平方项确保损失非负,优化时最小化它,让Vθ(s)≈R^V_\theta(s) \approx \hat{R}Vθ(s)R^

有时还会加熵正则项(Entropy Bonus)来鼓励探索,但核心就是这个 MSE。

训练图表解读

另一张 VF Loss 曲线(同样从 Step 10 到 60):

Y 轴从 0.18 快速下降到 0.04,波动较小。这表明 Critic 学习迅速:早期预测偏差大(高损失),后期趋于稳定(低损失)。如果 VF Loss 不降反升,可能数据噪声大或网络太浅——建议检查批次大小。

对比两张图:PG Loss 更“活泼”(负值波动),VF Loss 更“稳健”(正值平滑)。理想训练中,二者同步下降,标志模型收敛。

为什么这两个损失如此重要?实际应用与调优Tips

在 PPO 等算法中,PG Loss 和 VF Loss 交替更新,形成高效的“双引擎”。它们解决了纯策略梯度的方差问题(Critic 减噪)和纯价值方法的偏差问题(Actor 探索)。

应用场景

  • 游戏 AI:如 AlphaGo 的策略优化。
  • 机器人控制:平衡 VF Loss 确保安全路径。
  • 推荐系统:Actor 选物品,Critic 估用户满意度。

调优小贴士

  • PG Loss 太负?加 KL 散度约束防过度更新。
  • VF Loss 卡住?试试多步 TD 目标或更大的 Critic 网络。
  • 监控:用 Wandb同时看两者 + 回报曲线(Episode Reward)。

结语:从损失到胜利的旅程

Actor/PG Loss 和 Critic/VF Loss 是 RL 训练的“双子星”,一个驱动行动,一个校准判断。理解它们,不仅能读懂日志曲线,还能调试出更强的模型。下次看到这些损失曲线时,别再挠头——你已经是半个 RL 专家了!

后记

2025年12月11日于上海,在supergrok辅助下完成。

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

Wan2.2-T2V-A14B在环保公益广告创作中的社会责任体现

Wan2.2-T2V-A14B在环保公益广告创作中的社会责任体现技术前沿与社会使命的交汇点 🌍 你有没有想过,一条让人泪目的环保短片,可能根本没用摄像机拍摄? 一只在融化的冰川上踽踽独行的北极熊,一片被塑料吞噬的蔚蓝海洋——…

作者头像 李华
网站建设 2026/4/20 10:19:31

DAY36 复习日

我们使用了神经网络的方式,用了pytorch重新对信贷数据集进行处理。import pandas as pd import numpy as np import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import Dataset, DataLoader from sklearn.model_selection imp…

作者头像 李华
网站建设 2026/4/18 20:53:22

leetcode刷题-day6(三数之和)

java实现两数之和 1、题目原题2、思路及算法(排序 双指针)2.1 排序 双指针 3、代码实现:3.1 排序 1、题目原题 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] …

作者头像 李华
网站建设 2026/4/18 10:48:18

NVIDIA Profile Inspector终极指南:免费解锁显卡隐藏性能

NVIDIA Profile Inspector终极指南:免费解锁显卡隐藏性能 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 想要彻底释放NVIDIA显卡的全部潜力吗?NVIDIA Profile Inspector这款免费…

作者头像 李华
网站建设 2026/4/21 1:00:32

盘点提高办公效率的5款知名软件,同事都在用

在日常办公中,许多人都会遇到文件查找慢、截图标注不方便、格式转换繁琐、重复操作较多、团队协同不顺畅等情况。相比频繁更换工具、在不同软件之间切换,一些成熟且口碑较好的应用其实已经能够覆盖这些场景,帮助用户提升整体工作效率。 本文整…

作者头像 李华
网站建设 2026/4/18 13:01:47

java学习——枚举类

Enum类源码 类声明和包信息 package java.lang;属于 java.lang 包&#xff0c;是 Java 的核心语言包 public abstract class Enum<E extends Enum<E>>implements Constable, Comparable<E>, Serializable {abstract 类&#xff0c;不能直接实例化泛型 <E …

作者头像 李华