Instruct-GPT奖励模型的损失函数与反向传播机制解析
Instruct-GPT奖励模型的损失函数与反向传播机制解析
- 一、损失函数的数学本质与偏好表达
- 二、损失函数如何驱动偏好排序
- 三、多响应排序的批量处理机制
- 四、反向传播的参数更新逻辑
- 五、从比较对到全序关系的自动推导
- 六、与传统排序模型的本质区别
总结:损失函数使用的比较对排序损失 (pairwise ranking loss) ,由于 σ \sigma σ激活函数结果一定在0-1之间,使得对数运算log之后的值一定小于0,然后加上 log 外面的负号一定大于0,因此loss一定大于0,从而在反向传播中一定有损失,通过让 loss 不断下降,从而达到σ函数内部的rw-rl的差值更大(增大rw,减小rl,直到两者差值接近于1,模型收敛),从而降低损失。从而倾向于人类的倾向。
一、损失函数的数学本质与偏好表达
Instruct-GPT使用的奖励模型损失函数为:
loss ( θ ) = − 1 ( K 2 ) E ( x , y w , y l ) ∼ D [ log ( σ ( r θ ( x , y w ) − r θ ( x , y l ) ) ) ] \text{loss}(\theta) = -\frac{1}{\binom{K}{2}} \mathbb{E}_{(x,y_w,y_l) \sim D} \left[ \log \left( \sigma \left( r_\theta(x, y_w) - r_\theta(x, y_l) \right) \right) \right] loss(θ)=−(2K)1E(x,yw,yl)∼D[log(σ(rθ(x,yw)−rθ(x,yl)))]
核心构成解析:
- 输入对定义: ( x , y w , y l ) (x, y_w, y_l) (x,yw,yl) 表示同一个prompt x x x 对应的两个响应,其中 y w y_w yw 是人类偏好的响应, y l y_l yl 是非偏好响应
- 奖励差值: r θ ( x , y w ) − r θ ( x , y l ) r_\theta(x, y_w) - r_\theta(x, y_l) rθ(x,yw)−rθ(x,yl) 表示模型对两个响应的奖励值之差
- sigmoid函数: σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1+e^{-z}} σ(z)=1+e−z1,其性质是:
- 当 z > 0 z > 0 z>0 时, σ ( z ) > 0.5 \sigma(z) > 0.5 σ(z)>0.5,且 z z z 越大, σ ( z ) \sigma(z) σ(z) 越接近1
- 当 z < 0 z < 0 z<0 时, σ ( z ) < 0.5 \sigma(z) < 0.5 σ(z)<0.5,且 z z z 越小, σ ( z ) \sigma(z) σ(z) 越接近0
- 对数似然: log ( σ ( z ) ) \log(\sigma(z)) log(σ(z)) 用于度量模型预测与人类偏好的一致性,当 z > 0 z > 0 z>0 时,该值为正,且 z z z 越大值越大;当 z < 0 z < 0 z<0 时,该值为负
二、损失函数如何驱动偏好排序
假设人类标注了一个偏好关系: y w ≻ y l y_w \succ y_l yw≻yl(即 y w y_w yw 比 y l y_l yl 更优),损失函数的优化目标是最大化 σ ( r θ ( x , y w ) − r θ ( x , y l ) ) \sigma(r_\theta(x, y_w) - r_\theta(x, y_l)) σ(rθ(x,yw)−rθ(x,yl)),这等价于最大化 r θ ( x , y w ) − r θ ( x , y l ) r_\theta(x, y_w) - r_\theta(x, y_l) rθ(x,yw)−rθ(x,yl)。
具体驱动过程:
- 当模型初始预测 r θ ( x , y w ) < r θ ( x , y l ) r_\theta(x, y_w) < r_\theta(x, y_l) rθ(x,yw)<rθ(x,yl) 时:
- 奖励差值为负, σ ( z ) < 0.5 \sigma(z) < 0.5 σ(z)<0.5, log ( σ ( z ) ) \log(\sigma(z)) log(σ(z)) 为负
- 损失函数值为正(因为前面有负号),模型产生"惩罚"
- 反向传播会调整参数 θ \theta θ,使 r θ ( x , y w ) r_\theta(x, y_w) rθ(x,yw) 增大或 r θ ( x , y l ) r_\theta(x, y_l) rθ(x,yl) 减小
- 当模型预测 r θ ( x , y w ) > r θ ( x , y l ) r_\theta(x, y_w) > r_\theta(x, y_l) rθ(x,yw)>rθ(x,yl) 时:
- 奖励差值为正, σ ( z ) > 0.5 \sigma(z) > 0.5 σ(z)>0.5, log ( σ ( z ) ) \log(\sigma(z)) log(σ(z)) 为正
- 损失函数值为负,模型产生"奖励"
- 反向传播会保持或增强这种参数状态
三、多响应排序的批量处理机制
以 K = 4 K=4 K=4 为例,假设标注者对4个响应的排序为 y 1 ≻ y 2 ≻ y 3 ≻ y 4 y_1 \succ y_2 \succ y_3 \succ y_4 y1≻y2≻y3≻y4,则产生 ( 4 2 ) = 6 \binom{4}{2}=6 (24)=6 个比较对:
- ( y 1 , y 2 ) , ( y 1 , y 3 ) , ( y 1 , y 4 ) (y_1, y_2), (y_1, y_3), (y_1, y_4) (y1,y2),(y1,y3),(y1,y4)
- ( y 2 , y 3 ) , ( y 2 , y 4 ) (y_2, y_3), (y_2, y_4) (y2,y3),(y2,y4)
- ( y 3 , y 4 ) (y_3, y_4) (y3,y4)
批量训练的关键优势:
- 计算效率:对4个响应仅需4次前向传播,而非6次
- 相关性利用:同一prompt的响应具有内在相关性,批量处理避免过拟合
- 联合优化:6个比较对共同约束模型参数,使奖励值满足 r 1 > r 2 > r 3 > r 4 r_1 > r_2 > r_3 > r_4 r1>r2>r3>r4
四、反向传播的参数更新逻辑
损失函数对参数 θ \theta θ 的梯度为:
∇ θ loss ( θ ) = − 1 ( K 2 ) ∑ ( y w , y l ) ( 1 − σ ( r θ ( x , y w ) − r θ ( x , y l ) ) ) ⋅ ( ∇ θ r θ ( x , y w ) − ∇ θ r θ ( x , y l ) ) \nabla_\theta \text{loss}(\theta) = -\frac{1}{\binom{K}{2}} \sum_{(y_w,y_l)} \left( 1 - \sigma \left( r_\theta(x, y_w) - r_\theta(x, y_l) \right) \right) \cdot \left( \nabla_\theta r_\theta(x, y_w) - \nabla_\theta r_\theta(x, y_l) \right) ∇θloss(θ)=−(2K)1(yw,yl)∑(1−σ(rθ(x,yw)−rθ(x,yl)))⋅(∇θrθ(x,yw)−∇θrθ(x,yl))
梯度方向解析:
- 当 r θ ( x , y w ) < r θ ( x , y l ) r_\theta(x, y_w) < r_\theta(x, y_l) rθ(x,yw)<rθ(x,yl) 时, 1 − σ ( z ) > 0.5 1 - \sigma(z) > 0.5 1−σ(z)>0.5,梯度会推动 ∇ θ r θ ( x , y w ) \nabla_\theta r_\theta(x, y_w) ∇θrθ(x,yw) 增大或 ∇ θ r θ ( x , y l ) \nabla_\theta r_\theta(x, y_l) ∇θrθ(x,yl) 减小
- 当 r θ ( x , y w ) > r θ ( x , y l ) r_\theta(x, y_w) > r_\theta(x, y_l) rθ(x,yw)>rθ(x,yl) 时, 1 − σ ( z ) < 0.5 1 - \sigma(z) < 0.5 1−σ(z)<0.5,梯度对参数的调整力度减弱
- 当 r θ ( x , y w ) ≫ r θ ( x , y l ) r_\theta(x, y_w) \gg r_\theta(x, y_l) rθ(x,yw)≫rθ(x,yl) 时, 1 − σ ( z ) ≈ 0 1 - \sigma(z) \approx 0 1−σ(z)≈0,梯度接近0,训练收敛
五、从比较对到全序关系的自动推导
虽然标注数据仅提供两两比较对,但损失函数的累加机制会自动推导出全序关系。例如,对于三个响应 y a ≻ y b ≻ y c y_a \succ y_b \succ y_c ya≻yb≻yc,包含三个比较对:
- ( y a , y b ) (y_a, y_b) (ya,yb) 驱动 r a > r b r_a > r_b ra>rb
- ( y a , y c ) (y_a, y_c) (ya,yc) 驱动 r a > r c r_a > r_c ra>rc
- ( y b , y c ) (y_b, y_c) (yb,yc) 驱动 r b > r c r_b > r_c rb>rc
这三个约束共同作用,最终会使模型学习到 r a > r b > r c r_a > r_b > r_c ra>rb>rc 的全序关系,而无需显式标注完整排序。
六、与传统排序模型的本质区别
传统排序模型可能直接优化排名位置,而Instruct-GPT的奖励模型通过以下机制实现更高效的偏好学习:
- 基于差值的优化:不关注绝对奖励值,只关注相对大小
- 批量相关性利用:同一prompt的响应作为整体优化单元
- 概率化偏好表达:通过sigmoid函数将奖励差值转化为偏好概率
- 梯度驱动的自动调整:反向传播自然实现"偏好响应奖励提升,非偏好响应奖励降低"
这种机制使得奖励模型能够高效利用人类标注的比较数据,在计算效率和模型性能之间取得平衡,为后续的强化学习阶段提供可靠的价值函数。