第一部分:基础先导篇 ------ 明确目标与策略的本质
核心目标: 理解什么是策略,为什么我们需要策略梯度,以及它与基于价值(Value-based)方法的根本区别。
1.1 强化学习的标准框架
要理解策略梯度,我们首先需要建立一个绝对严谨的坐标系:强化学习的标准互动框架。这个框架是所有强化学习算法(无论是 DQN 还是 PPO)的共同基石。
在强化学习中,有两个核心实体:智能体(Agent) 和 环境(Environment) 。智能体是做决策的大脑,而环境则是智能体所处的、受其动作影响并给出反馈的世界。它们之间通过三个核心变量进行持续的闭环交互:状态(State) 、动作(Action) 和 奖励(Reward)。
核心变量的确切定义
-
状态(State, s)
-
定义: 状态是对当前环境物理或逻辑情况的完整或部分描述。它是智能体做决定的唯一依据。
-
实例(自动驾驶汽车): 状态不是一个抽象概念,而是一个包含多维数据的向量或矩阵。例如,s可以包含:前置摄像头的 RGB 像素矩阵、激光雷达测距的数值数组、当前车速(如 65 km/h)、方向盘当前转角等。
-
-
动作(Action, a)
-
定义: 智能体在观察到状态 s 后,对环境施加的干预。动作可以是离散的(如分类选择),也可以是连续的(如具体的物理量)。
-
实例(自动驾驶汽车): 输出的动作 a 可以是一个包含两个连续数值的向量:
[方向盘扭矩, 刹车/油门踏板压力]。
-
-
奖励(Reward, r)
-
定义: 一个标量数值(Scalar),由环境在智能体执行动作后立即返回。奖励定义了任务的目标。强化学习的终极且唯一的目的,就是最大化长期累积奖励。
-
实例(自动驾驶汽车):
-
保持在车道中心平稳行驶:每秒给予 +1的奖励。
-
偏离车道压线:给予 -1的惩罚(负奖励)。
-
发生碰撞:给予 -1000 的严重惩罚并终止当前回合。
-
到达目的地:给予 +10 的奖励。
-
-
交互的数学时间线
这三者不是静态的,而是随着时间步(Time step, t)不断向前推进的。其标准交互序列如下:
-
在时间步 t,智能体观察到环境状态
。
-
智能体根据
做出动作
。
-
环境接收动作
后,发生物理演变,转移到下一个状态
。
-
同时,环境会反馈给智能体一个即时奖励
。
这一过程不断重复,直到回合(Episode)结束。我们将这一连串的数据记录下来,就形成了一条轨迹(Trajectory, ):
为了更直观地感受这三个变量是如何运作和记录的,请看以下"智能体",在一个一维网格环境中执行"动作",并观察"状态"和"奖励"是如何生成的。智能体每走一步奖励-1,掉入陷阱奖励-5,达到终点奖励+10,他的优化目标就是最大化奖励。



再走三步:

