郭震 AI公众号:郭震AI

24 强化学习中的优势函数

发布日期:

最近更新:

分类: 强化学习

预计阅读: 4 分钟

阅读次数: 0

系列进度

强化学习入门 · 第 24 / 28

预计阅读4 分钟
结构重点5 个
图文要点6 张
正文规模1.5k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 5 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

强化学习中的优势函数结构图查看大图
强化学习中的优势函数结构图

强化学习的核心是智能体在环境中试错,学习时要同时看状态、动作、奖励和策略更新。阅读时可以按「什么是优势函数? -> 优势函数的应用 -> 示例:利用优势函数改善策略学习 -> 优势函数的优势」建立结构,再回到正文里的代码、案例或指标做验证。

强化学习中的优势函数核对图查看大图
强化学习中的优势函数核对图

读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「什么是优势函数?」,再查「优势函数的应用」。

在上篇中,我们探讨了策略梯度方法中的基本算法——REINFORCE算法,了解了如何通过采样策略来更新参数以最大化预期奖励。本文将深入探讨一个关键概念——优势函数,并将其与策略梯度方法相结合,以提高学习效率。

什么是优势函数?

在强化学习中,优势函数(Advantage Function)用于衡量一个动作相对于其他动作的效果。通常,我们用A(s,a)A(s, a)表示状态ss和动作aa的优势函数,它可以定义为:

强化学习中的优势函数要点判断卡查看大图
强化学习中的优势函数要点判断卡

读这篇时,可以把「什么是优势函数? -> 优势函数的应用 -> 示例:利用优势函数改 -> 优势函数的优势」当成一条检查线:先把对象、步骤和证据对齐,再回到案例、代码或指标里复查。

A(s,a)=Q(s,a)V(s)A(s, a) = Q(s, a) - V(s)

这里:

  • Q(s,a)Q(s, a)是给定状态ss和动作aa的动作价值函数。
  • V(s)V(s)是状态价值函数,表示在状态ss时的预期回报。

优势函数的意义在于,它能更好地表示某个动作的相对好坏程度,从而有助于策略优化。在许多情况下,使用优势函数可以减少方差,提高学习的稳定性。

优势函数的应用

在策略梯度方法中,我们通常使用REINFORCE算法直接优化期望奖励。但通过引入优势函数,我们可以采用更为有效的算法,如A3C(Asynchronous Actor-Critic)和PPO(Proximal Policy Optimization)。

强化学习阅读地图卡查看大图
强化学习阅读地图卡

《强化学习中的优势函数》这类内容容易被细节带偏。先看图里的主线,再回到正文核对环境、输入、输出和判断标准。

示例:利用优势函数改善策略学习

假设我们有一个简单的迷宫环境,在其中智能体需要从起点到达终点。我们可以使用Q函数和V函数来计算每一步的优势。

import numpy as np

def compute_advantage(rewards, values, gamma=0.99):
    advantage = np.zeros_like(rewards)
    for t in reversed(range(len(rewards))):
        if t == len(rewards) - 1:
            delta = rewards[t] - values[t]
        else:
            delta = rewards[t] + gamma * values[t + 1] - values[t]
        advantage[t] = delta + (gamma * advantage[t + 1] if t < len(rewards) - 1 else 0)
    return advantage

在这个代码示例中,我们使用compute_advantage函数根据获得的奖励和状态价值计算优势。通过这一过程,智能体可以在更新策略时利用优势信息,从而更有效地更新参数。

优势函数的优势

相比于直接使用Q值或V值,优势函数在以下几个方面具备明显优势:

  1. 降低方差:通过将动作价值与状态价值进行比较,优势函数能消除一些无关的波动部分,因此在样本效率上更高。

  2. 增强学习稳定性:采用优势函数减少了策略更新对偶然性奖励的敏感度,促使学习过程更加稳定。

  3. 适用于多种场景:算法如A2CPPO都使用了优势函数,使得这些方法在处理复杂环境时表现优越。

强化学习中的优势函数应用复盘卡查看大图
强化学习中的优势函数应用复盘卡

读到这里,可以把《强化学习中的优势函数》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。

强化学习中的优势函数应用检查卡查看大图
强化学习中的优势函数应用检查卡

读完《强化学习中的优势函数》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。

总结

在强化学习中,理解和应用优势函数是提高策略学习效果的关键。通过优势函数,我们不仅能够使策略梯度法更加高效,还能够在实际应用中,如在游戏中的强化学习,获得更好的性能。接下来的篇幅,我们将深入探讨强化学习在游戏中的应用,展示如何将这一理论实际应用于复杂环境中,如何设计和训练智能体以达到最佳策略。

希望通过这一系列教程,读者能全面掌握强化学习的核心概念与算法,进而在实践中灵活应用。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

强化学习中的优势函数适合谁读?

这是 强化学习入门 系列第 24 / 28 篇,适合正在学习强化学习入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇强化学习入门教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...