0%

Score Centering 的局部分布族解释与 STE 解释一致

Score Centering 的局部分布族解释与 STE 解释是一致哒。🫠

一言以蔽之,「STE 指定的代理梯度,可以由一个普通分布族在起点处的真实导数实现」。

符号约定

固定一个生成前缀,下文省略固定前缀条件。

  • $a$:候选 token。
  • $\theta_0$:训练器当前参数,固定为起点。
  • $\theta$:可以变化的训练器参数。
  • $\delta=\theta-\theta_0$:参数改变量。
  • $z_\theta$:训练器 logits 向量。
  • $p_\theta=\operatorname{softmax}(z_\theta)$:训练器概率分布。
  • $z_q$:固定的采样器 logits。
  • $q=\operatorname{softmax}(z_q)$:采样器概率分布。
  • $\operatorname{sg}$:stop-gradient,前向保留数值,反向停止求导。

定义,训练器的 score 是

定义,SC 操作是

其中,$b$ 遍历词表所有候选 token,$\mathbb E_q$ 表示按采样器概率求平均。

回顾:STE

构造

构造

前向:

反向,括号内不传导数。变化只通过外面的 $z_\theta$。

因此,前向用采样器的概率,反向借用训练器的变化。

STE 的 score

记:

  • $e_a$:token $a$ 的 one-hot 向量。
  • $J_\theta=\partial z_\theta/\partial\theta$:训练器 logits 对参数的 Jacobian。
  • $J_\theta^\top$:它的转置,将 logits 梯度传回参数空间。

普通 score 是

STE 的自动微分结果是

SC 恰好也是

因此,STE 与 SC 梯度等价。

回顾:局部分布族解释

现在构造一个数学上普通的、随参数变化的分布:

其中归一化因子为

这个分布,有三个特点:

  1. 从采样分布 $q$ 出发。
  2. 乘上训练器更新前后的相对概率变化。
  3. 重新归一化。

对于起点,也就是当 $\delta=0$ 时,$\nu_0=q$。所以,对数概率的普通导数在起点处为

这自然得到 SC。被减掉的平均 score 来源于归一化项产生的导数。

而这个构造局部分布族解释,对于 SC,有一个很好的洞察:SC 的期望更新可以理解为:在这个以采样分布为起点的分布族上,做局部梯度上升。 具体来说,先定义:在单步问题中,令 $R(a)$ 为固定的动作奖励,定义平均奖励

推一波 PG,

注意到 $\widetilde s_{\theta_0}$ 是中心化后的 score,因此,SC 的期望更新是:「在这个以采样分布为起点的分布族上,对奖励做局部梯度上升」。

Score Centering 的局部分布族解释与 STE 解释一致

把分布族写成 logits

把这个分布族写成 logits,就有:

怎么写出来的?之所以这样,是因为 softmax 概率比值中的归一化常数与 token 无关,会在再次归一化时消掉,具体来说,过程如下,先展开 softmax。我们先记三个归一化因子为

其中,$b$ 遍历词表。于是有

代入分布族的构造。对于刚刚 $\nu_\delta(a)$ 的定义式,分子是:

其前面的因子 $C_0/(C_qC_\delta)$ 对所有 token 都一样,因此,在「重新归一化」这一步,会从分子、分母中抵消,我们得到

其实,这是 softmax:

所以:概率比值构造与固定 logits 偏移构造,定义的是同一个分布族。它们是同一个分布族的两种写法。什么是固定 logits 偏移构造?定义固定偏移:

于是

注意,旧的差值被固定了,旧差值是 $\Delta z$,其中的减数项为 $z_{\theta_0}$。

Score Centering 的局部分布族解释与 STE 解释一致

比较两种 logits 构造:

当前差值 STE 固定差值分布族
公式 $z_\theta+\operatorname{sg}(z_q-z_\theta)$ $z_\theta+(z_q-z_{\theta_0})$
起点值 $z_q$ $z_q$
起点处反向变化 通过 $z_\theta$ 通过 $z_\theta$
离开起点后的前向值 仍然是 $z_q$ 随 $z_\theta$ 改变
导数 指定的代理导数 普通函数的真实导数

因此,在起点处,也就是 $\delta=0$ 处:

综上所述

STE 指定的代理梯度,是这个局部分布族,在起点处的真实梯度。

Reference