1.2 什么是"策略"(Policy)?
在 1.1 节中,我们定义了状态 s、动作 a 和奖励 r。现在我们要回答强化学习中最核心的问题:智能体在看到状态 s 后,究竟该如何选择动作 a?
决定"看到什么状态,就采取什么动作"的内部逻辑或数学映射,就是策略(Policy) 。在数学上,策略通常用希腊字母 表示。策略分为两大类:确定性策略和随机性策略。
确定性策略(Deterministic Policy)
-
数学定义:
-
含义: 只要输入相同的状态
,输出的动作
永远是固定且唯一的。
-
实例: 传统的工业机械臂控制代码或简单的恒温器。如果状态 s是"当前室温 15°C",策略函数
输出的动作
永远是"开启加热器 100% 功率"。这里没有任何随机性。
随机性策略(Stochastic Policy)
策略梯度(Policy Gradient)算法的核心,几乎全部建立在随机性策略之上。
-
数学定义:
-
含义: 策略
输出的不再是一个具体的动作,而是所有可能动作的概率分布 。它表示在状态
下,采取动作
的概率。
实例: 在自动驾驶的某个复杂路口(状态 ),策略输出的可能是:向左转的概率为
,直行的概率为
,向右转的概率为
。智能体会根据这个概率分布去"抽样(Sample)"决定最终动作。也就是说,即使面对完全相同的状态,智能体每次实际执行的动作也可能不同。
为什么我们需要随机性策略?
-
保持探索(Exploration): 如果策略是完全确定的,智能体可能会在早期找到一个"还算不错"的动作后,就永远只做这个动作,从而错过"完美"的动作。概率分布允许智能体有一定几率去尝试小概率动作,探索未知的状态空间。
-
处理部分可观测环境(POMDP): 在很多博弈中(如石头剪刀布、德州扑克),如果你的策略是确定的(例如"看到对方出石头,我下次一定出布"),很容易被对手识破并反制。维持一定的随机性是数学上的最优解(纳什均衡)。
策略的参数化:神经网络的登场
在极简单的问题(如上一节我们从左向右走到出口)中,我们可以用一个巨大的表格来记录每个状态下每个动作的概率(每个格子向左向右的概率)。但对于现实问题(例如状态 是
的图像),状态数量是无限的,表格根本存不下。
因此,我们需要用一个函数 来近似这个策略。在深度强化学习中,这个函数就是神经网络。
我们用(Theta)来表示这个神经网络内部所有权重(Weights)和偏置(Biases)的集合。于是,策略公式就变成了:
它的计算流程极其明确:
-
输入层: 将当前环境的观测值(状态 s 的向量数据)输入神经网络。
-
隐藏层: 经历多层矩阵乘法和激活函数(如 ReLU),提取状态的特征。
-
输出层(离散动作): 如果动作是离散的(如"向左"、"向右"),网络最后一层通常是 Softmax 函数。它会将网络的原始输出(Logits)转化为加和为 1 的概率分布。
-
输出层(连续动作): 如果动作是连续的(如方向盘转角
到
),网络会输出一个统计分布的参数,通常是高斯(正态)分布的均值
和标准差
。然后智能体从
中抽样得出具体的转角数值。
-
反向传播学习:这是我们后面要讲的如何学习,因为一开始神经网络就不一定会做出正确的选择,我们需要通过后面的学习来更新他的参数,让他更加准确。
1.3 为什么选择策略梯度?(对比 DQN 等价值方法)
在强化学习的早期和经典阶段(如你可能听过的 Q-Learning 和 DQN),主流是基于价值(Value-based)的方法。这类方法不直接学习策略,而是学习一个 价值函数(Value Function,如 )。
价值函数的作用是评估:"在状态 s 下,执行动作 a,未来总共能拿多少分?"
有了这个评估后,策略就被隐式地定义为:永远选择当前状态下价值评分最高的那个动作(即取 argmax)。
既然基于价值的方法这么直观(类似查表找最高分),为什么我们还要费力去设计并直接优化策略梯度(Policy-based)模型呢?主要有以下两个极其核心的原因。
一:从容应对高维与连续动作空间
这是策略梯度在现代机器人控制和复杂系统中占据统治地位的根本原因。
-
价值方法的困境(维度灾难与连续空间):
假设你在玩围棋(离散空间),棋盘上有 361 个交叉点。神经网络评估出 361 个 Q值,你只需扫一遍,找出最大值(argmax),这在计算上非常轻松。
但是,如果任务是机器人关节扭矩控制(连续空间)呢?假设机器人有 6 个关节,每个关节的扭矩输入是一个从 -10.0 到 +10.0的连续实数。这意味着动作组合有无限多种。
在连续空间中求
是一个极其困难的非凸优化问题。如果强制将连续空间离散化(比如每个关节切分成 10 份),6 个关节就会产生
个动作组合,这就是"维度灾难"。
-
策略梯度的降维打击:
如 1.2 节所述,策略网络
不去评估每一个动作的分数。面对连续控制,它直接输出目标分布的统计参数。
例如,对于那个 6 关节机器人,策略网络只需输出 6 个均值(
)和 6 个标准差(
)。然后,系统直接从这 6 个高斯分布中抽取一组实数值作为动作发送给电机。
它完美避开了遍历寻找最大值的计算瓶颈。
二:原生支持随机性策略,破解 POMDP 难题
基于价值的方法(取最高分)必然导致一个确定性策略(Deterministic Policy)。在某些环境中,确定性策略是致命的。
-
对抗性博弈:
经典的"石头剪刀布"游戏。如果你的策略是确定的(比如根据某种计算,当前状态下出"石头"的 Q 值最高),对手很快就能通过观察建立你的行为模型,然后永远出"布"来击溃你。
唯一的数学最优解(纳什均衡)是极其均匀的随机策略:各以
的概率出拳。策略网络可以直接输出这个概率分布,而价值网络很难原生做到这一点。
-
部分可观测马尔可夫决策过程(POMDP):
在现实中,智能体的传感器往往是不完美的,这就导致了"状态混淆(State Aliasing)"。
实例: 假设一个扫地机器人在一个对称的"回"字形走廊里。由于它的雷达只能看到前后左右是否有墙,走廊左侧的某个位置和右侧的某个位置,在雷达看来状态 s 是一模一样的。
如果使用基于价值的确定性策略,机器人在左侧决定"向左转",那它在右侧看到同样的雷达数据时也会"向左转",结果可能就是在原地打转或撞墙(无限死循环)。
而随机性策略 允许机器人在遇到这个"看似相同的状态"时,以
的概率向左,
的概率向右。这种随机性保证了它最终一定能打破对称性,走出死循环。
极简强化学习概率论
1. 期望(Expectation, )= 平均值
-
书本上说: 随机变量按概率的加权和。
-
大白话: 就是算术平均分 。比如你抛一个标准骰子(1到6点),抛了 6000 次,所有点数加起来除以 6000,结果肯定在 3.5 左右。这个 3.5 就是期望。在强化学习里,公式里那个吓人的
,在代码里就是"让 AI 玩 100 盘游戏,把总得分加起来除以 100"。
2. 方差(Variance)= 波动程度 / 不靠谱程度
-
书本上说: 随机变量与期望值之差的平方的期望。
-
大白话: 就是成绩稳不稳定。
-
学生 A,三次考试:70,70,70。平均分(期望)是 70,方差是 0(极其稳定)。
-
学生 B,三次考试:10,100,100。平均分(期望)也是 70,但方差极大(极其神经刀)。
-
3. 基线(Baseline)= 班级平均分(对比物)
-
大白话: 如果我告诉你,你这次物理考了 60 分,你该高兴还是难过?
-
如果班级平均分是 40 分,你考 60 分就是学霸,应该狠狠奖励(增大行为概率)!
-
如果班级平均分是 90 分,你考 60 分就是倒数,应该狠狠惩罚(减小行为概率)!
-
-
这个"班级平均分",就是基线(Baseline)。
第二部分:核心推导篇
2.1 定义目标函数(Objective Function)
在强化学习中,我们的最终目标是让智能体赚取尽可能多的"奖励"。但由于环境的反馈和智能体的动作都存在随机性,我们不能仅仅盯着"某一次"的表现,而必须着眼于长期、整体的期望表现。这就引出了"轨迹(Trajectory)"和"期望回报(Expected Return)"的概念。
轨迹的概率分布
在 1.1 节中我们提到了轨迹 ,它是一个包含状态、动作和奖励的完整时间序列:
由于我们的策略是带有参数 的随机性策略
(比如一个神经网络),而且环境本身的状态转移可能也是随机的,这就意味着同一套参数
,在环境中运行多次,可能会产生无数条不同的轨迹
。
那么,在参数 确定的情况下,生成某一条特定轨迹
的概率是多少呢?这个概率记为
。
根据概率论的链式法则,一条轨迹发生的概率,等于每一步发生的概率的乘积:
这个公式看起来长,但其实可以拆解为三个极其直观的部分:
-
: 环境初始状态的概率。(环境决定,我们控制不了)
-
: 智能体在状态
下采取动作
的概率。(策略控制 ,由我们的参数
决定)
-
: 环境在接收到动作
后,转移到下一个状态
的概率,这叫做环境的状态转移概率。(环境物理法则决定,我们也控制不了)
核心洞察: 在整条轨迹的生成过程中,只有 是受我们控制的。我们调整参数
,其实就是在改变不同轨迹发生的概率。
我们到底在优化什么?
首先,定义一条轨迹的总回报(Return)。为了简单起见(暂不考虑折扣因子),一条轨迹 的总回报
就是沿途所有奖励的简单累加:
现在,核心问题来了:因为有成千上万条可能的轨迹,有的轨迹运气好拿了 100 分,有的轨迹运气差扣了 50 分。我们用什么指标来评价当前这套策略参数 的好坏呢?
在统计学中,评价随机变量综合表现的黄金标准是期望(Expectation)。
因此,我们定义目标函数(Objective Function) 为:所有可能轨迹回报的期望值。数学表达如下:
-
:遍历所有可能发生的不同轨迹。
-
:在当前策略下,这条轨迹发生的概率(权重)。
-
:这条轨迹能拿到的总分。
-
就是把每条轨迹的"得分"乘以它的"发生概率",然后全部加起来(加权平均)。
强化学习的终极数学目标:
寻找一组最优的神经网络参数 ,使得期望回报
最大化。
我们将世界极度简化:智能体只能走 2 步,每步只能选"左"或"右",因此总共只有 4 条可能的轨迹(左左、左右、右左、右右)。环境完全确定,唯一的变量就是策略参数 (在这里表示为选择"向右"的概率)。
向左概率为0.5时

