
首页

归档

关于
简体中文
  • 简体中文
  • English
LLM后训练(二)--价值函数

LLM后训练(二)--价值函数

文章目录

  1. 1. 奖励信号的构造方式
  2. 2. 动作价值函数、状态价值函数和TD误差
    1. 2.1. 动作价值函数的性质
    2. 2.2. 状态价值函数的性质
    3. 2.3. TD误差
  3. 3. Advantage Actor-Critic模型
    1. 3.1. Actor优化目标
    2. 3.2. Critic优化目标
2026 04-23

本文是LLM后训练的第二篇,主要介绍强化学习中价值函数以及Advantage Actor-Critic模型(A2C)。

奖励信号的构造方式

在LLM后训练(一)中,我们介绍了强化学习的基本概念和一些常用的算法,并介绍了最原始的奖励损失函数:

J(θ)≈1N∑i=1N(R(τi)∑t=0Tlog⁡πθ(ati∣sti))J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \left( R(\tau^i) \sum_{t=0}^{T} \log \pi_\theta(a_t^i|s_t^i) \right) J(θ)≈N1​i=1∑N​(R(τi)t=0∑T​logπθ​(ati​∣sti​))

这个函数对整条轨迹使用统一的奖励,因此存在一些问题。那么,有没有对每一步动作使用不同奖励的算法呢?假设这种奖励存在,那么奖励信号就可以写入第二个求和符号中:

J(θ)≈1N∑i=1N(∑t=0TΨtilog⁡πθ(ati∣sti))J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \left( \sum_{t=0}^{T} \varPsi_t^i \log \pi_\theta(a_t^i|s_t^i) \right) J(θ)≈N1​i=1∑N​(t=0∑T​Ψti​logπθ​(ati​∣sti​))

为了方便表示,假设只针对一条采样轨迹进行分析,忽略下标iii,将Ψti\varPsi_t^iΨti​简写为Ψt\varPsi_tΨt​。在不同算法中,Ψt\varPsi_tΨt​的定义不同。在介绍A2C算法之前,先总结一下Ψt\varPsi_tΨt​的几种常见构造方式:

Ψt=∑t=0Trt\varPsi_t = \sum_{t=0}^{T}{r_t}Ψt​=∑t=0T​rt​

这种方式等价于最原始的奖励损失函数。

Ψt=∑t′=tTrt′\varPsi_t =\sum_{t'=t}^{T}{r_{t'}}Ψt​=∑t′=tT​rt′​

这种方式考虑了从ttt时刻开始的奖励。

Ψt=∑t′=tTrt′−b(st)\varPsi_t =\sum_{t'=t}^{T}{r_{t'}} - b(s_t)Ψt​=∑t′=tT​rt′​−b(st​)

这种方式引入了基线函数b(st)b(s_t)b(st​),用来降低奖励的方差。因为如果只考虑绝对奖励,可能会出现每个奖励都很大或者都很小的情况,从而导致梯度更新不稳定。引入基线后,奖励就变成了某个动作相对于平均水平的“优势”,而训练模型的最终目标正是在候选动作中选择更优动作。b(st)b(s_t)b(st​)的定义有很多,这里暂时将其视为采取所有动作时的平均奖励。

Ψt=Q(st,at)\varPsi_t = Q(s_t, a_t)Ψt​=Q(st​,at​)

这种方式使用动作价值函数作为奖励信号。
它表示在状态sts_tst​和该步对应动作ata_tat​的条件下,针对策略π\piπ未来奖励的期望值。由于这里使用的是未来奖励的期望值而非一个具体奖励的采样值,因此它可以看作是一个更稳定的奖励信号。
需要注意的是,动作价值函数中的条件期望是针对特定策略π\piπ定义的。在训练过程中,策略可能会随着参数更新而改变(也可能使用固定采样策略,此时不需要考虑策略改变的问题)。

Ψt=A(st,at)\varPsi_t = A(s_t, a_t)Ψt​=A(st​,at​)

