任务、先修与统计假设
本章把第三章的比较数据变成一个可以拟合的奖励模型。读者需会指数对数、向量内积、一阶二阶导数与上一章胜率定义。Bradley–Terry简称BT,是关于比较概率的假设,不是从“人有偏好”这个事实必然推导出来的定律。它设同一x下每个响应有一个实数分数r,两候选的胜率正比于其分数指数。该假设适用于本课合成可传递比较的演示;第三章循环反例已说明它不能表达所有真实偏好。
给候选w与l,定义分差 。由两个指数归一化,w胜率是 ,分子分母同除e的r_w次方,得到一除一加e的负d次方,记为sigmoid(d)。若d为零,两者胜率各半;d增加,w胜率单调增加。这里只比较两个候选,所以它不是在全部回答上直接softmax策略,也不是模型生成w的概率。
从观测似然到稳定损失
训练表已把实际winner放在w位置,每条观测的似然为sigmoid(d)。负对数为log一加e的负d次方,称softplus(−d)。当d很负时直接计算e的负d次方可能溢出,稳定写法是max(−d,0)加log一加e的负绝对d次方。项目用这个等价表达;数值保护不改变统计对象。独立检查可对中等d比较两种公式,再对极端d验证有限且符合大正差loss趋零、大负差loss约为负d的极限。
对d求导:负logsigmoid的导数是sigmoid(d)减一。它在错误自信时接近负一,在已经很自信正确时接近零。若分数由参数与响应特征f内积给出,则分差为与特征差的内积;参数梯度就是这个标量乘特征差。winner分数被推动升高,loser被推动降低,但步幅受当前置信度调节。不能只用固定加一减一更新后声称在优化相同似然。
项目的两个特征与可观测边界
有限参考实现令特征为“动作符号乘x”和“是否简短”,分别记f1与f2。奖励参数是两个实数,分数 。f1利用输入数值与动作符号相互作用,不直接读取正确性标签;对正数x,选择正号给正特征,负号给负特征,负数情形反过来。绝对值更大的x产生更大间隔,这是模型假设;oracle只给正确与否的零一奖励,两者并不相同。
f2取一表示简短,零表示冗长。这是明示目标特征,不是偷偷用长度预测人类偏好。两个特征足够表达当前规则,不能评价事实性、安全性、礼貌或任意文本。完整decoder的DPO支线无需调用这个奖励函数;它直接用偏好训练策略。保留独立BT小模型的目的,是让读者能完全算清概率拟合与奖励尺度,再理解DPO如何消去显式奖励拟合步骤。
算例一:分离正确与简短方向
取x=2,winner是正数简短,特征 [2,1];loser是负数简短,特征 [−2,1],差为 [4,0]。若=[0.25,0.5],分差为一,胜率约0.731059,loss约0.313262。未加正则的梯度为sigmoid一减一再乘 [4,0],即 [−1.075766,0]。此pair只提供正确方向信息,不能识别简短权重,因为两候选的简短特征相同,相减完全消失。
改loser为正数冗长,特征 [2,0],差为 [0,1]。同样下分差0.5,胜率约0.622459,loss约0.474077,梯度 [0,−0.377541]。这条只识别简短方向。两条比较一起才给两个轴信息。独立检查一是枚举特征差观察未变化因素确实相消;独立检查二是对两个分别中心差分重算loss,验证连乘系数与符号。只检查最终排序正确会漏掉梯度放大四倍或方向写反的问题。
算例二:全胜数据没有有限最大似然尺度
只看一条特征差为一、winner永远获胜的数据,参数v的loss是softplus(−v)。任何有限v都能再增大一点,使loss更低;当v趋正无穷时loss趋零,但没有有限位置取得零。训练输出大分数并不是发现了某种客观巨大效用,而是可分二分类似然的边界行为。本项目十八条确定比较可被正的两个权重同时分开,因此同样存在增尺度压力。
加入约定的L2正则,目标变为平均pair损失加 ,项目为0.02。梯度增加乘,鼓励控制尺度;它是建模选择,不是数据中观测到的惩罚。单参数例中驻点满足sigmoid(v)减一加乘v等于零。导数随v严格增加,在零处为负,在足够大v处为正,所以存在唯一根;二阶导为sigmoid(v)乘一减sigmoid(v)加,严格正,根即唯一全局极小。
项目的Hessian指全部二阶偏导组成的矩阵,在这里等于各特征差外积乘非负权重的平均,再加单位阵。对任意非零方向h,二次型等于若干平方项的非负和加乘h范数平方,因此严格正。这个证明给出正则线性奖励目标的严格凸性,不自动给有限次梯度下降零优化误差,也不推广到任意深网络奖励模型。两百步收据是一个实际拟合结果,不用“凸”这个词跳过数值收敛检查。
奖励零点、温度与校准
同一x下给全部奖励加c(x),差值不变,BT似然完全相同。因此仅靠比较无法识别这个公共偏置。若模型增加一个不依赖动作的截距,它对数据梯度为零;L2可能把它推向零,但那是正则选择,不是标注者告诉了零点。项目干脆只保留两个动作相关特征,避免用一个不可识别常数制造虚假的解释。下一章最优策略归一化也会消掉这个常数。
奖励缩放则通常改变sigmoid概率。若把翻倍而不改变比较噪声温度,胜率会更接近零或一。某些叙述把任意奖励尺度与偏好温度混用,导致KL系数的含义漂移;我们固定BT温度为一,明确是在这个约定下拟合。后面的或以相同奖励单位度量,缩放奖励时必须联动这些系数,才能保持同一最优分布。尺度和零点的自由度不能混为一谈。
排序准确率只看差值正负,给所有正差同时缩小十倍也可能保持百分百排序,但预测胜率大变。确定无噪声标签下完美排序不证明概率校准,更不能估计真实人类标注分歧。项目报告pair accuracy与正则loss、分数和梯度,不给奖励分数冠以“可信度百分比”。若未来有独立重复比较,可以用留出对数损失与校准曲线检查概率假设,当前数据没有这类重复人类观测。
拟合、独立检查与边界
有限项目使用全批梯度下降,初始=[0,0],学习率0.15、二百步。初始所有pair概率二分之一,但特征差提供非零梯度。比较中正确简短分别胜过正确冗长、错误简短和错误冗长,因而两个特征方向均被激活。测试对这两个参数在非零状态逐项中心差分,并比较没有正则时增大尺度降低loss、加正则后过大尺度增加目标的两个故障方向。
如果训练loss降低而留出pair差值方向错,应检查特征泛化、比较覆盖与规则,而非直接把优化步数无限增加。对当前数值任务,靠近零的x让正确性特征间隔小,胜率可能更接近一半;这一现象来自线性特征,不代表“接近零的正负判断本质更难”。模型与任务真值的差异应被解释,而不是把奖励网络的输出当成世界本身的属性。
本章交付是一个明示假设、能证明凸性并完整求梯度的奖励拟合器。第五章将暂时假设奖励r已给定,研究在固定参考策略附近最大化期望奖励的最优分布;那是另一个优化问题。把奖励拟合与策略优化分开后,才能看清DPO后续变量替换究竟消去了哪一步,而没有让“无需显式奖励模型”变成“无需任何偏好模型假设”。
二阶导的非负权重可直接从sigmoid推导:sigmoid是e的d次方除一加e的d次方,商法则给导数为e的d次方除一加e的d次方的平方,即sigmoid乘一减sigmoid。这个值在零与四分之一之间,最大在胜率一半处。因此已经极自信的pair曲率很小,奖励尺度进一步增加时,数据对尺度的约束也更弱;正则项提供明确的正曲率下界,而不是靠训练碰巧停止。
对当前训练x绝对值至多三,特征差第一坐标绝对值至多六,第二坐标至多一,平方范数至多三十七。Hessian算子范数因而可用三十七除四再加界住,取0.02得9.27。学习率0.15小于二除这个上界。沿负梯度方向做二阶余项界,目标变化不大于负学习率乘梯度范数平方,加一半曲率上界乘学习率平方乘同一范数;系数为负,所以在这些条件下全批步长具有下降保证。这个界保守,只适用此线性正则目标。
如果所有比较都固定简短性,第二特征差恒零,无正则时相应参数完全不可识别;即使训练loss很低,也不能说数据教会了简短偏好。加入L2会让该参数趋零,是选择最小范数代表,不会凭空创造偏好信息。项目特意包含同正确性、不同简短性的pair,使第二方向确有数据梯度。这个例子将特征覆盖、可识别性与正则化三个概念分开,避免“训练有结果”掩盖数据没有问过的问题。
线性BT的严格凸性还依赖正。如果将正则关掉,特征差矩阵即使满秩,完全可分标签仍会把极小值推到无穷边界;不能把局部Hessian正定误当有限最小点存在。反向标签或软频数可能限制尺度,但那是另一份观测。课程同时保留无正则增尺度的反例与有正则的有限驻点,两个检查覆盖不同条件。
前述下降界可沿一维路径重建:固定当前梯度g,定义路径函数为原目标在“当前参数减t倍学习率乘g”处的值,t从零到一。起点导数为负学习率乘梯度范数平方;二阶导由Hessian上界控制,不超过曲率界乘学习率平方乘梯度范数平方。对导数变化积分,再对函数积分,余项权重为一减t,其零到一积分为二分之一,于是得到所用二阶上界。这里g在整条检验路径固定,不能误把它当沿路径不断重算的梯度。
import math
sigmoid=lambda x:1/(1+math.exp(-x))
softplus=lambda x:max(x,0)+math.log1p(math.exp(-abs(x)))
phi=[.25,.5]
for delta in [[4.,0.],[0.,1.]]:
d=sum(a*b for a,b in zip(phi,delta))
g=[(sigmoid(d)-1)*v for v in delta]
print('margin',d,'probability',sigmoid(d),'loss',softplus(-d),'gradient',g)
lam=.02;lo,hi=0.,100.
for _ in range(80):
mid=(lo+hi)/2; derivative=sigmoid(mid)-1+lam*mid
if derivative>0:hi=mid
else:lo=mid
v=(lo+hi)/2
assert abs(sigmoid(v)-1+lam*v)<1e-12
assert softplus(-2)<softplus(-1)
print('regularized one-pair minimizer',v,'positive curvature',sigmoid(v)*(1-sigmoid(v))+lam)
TRY IT YOURSELF
练习一:差值的可识别性
奖励为[3,1]与[103,101]时BT胜率是否一样?奖励[6,2]呢?
提示 1
提示 2
对照参考解答
TRY IT YOURSELF
练习二:正则梯度
phi=[0.25,0.5]、Delta f=[4,0]、lambda0.02,求单pair正则梯度。
提示 1
提示 2
对照参考解答
TRY IT YOURSELF
练习三:完美排序不足
两模型在所有确定pair上差值分别0.01与10,排序都100%,是否可断言同样好或后者校准更好?