右概率为0.8时:

在这个仅有 4 条轨迹的玩具世界里,我们一眼就能看出把 调到
就能让
最大化。
但是,如果在真实的自动驾驶中,可能的轨迹数量比宇宙中的原子还多,我们不可能用穷举法去算这个期望。
这就引出了强化学习历史上最精妙的数学魔法之一:我们如何在不遍历所有轨迹的情况下,计算出 关于参数
的导数(梯度),从而利用梯度上升法更新神经网络?
我们现在的任务极其明确:为了让神经网络(策略 )变聪明,我们需要使用梯度上升法来更新参数
,从而最大化期望回报
。
更新公式为:
(其中 是学习率,
是目标函数关于参数的导数,即策略梯度)。
那么,这个 到底该怎么算?这就是我们接下来要推导的。
2.2 核心数学工具:对数导数技巧(Log-Derivative Trick)
在 2.1 节中,我们定义了目标函数:
我们对它求参数 的梯度(求导):
因为求导法则允许我们将梯度符号移到求和符号内部(回报 不包含参数
,视作常数),所以:
-
是智能体玩一局的轨迹。
-
是出现这条轨迹的概率。
-
是这个概率对参数
的导数。
-
是这局游戏的回报。
困境在于: 轨迹 的数量是天文数字(比如下围棋的走法),我们不可能用
去穷举所有的轨迹来算这个加法。
穷举行不通,常规的做法是蒙特卡洛采样:也就是让智能体去环境里实际玩几十局,把这几十局的结果求个平均值,用来近似代替那个巨大的求和结果。
但采样的前提是,你的公式必须符合数学期望的定义:
也就是说,求和符号后面,必须是"一个概率分布"乘以"某个值"。
我们前面得到的公式里,出现的是 (概率的导数),而不是概率本身。
-
概率一定在 0 到 1 之间,且总和为 1。
-
但导数有正有负,总和也不为 1。
既然它不是概率分布,我们就无法用它来进行采样求平均。这就仿佛走进了一个死胡同:算理上需要算这个式子,但工程上由于算力限制根本没法算。
为了打破这个死胡同,数学家们引入了一个非常简单却极其巧妙的微积分技巧:对数导数技巧(Log-Derivative Trick):
由于:
我们将等式两边同时乘以 ,变形得到:
然后代入公式:
看!原来的"概率导数"被转化为了"概率 对数概率的导数"。
我们通过数学变形,成功将一个不可计算的全局梯度,转化为可以通过"在当前策略下采样轨迹,然后计算每条轨迹的导数并求平均"来估算的数值。
2.3 策略梯度定理(Policy Gradient Theorem)推导
上面的式子中还有一个难搞的家伙:。它代表"整条轨迹发生概率的对数导数"。
但是我们控制不了整条轨迹,环境的状态转移我们根本不知道。没关系,数学会帮我们把环境的不可控因素全部抹除。
在 2.1 节我们写过一条轨迹发生的概率公式:
现在,我们对等式两边同时取自然对数 。对数的性质是"乘法变加法":
接下来,激动人心的一刻来了。我们对两边同时求 的梯度
:
-
(因为初始状态概率是环境决定的,里面没有
,常数求导为 0)
-
(因为环境的状态转移概率也是物理法则决定的,里面没有
,常数求导为 0)
环境的动态模型就这样在求导过程中奇迹般地全部消掉了(被证明梯度为 0)!
只剩下了与我们策略网络相关的部分:
我们将这个极其干净的结果,代回到 2.2 节结尾的期望公式中,就得到了强化学习历史上最著名的公式之一:
彻底理解公式的物理意义(Trial and Error)
不要被这个公式吓倒,把它拆解开来,它描述的正是人类学习的最基本逻辑:"试错与奖惩"(Trial and Error)。
: 这个向量代表了"能让动作
在状态
下发生概率变大的参数调整方向"。
: 这是一个标量,代表这条轨迹最终拿到的总奖励。
两者相乘的意义:
-
如果这条轨迹拿了高分(R > 0),公式就要求我们顺着梯度的方向更新参数,从而增加这条轨迹上所有动作的发生概率。
-
如果这条轨迹搞砸了(R < 0),公式就要求我们逆着梯度的方向更新参数,从而降低这些导致失败的动作的发生概率。
-
分数越高/越低,更新的力度(步长)就越大。
实例讲解:
假设我们有一个智能体(比如一个打超级玛丽的 AI),它的大脑由一个神经网络控制,网络的参数是 。
我们的目标 是:调整参数 ,让它玩一局游戏的总得分(期望回报)最高。
我们定义这个目标函数(总得分的数学期望)为 :
-
(tau):代表完整的一局游戏 (也就是一条轨迹:看到画面
按下按键
看到新画面
按下按键...直到通关或死掉)。
-
:在当前脑子(参数
)的控制下,打出这一局操作的概率。
-
:这局游戏打完的总得分(回报)。
为了找到能让得分最高的最优参数 ,我们需要对目标函数求导(算梯度),即计算
。
直接求导会遇到我们之前说的"死胡同":
这时候,掏出我们上一条学过的对数导数技巧 公式代进去 :
因为前面又变回了概率 ,我们可以把它写成完美的期望形式(也就是可以让 AI 自己去玩游戏采样了):
上面那个公式里,有一个黑盒:。一整局游戏的概率到底怎么算?
一局游戏 其实就是一系列状态(
)和动作(
)的交替:
打出这一局的具体概率,其实是由三部分相乘组成的:
-
游戏初始画面的概率
:游戏机随机给的,和我们的 AI 无关。
-
AI 决定按什么键的概率
:在状态
下,AI 决定执行动作
的概率。这个完全由参数
决定。
-
游戏环境变化的概率
:AI 按下键后,游戏机刷出下一个画面的概率(比如超级玛丽的物理引擎)。这属于游戏规则,也和我们的 AI 无关。
把它们乘起来,就是一局游戏的概率:
别忘了,我们要算的是 的导数。
对数 () 有一个超级好用的性质:能把乘法变成加法!
所以,给上面那一大串乘法套上 :
高潮来了: 我们现在要对这个式子求导 。
仔细看上面的三个加项,第一项和第三项都是游戏环境决定的,里面根本没有参数 !在求导的时候,常数的导数是 0!
所以,环境规则被直接"杀掉"了:
这意味着,我们完全不需要知道游戏的底层代码和物理规则 (Model-Free),我们只需要关注 AI 自己的策略
就行了!
最终的定理诞生
用大白话翻译这个公式就是:
让 AI 去玩一局游戏。如果这局总得分 很高,那就沿着梯度的方向,提高 这局游戏里所有操作的概率;如果得分是个负数(比如死了),那就降低这局游戏里所有操作的概率。
第三部分:基础算法篇
在上一节,我们推导出了极其优雅的策略梯度定理:
理论很完美,但代码怎么写?计算机可不会算抽象的"期望()"。在这一部分,我们将把数学公式翻译成一行行可执行的算法逻辑,这就是强化学习历史上著名的 REINFORCE 算法。
3.1 蒙特卡洛采样(Monte Carlo Sampling)
在统计学中,当面对一个无法直接计算的期望值时,最简单粗暴且有效的方法就是蒙特卡洛方法:通过大量的随机采样来近似期望。
在策略梯度的语境下,它的操作极其直观:
-
我们让当前参数为
的神经网络"亲自下场",在环境中玩 N局游戏。
-
每一局游戏就是一条真实的轨迹
。
-
我们计算出这 N 条轨迹的梯度的平均值 ,用这个平均值来代替公式中的期望
。
公式在代码中就变成了这样(N 是采样的轨迹数量):
如果 N 足够大,这个平均值就会无限逼近真实的数学期望。
3.2 REINFORCE 算法流程详解
REINFORCE 是由 Ronald Williams 在 1992 年提出的算法,它是策略梯度方法最原始、最纯粹的落地形态。它的训练循环如下:
-
初始化: 随机初始化策略神经网络的参数
。
-
收集数据(玩游戏): 使用当前的策略网络
,在环境中运行一整个回合(Episode),记录下每一步的数据,形成一条轨迹
。
-
计算回报: 计算这条轨迹的总得分
。
-
计算梯度: 遍历这条轨迹中的每一个时间步
:
-
让神经网络重新前向传播,计算出状态
下的动作概率分布。
-
计算出实际采取动作
的对数概率梯度
。
-
将其乘以整条轨迹的总得分
。
-
把所有时间步的结果累加起来,得到整个策略的更新梯度。
-
-
更新参数: 使用反向传播(如梯度上升或 Adam 优化器),更新网络参数
。
-
循环: 清空上一回合的数据,用更新后的"聪明了一点"的神经网络去收集下一回合的数据。重复步骤 2-5,直到网络收敛。
实例:用 REINFORCE 玩 CartPole(倒立摆)
想象一个推车上顶着一根随时会倒的木棍。
-
状态
: 一个包含 4 个连续数字的向量(推车位置、推车速度、木棍角度、木棍角速度)。
-
动作
: 离散动作,推车向左或向右(神经网络输出这两个动作的 Softmax 概率)。
-
奖励
: 只要木棍不倒,每过一帧就给
的奖励。
训练过程极其纯粹: 神经网络随便动,如果某一回合撑了 50 帧才倒掉,那这条轨迹的 。代码就会用这个很大的正数
作为"推力",去增加这 50 步里所有动作的发生概率。如果另一回合乱动 5 帧就倒了,
,更新的"推力"就小得多。久而久之,网络就会学会如何撑得更久。
3.3 REINFORCE 的致命弱点:高方差
你看完了上面的 CartPole 实例,可能会觉得这个逻辑天衣无缝。但在真实的复杂任务中,REINFORCE 却几乎无法收敛。它的致命缺陷在于极高的方差(High Variance) ,这源于一个极其根本的逻辑漏洞:信用分配问题(Credit Assignment Problem)。
请仔细看 REINFORCE 的公式乘法项:。
这里的 是整条轨迹的总分 。它被盲目地乘到了轨迹中的每一个动作上。
这会造成极其荒谬的情况:
假设一盘复杂的星际争霸游戏打了 1000 步。前 999 步智能体都做出了极其完美的微操(神级动作),但在最后第 1000 步,它突然犯蠢把自己的主基地炸了,导致游戏失败,总得分为 。
按照 REINFORCE 的逻辑:因为这盘游戏输了(R = -100),它会无差别地去降低这 1000 步里所有动作的概率!即使前 999 个动作是完美的,它们也被无辜牵连,被算法当成了"坏动作"去惩罚。
反之亦然,如果前面 999 步都在梦游,最后一步运气好赢了(R = +100),算法会盲目地奖励前面所有的"垃圾动作"。
这种一竿子打翻一船人的做法,导致网络在更新时方向极其混乱:同一个好动作,这次被奖励,下次可能因为猪队友(同一轨迹里的坏动作)被惩罚。这就是高方差的物理来源。
假设 AI 玩了五局游戏,得分为:[85, 90, 60, 75, 95]。
在这个环境里,只要活着就有分,所以所有的分数都是正数 。按照 REINFORCE 的公式(动作概率梯度 总分),它会给出这样的指导:
"这五个动作都拿了正分,所以这五个动作的概率全部都要增加!"
连考 60 分的那个最烂的动作,都被奖励了(只是奖励少一点)。这就像通货膨胀,好动作和坏动作区分不开,这就是高方差的罪魁祸首。
这个时候我们引入平均分。
基线(Baseline)= 班级平均分(对比物)
-
大白话: 如果我告诉你,你这次物理考了 60 分,你该高兴还是难过?
-
如果班级平均分是 40 分,你考 60 分就是学霸,应该狠狠奖励(增大行为概率)!
-
如果班级平均分是 90 分,你考 60 分就是倒数,应该狠狠惩罚(减小行为概率)!
-
-
这个"班级平均分",就是基线(Baseline)。

你看,并没有什么高深的数学,仅仅是做了一个减法(减去平均值),原本模糊不清的更新方向瞬间变得黑白分明:好于平均的被奖励,差于平均的被惩罚。
这个简单的减法,就是强化学习迈向"现代"的第一步。公式表示为:
这里的 就是 Baseline(基线),而
在强化学习中有一个赫赫有名的名字------优势函数(Advantage Function)。
和GRPO的思想本质一致哈。
策略梯度就到这里了,我觉得这次更加详细基础,不像之前那么晦涩难懂了,有了这个基础,后面关于AC,PPO理解就简单一些了。