这种方式使用优势函数作为奖励信号。优势函数的定义为:

A(st,at)=Q(st,at)−V(st)A(s_t, a_t) = Q(s_t, a_t) - V(s_t)A(st​,at​)=Q(st​,at​)−V(st​)


它表示在状态sts_tst​和动作ata_tat​条件下,动作价值函数与状态价值函数的差值。状态价值函数的定义为

V(st)=Eτ∼π[∑t′=tTγt′−trt′∣st]V(s_t) = \mathbb{E}_{\tau \sim \pi} \left[ \sum_{t'=t}^{T} \gamma^{t'-t} r_{t'} \mid s_t \right]V(st​)=Eτ∼π​[t′=t∑T​γt′−trt′​∣st​]


它表示在状态sts_tst​的条件下,针对策略π\piπ未来奖励的期望值。最终,优势函数表示在状态sts_tst​和动作ata_tat​的条件下,动作相对于平均水平的“优势”,它可以看作是一个更稳定的奖励信号。

Ψt=δt\varPsi_t = \delta_tΨt​=δt​

这种方式使用TD误差作为奖励信号。TD误差的定义为

δt=rt+γV(st+1)−V(st)\delta_t = r_t + \gamma V(s_{t+1}) - V(s_t)δt​=rt​+γV(st+1​)−V(st​)


TD误差表示奖励观测值与未来奖励折现值之和,再减去当前状态价值函数值的差值。(它的本质是贝尔曼方程,即当前价值等于即时奖励加上下一个状态折现价值的期望。)

动作价值函数、状态价值函数和TD误差

在上一部分,我们介绍了几种奖励信号的构造方式。本部分着重分析状态价值函数、动作价值函数和TD误差的性质与联系。

动作价值函数的性质

根据动作价值函数和状态价值函数的定义,可以推导:

Q(st,at)=Eτ∼π[∑t′=tTγt′−trt′∣st,at]=Eτ∼π[rt+γ∑t′=t+1Tγt′−(t+1)rt′∣st,at]=E[rt∣st,at]+Eτ∼π[γ∑t′=t+1Tγt′−(t+1)rt′∣st,at]=E[rt∣st,at]+Est+1∼P(⋅∣st,at)[γEτ∼π[∑t′=t+1Tγt′−(t+1)rt′∣st+1]]=E[rt∣st,at]+Est+1∼P(⋅∣st,at)[γV(st+1)]=Est+1∼P(⋅∣st,at)[rt+γV(st+1)]\begin{align} Q(s_t, a_t) &= \mathbb{E}_{\tau \sim \pi} \left[ \sum_{t'=t}^{T} \gamma^{t'-t} r_{t'} \mid s_t, a_t \right] \nonumber \\ &= \mathbb{E}_{\tau \sim \pi} \left[ r_t + \gamma \sum_{t'=t+1}^{T} \gamma^{t'-(t+1)} r_{t'} \mid s_t, a_t \right] \nonumber \\ &= \mathbb{E} \left[r_t\mid s_t, a_t \right] + \mathbb{E}_{\tau \sim \pi} \left[ \gamma\sum_{t'=t+1}^{T} \gamma^{t'-(t+1)} r_{t'} \mid s_t, a_t \right] \nonumber \\ &= \mathbb{E} \left[r_t\mid s_t, a_t \right] + \mathbb{E}_{s_{t+1} \sim P(\cdot|s_t,a_t)} \left[ \gamma\mathbb{E}_{\tau \sim \pi} \left[ \sum_{t'=t+1}^{T} \gamma^{t'-(t+1)} r_{t'} \mid s_{t+1} \right]\right] \nonumber \\ &= \mathbb{E} \left[r_t\mid s_t, a_t \right] + \mathbb{E}_{s_{t+1} \sim P(\cdot|s_t,a_t)} \left[\gamma V(s_{t+1}) \right] \nonumber \\ &= \mathbb{E}_{s_{t+1} \sim P(\cdot|s_t,a_t)} \left[ r_t + \gamma V(s_{t+1}) \right] \nonumber \end{align} Q(st​,at​)​=Eτ∼π​[t′=t∑T​γt′−trt′​∣st​,at​]=Eτ∼π​[rt​+γt′=t+1∑T​γt′−(t+1)rt′​∣st​,at​]=E[rt​∣st​,at​]+Eτ∼π​[γt′=t+1∑T​γt′−(t+1)rt′​∣st​,at​]=E[rt​∣st​,at​]+Est+1​∼P(⋅∣st​,at​)​[γEτ∼π​[t′=t+1∑T​γt′−(t+1)rt′​∣st+1​]]=E[rt​∣st​,at​]+Est+1​∼P(⋅∣st​,at​)​[γV(st+1​)]=Est+1​∼P(⋅∣st​,at​)​[rt​+γV(st+1​)]​

上式给出了状态价值函数到动作价值函数的一种变换关系。其中隐含了从ttt到t+1t+1t+1的递推关系,这种递推性质在后文会反复用到。

状态价值函数的性质

根据状态价值函数的定义,可以推导:

V(st)=Eτ∼π[∑t′=tTγt′−trt′∣st]=Eat∼π(⋅∣st)[Eτ∼π[∑t′=tTγt′−trt′∣st,at]]=Eat∼π(⋅∣st)[Q(st,at)]\begin{align} V(s_t) &= \mathbb{E}_{\tau \sim \pi} \left[ \sum_{t'=t}^{T} \gamma^{t'-t} r_{t'} \mid s_t \right] \nonumber \\ &= \mathbb{E}_{a_t \sim \pi(\cdot|s_t)} \left[ \mathbb{E}_{\tau \sim \pi} \left[ \sum_{t'=t}^{T} \gamma^{t'-t} r_{t'} \mid s_t, a_t\right] \right] \nonumber \\ &= \mathbb{E}_{a_t \sim \pi(\cdot|s_t)} \left[ Q(s_t, a_t) \right] \nonumber \end{align} V(st​)​=Eτ∼π​[t′=t∑T​γt′−trt′​∣st​]=Eat​∼π(⋅∣st​)​[Eτ∼π​[t′=t∑T​γt′−trt′​∣st​,at​]]=Eat​∼π(⋅∣st​)​[Q(st​,at​)]​

