强化学习DPO-数学基本概念


太好了,这 4 个概念是你后面学 DPO/RL 的地基。我用同一个小例子串起来讲,你会更容易记住。


假设用户问:

“法国首都是哪?”

模型下一步可能输出的 token 候选有:

  • “巴黎”
  • “伦敦”
  • “柏林”

1) 概率(模型输出 token 概率)

模型不会“直接拍板一个词”,而是先给每个候选 token 一个概率,比如:

  • P(“巴黎”) = 0.80
  • P(“伦敦”) = 0.10
  • P(“柏林”) = 0.05
  • 其他 = 0.05

这就是“模型对下一步 token 的信心分布”。

你要记住

  • 概率越高,模型越倾向选它
  • 所有候选 token 概率加起来=1

2) log 概率(训练里常用)

训练里常用 log(probability),即概率取对数(通常自然对数)。

为什么要取 log?

  1. 连乘变连加(句子概率是每个 token 概率连乘,log 后更好算)
  2. 数值更稳定(小概率连乘会非常小,容易下溢)

直觉

  • 概率 1 附近,log 概率接近 0
  • 概率很小,log 概率是很大的负数

例如:

  • p=0.8,log p≈ -0.223(还不错)
  • p=0.1,log p≈ -2.303(差很多)

所以训练常说“提高正确答案的 log 概率”。


3) 损失函数(loss 越小越好)

Loss 是一个分数,用来衡量“模型当前有多错”。

比如正确 token 是“巴黎”:

  • 如果模型给“巴黎”概率 0.8 → loss 较小
  • 如果给“巴黎”概率 0.1 → loss 较大

常见形式(交叉熵)本质就是:

正确答案概率越高,loss 越低。

所以你会看到训练目标是“最小化 loss”。

一句话

Loss 就是模型的“错误度仪表盘”。


4) 梯度下降(参数怎么改)

有了 loss,还要知道“怎么改参数”。
这就靠梯度(gradient)和梯度下降(gradient descent)。

  • 梯度告诉你:每个参数往哪个方向改,会让 loss 降得最快
  • 梯度下降:按这个方向真的改参数

更新公式(最基础):
[
\theta_{\text{new}}=\theta_{\text{old}}-\eta \cdot \nabla L
]

  • (\theta):参数
  • (\eta):学习率
  • (\nabla L):梯度

直觉比喻

你在山上(loss 高),想走到山谷(loss 低):

  • 梯度告诉你“哪里是上坡方向”
  • 你反着走(下坡),每步走一点(学习率)

四个概念串成一条链

  1. 模型给每个 token 概率
  2. 概率转成 log 概率用于计算更稳定
  3. 根据正确答案计算 loss(错得多就大)
  4. 用梯度下降更新参数,让下次正确 token 概率更高、loss 更低

如果你愿意,我下一步可以用 DPO 的 chosen/rejected 举同样四个概念怎么用(会和你后面训练直接对上)。

posted @ 2026-04-01 08:53  向着朝阳  阅读(2)  评论(0)    收藏  举报