郭震 AI公众号:郭震AI

22 策略梯度的基本概念

发布日期:

最近更新:

分类: 强化学习

预计阅读: 4 分钟

阅读次数: 0

系列进度

强化学习入门 · 第 22 / 28

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

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

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

阅读路线

先按这条路线读

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

图文要点

先看本文图文节点

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

策略梯度的基本概念结构图查看大图
策略梯度的基本概念结构图

强化学习的核心是智能体在环境中试错,学习时要同时看状态、动作、奖励和策略更新。阅读时可以按「强化学习中的策略 -> 策略的参数化 -> 策略梯度 -> 策略梯度定理」建立结构,再回到正文里的代码、案例或指标做验证。

策略梯度的基本概念核对图查看大图
策略梯度的基本概念核对图

读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「强化学习中的策略」,再查「策略的参数化」。

在前一篇文章中,我们探讨了经验回放在深度强化学习中的重要性,它让智能体可以重用过去的经验,从而提高学习的效率和稳定性。本篇文章将引入策略梯度方法的基本概念,为后续的REINFORCE算法打下基础。

强化学习中的策略

在强化学习中,策略是智能体在给定状态下选择动作的规则。策略分为确定性策略随机策略两种:

策略梯度的基本概念要点判断卡查看大图
策略梯度的基本概念要点判断卡

读这篇时,可以把「强化学习中的策略 -> 策略的参数化 -> 策略梯度 -> 策略梯度定理」当成一条检查线:先分清主题、路径和验证点,再回到案例、代码或指标里复查。

  • 确定性策略:在每个状态下,策略总是选择同一动作,通常用 π(s)\pi(s) 表示。
  • 随机策略:在每个状态下,策略给出各动作的概率分布,记为 π(as)\pi(a|s),表示在状态 ss 下采取动作 aa 的概率。

策略的参数化

在许多情况下,尤其是复杂的环境中,直接指定策略是困难的。因此,我们通常会使用参数化策略。也就是说,我们使用一个参数集 θ\theta 来表示策略,从而可以写作:

πθ(as)\pi_\theta(a|s)

这里,θ\theta 可以是一个神经网络的权重,它通过学习来调整策略。

策略梯度

策略梯度方法旨在通过直接优化策略来提高强化学习的性能。相较于值函数方法(如Q学习),策略梯度方法直接对策略进行建模和优化,有以下主要优点:

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

读完《策略梯度的基本概念》后,可以回头问三件事:它解决什么问题,哪一步最容易出错,自己能否拿一个小例子跑通。

  1. 能够处理高维和连续的动作空间。
  2. 更容易优化复杂的策略,因为梯度信息提供了更为直接的调整方式。

策略梯度定理

策略的每一步产生的期望收益 E[R]\mathbb{E}[R] 可以用策略梯度定理表示为:

J(θ)=Eτπθ[logπθ(atst)Gt]\nabla J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \nabla \log \pi_\theta(a_t | s_t) G_t \right]

其中:

  • J(θ)J(\theta) 是我们希望最大化的目标函数(通常是期望回报)。
  • GtG_t 是在时间步 tt 时,从该状态开始的回报。

这表明我们可以通过取每个动作的对数梯度与累积回报的乘积的期望,来计算目标函数的梯度。

示例:简单的策略梯度更新

设想一个简单的策略梯度智能体,通过随机策略在一个网格世界中移动。在每个时间步中,智能体根据当前状态选择一个动作,并执行该动作以获得回报。以下是一个基本的策略更新的伪代码示例:

import numpy as np

# 初始化策略的参数
theta = np.random.rand(n_actions)

def policy(state):
    # softmax 策略
    exp_theta = np.exp(theta)
    return exp_theta / np.sum(exp_theta)

def policy_gradient_update(state, action, reward):
    p = policy(state)
    G_t = reward  # 这里假设 G_t 是当前获得的回报
    
    # 计算梯度
    grad_log_policy = np.zeros_like(theta)
    grad_log_policy[action] = 1 - p[action]
    
    # 更新参数
    theta += alpha * grad_log_policy * G_t

在上面的代码中,我们通过计算动作的概率分布来选择动作,并根据接收到的回报更新策略的参数。这是一个非常基础的策略梯度更新过程,后续的REINFORCE算法将基于此基础进行扩展和优化。

策略梯度的基本概念应用复盘卡查看大图
策略梯度的基本概念应用复盘卡

学完《策略梯度的基本概念》后,不妨换一个自己的场景试一次,重点观察输入、处理和输出是否能对应起来。

策略梯度的基本概念应用检查卡查看大图
策略梯度的基本概念应用检查卡

如果想把《策略梯度的基本概念》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。

总结

在这一部分中,我们介绍了强化学习中策略的基本概念,以及策略梯度的核心思想和基本公式。通过构建和优化策略,我们可以更有效地处理复杂的强化学习问题,并为解锁更多的策略梯度方法(如REINFORCE算法)奠定基础。

下一篇文章将深入探讨REINFORCE算法,展示如何将策略梯度方法具体应用于强化学习问题。希望读者在理解基本概念后,能更好地迎接下一个挑战。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

策略梯度的基本概念适合谁读?

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

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

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

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

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

分享文章

转发到常用平台

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

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

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

最多 800 字

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

0/800

留言列表

0
正在加载留言...