上式给出了动作价值函数到状态价值函数的一种变换关系。

TD误差

根据优势函数的定义,我们可以推导:

A(st,at)=Q(st,at)−V(st)=Est+1∼P(⋅∣st,at)[rt+γV(st+1)]−V(st)=Est+1∼P(⋅∣st,at)[rt+γV(st+1)−V(st)]=Est+1∼P(⋅∣st,at)[δt]\begin{align} A(s_t, a_t) &= Q(s_t, a_t) - V(s_t) \nonumber \\ &= \mathbb{E}_{s_{t+1} \sim P(\cdot|s_t,a_t)} \left[ r_t + \gamma V(s_{t+1}) \right] - V(s_t) \nonumber \\ &= \mathbb{E}_{s_{t+1} \sim P(\cdot|s_t,a_t)} \left[ r_t + \gamma V(s_{t+1}) - V(s_t) \right] \nonumber \\ &= \mathbb{E}_{s_{t+1} \sim P(\cdot|s_t,a_t)} \left[ \delta_t \right] \nonumber \end{align} A(st​,at​)​=Q(st​,at​)−V(st​)=Est+1​∼P(⋅∣st​,at​)​[rt​+γV(st+1​)]−V(st​)=Est+1​∼P(⋅∣st​,at​)​[rt​+γV(st+1​)−V(st​)]=Est+1​∼P(⋅∣st​,at​)​[δt​]​

TD误差取期望后等于优势函数,因此在VπV_{\pi}Vπ​准确的前提下,TD误差可以看作优势函数的无偏估计。然而在实际训练过程中,VπV_{\pi}Vπ​通常是近似函数,甚至本身也是需要训练的模型,因此TD误差可能存在一定偏差。另外,这里的TD误差只使用一步观测值。实际上也可以使用多步观测值来构造TD误差,这样可以在一定程度上减小偏差,但同时会增大方差。这里默认只使用一步观测值的TD误差,也称为TD(0)误差。

