Key Symbols

$o_t$ :回答序列o的第t个token;在语言模型中,回答o的token数就是传统RL问题中时间序列的长度

$\pi_{\theta}(o_t|q)$ : 一个特定的概率,即输入问题q,模型theta生成第t个token为o_t的概率;

$\pi_{\theta}(o|q)$: 即输入问题q,模型theta生成序列o的概率;

$\pi_{\theta}(\cdot|q)$ : 一个分布,即输入问题q,模型theta输出的概率分布;

LLM中,输出的概率就是logits softmax后的结果

信息、熵、交叉熵、KL散度

KL散度的含义

数学上,KL散度定义为:

$$ D_{KL}(P||Q)=\sum_{x}P(x)\log\frac{P(x)}{Q(x)} $$

其中,P和Q是两个概率分布,x是所有可能的事件或状态。KL散度的值总是非负的,当且仅当P和Q在所有事件上完全相同时,KL散度为零。

为什么KL散度不是对称的

KL散度不是对称的,这意味着 DKL(P∣∣Q))通常不等于 DKL(Q∣∣P)。这是因为KL散度是基于一个假设,即我们正在用 Q来近似 P,并且我们关心的是当我们使用 Q代替 P 时会丢失多少信息。 信息论的角度来看,DKL(P∣∣Q)测量的是使用 Q来编码 P中的信息所需的额外比特数。

PG(Policy Gradient, 策略梯度):

不直接计算采样操作的梯度,而是利用采样结果的统计特性【在这里就是Advantage】估计策略梯度的期望,从而间接优化策略参数;

advantage必须要通过采样才能得到的,因此不能用它来直接计算策略的梯度,那么就把它作为log(策略)的计算梯度时的权重,来调节策略的不同采样下优化的方向。

$$ L^{PG}=\mathbb{E}{q\thicksim P(Q), o\thicksim \pi{\theta}(\cdot|q)}\frac{1}{|o|}\sum_{t=1}^{|o|}[log\pi_{\theta}(o_t|q)\hat{A}_t] $$

策略梯度的推导过程: 对reward在策略分布下的期望求导,等价于 reward加权后的log策略梯度 在策略上的期望;

$\begin{aligned} \nabla_\theta \mathbb{E}{y_i \sim \pi\theta(\cdot \mid x)} \big[ r(x, a, y_i) \big] &= \sum{y_i} \nabla_\theta \big[ \pi_\theta(y \mid x) \big] r(x, a, y_i) \\ &= \sum_{y_i} \big[ \pi_\theta(y \mid x) \nabla_\theta \log \pi_\theta(y \mid x) \big] r(x, a, y_i) \\ &= \mathbb{E}{y_i \sim \pi\theta(\cdot \mid x)} \big[ \nabla\theta \log \pi_\theta(y_i \mid x) r(x, a, y_i) \big]. \end{aligned}$

解析:

  1. 第一步:期望与梯度交换
    • 原理:根据期望的定义,离散情况下期望可表示为概率加权和,梯度运算可穿透求和符号,转化为对每个 yi 的概率 πθ(yx) 求梯度后与奖励 r(x,a,yi) 的乘积之和。
    • 意义:将连续的期望梯度转化为离散的求和形式,便于后续计算。
  2. 第二步:引入对数梯度技巧
    • 推导关键:利用对数导数性质 ∇θπθ(yx)=πθ(yx)∇θlogπθ(yx),将梯度项转化为对数梯度与概率的乘积。
    • 优势:对数梯度可避免直接对概率求导时的复杂计算,同时在 RL 中常用于将策略更新与奖励信号结合,形成 “分数函数” 梯度(Score Function Gradient)。
  3. 第三步:还原为期望形式Eyiπθ(⋅∣x)[∇θlogπθ(yix)r(x,a,yi)]
    • 转化逻辑:将求和形式重新表示为期望,即每个 yi 的对数梯度与奖励的乘积在策略 πθ 下的期望。
    • 最终形式:该式为策略梯度算法(如 REINFORCE)的核心公式,表明梯度等于 “对数梯度与奖励的乘积” 的期望,指导模型参数更新方向。

TRPO(Trust Region Policy Optimization, 可信域策略优化):

1)penalty term: