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

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辅助下完成。

http://www.jsqmd.com/news/73409/

相关文章:

  • Wan2.2-T2V-A14B能否生成符合人类视觉习惯的景深效果
  • Wan2.2-T2V-A14B在环保公益广告创作中的社会责任体现
  • Day 36 MLP神经网络的训练
  • 终极指南:5分钟掌握XUnity.AutoTranslator让外文游戏变中文
  • Wan2.2-T2V-A14B能否识别并生成特定艺术风格如水彩画
  • 2025 最新跨境物流服务商 / 公司 TOP5 评测!深度覆盖欧美加专线,全链路方案 + 时效保障权威榜单发布,赋能跨境电商高效发展 - 全局中转站
  • 基于Comsol的激光熔覆熔池流动数值模拟探索
  • 中国台湾阳明交大团队让AI帮你实现真正的冻结时光
  • 金融机构如何落地智能体?16个头部企业Agent最佳实践
  • 超细整理,性能测试如何做?怎么做?性能压力负载(汇总二)
  • 工作生活没有节奏感怎么办?
  • 深入剖析高并发场景下ZooKeeper服务端Watcher实现原理
  • 2025 最新空运整柜拼箱/跨境物流/货代/外贸出口/货代方案服务商 TOP5 评测!深度覆盖欧美加专线,全链路赋能 + 实力实证权威榜单发布,专业服务重构跨境贸易生态 - 全局中转站
  • AXI-A7.4.1 AtomicCompare
  • C++的第十四天笔记
  • java学习——枚举类
  • 量子计算开发者必看(VSCode性能调优实战手册)
  • 2025必藏:中低压+低压+中压电缆厂家榜单,实力品牌全在这 - 品牌2026
  • 康迪科技收购美国高端电动越野摩托车品牌,加速多品牌战略布局
  • TinyMCE5支持Latex公式转图片资源导入
  • 实习面试题-Go 性能优化面试题
  • 搞懂“元数据”:给数据办一张“身份证”
  • 04_C 语言进阶之避坑指南:多重 if-else 及多重条件混乱 —— 让逻辑不再 “绕迷宫”
  • leetcode刷题-day6(三数之和)
  • Comsol 光子晶体仿真:拓扑荷、调控merging BIC与相关计算
  • B站视频下载终极指南:免费工具DownKyi完整使用教程
  • 【每天学习一点算法 2025/12/11】合并两个有序链表
  • 探索双馈风力发电系统的双PWM变换器控制
  • [powershell 入门]第9天:PowerShell 安全、代码签名与企业部署 作业及深度解析
  • 【Linux 系统编程核心】进程的本质、管理与核心操作