Advantage Actor-Critic模型

上一部分介绍了几种奖励信号的构造方式,并分析了动作价值函数、状态价值函数和TD误差的性质与联系。本部分介绍Actor-Critic模型。相比于原版Actor-Critic模型使用动作价值函数QQQ作为奖励信号,这里使用TD误差(本质上是优势函数)作为奖励信号的模型被称为Advantage Actor-Critic模型(A2C)。如果通过多次采样实际样本,再统计动作价值函数和状态价值函数以得到优势函数,往往会导致优势函数方差较大。而TD误差只使用一步观测值rtr_trt​以及当前和下一步状态价值函数的估计值Vϕ(st)V_{\phi}(s_t)Vϕ​(st​)和Vϕ(st+1)V_{\phi}(s_{t+1})Vϕ​(st+1​),因此其方差相对较小,可以加速训练过程。然而,由于TD误差往往是有偏估计(因为估计值未必准确),A2C模型引入了一个额外的状态价值函数模型,即Critic模型,来估计状态价值函数,并与Actor模型(即策略模型)交替优化缓解估计不准的问题。

Actor优化目标

Actor模型的优化目标是最大化下式:

J(θ)≈1N∑i=1N(∑t=0T(rti+γVϕ(st+1i)−Vϕ(sti))log⁡πθ(ati∣sti))J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \left( \sum_{t=0}^{T} (r_t^i + \gamma V_{\phi}(s_{t+1}^i) - V_{\phi}(s_t^i)) \log \pi_\theta(a_t^i|s_t^i) \right) J(θ)≈N1​i=1∑N​(t=0∑T​(rti​+γVϕ​(st+1i​)−Vϕ​(sti​))logπθ​(ati​∣sti​))

在实际优化过程中,可以对TTT中的时间步进行各种采样(包括单步采样),而不需要一次性优化整条轨迹的奖励信号,这样可以加速训练过程。

Critic优化目标

Critic模型的优化目标是最小化下式:

L(ϕ)=E[(rt+γVϕ(st+1)−Vϕ(st))2]\mathcal{L}(\phi) = \mathbb{E}\left[ (r_t + \gamma V_{\phi}(s_{t+1}) - V_{\phi}(s_t))^2 \right] \nonumber L(ϕ)=E[(rt​+γVϕ​(st+1​)−Vϕ​(st​))2]

其目标是最小化TD误差平方,因此可以看作一个回归问题,目标是让VϕV_{\phi}Vϕ​能够更准确地估计状态价值函数。

下图展示了A2C模型的简化优化流程(使用梯度上升最大化目标):

图片描述

本文作者:ShqWW

本文链接:http://shqww.github.io/2026/04/23/LLM%E5%90%8E%E8%AE%AD%E7%BB%83(%E4%BA%8C)/

本文标题:「LLM后训练(二)--价值函数」

本文发布时间:2026-04-23 00:00:00

本文更新时间:2026-04-23 00:00:00

本文版权:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

留言 0 阅读量 LLM后训练
  • LLM
  • 强化学习
LLM后训练(三)--PPO算法
前一篇

LLM后训练(三)--PPO算法

LLM后训练(一)--强化学习
后一篇

LLM后训练(一)--强化学习

说些什么吧!

waline
2024-2026 ShqWW
基于 Hexo  Theme.Reimu

文章目录

  1. 1. 奖励信号的构造方式
  2. 2. 动作价值函数、状态价值函数和TD误差
    1. 2.1. 动作价值函数的性质
    2. 2.2. 状态价值函数的性质
    3. 2.3. TD误差
  3. 3. Advantage Actor-Critic模型
    1. 3.1. Actor优化目标
    2. 3.2. Critic优化目标
ShqWW
ShqWW
文章
11
分类
4
标签
10

首页

归档

关于