本篇文章旨在对论文 《Direct Preference Optimization:Your Language Model is Secretly a Reward Model》中的部分数学知识进行详细解释,部分个人观点如有不对还请指正。
论文介绍
首先我们将简要介绍论文的背景,我们之前往往通过人类反馈强化学习(RLHF: reinforcement learning from human feedback)对无监督的大模型进行微调以对齐人类偏好,该方法通常分为三个阶段,有监督微调(SFT: supervised fine-tuning),利用人类偏好生成数据集与奖励模型的建模,以及强化学习优化。
而本文提出了直接偏好优化(DPO: Direct Preference Optimization),不需要显式地对奖励模型进行建模,而是利用奖励函数与优化策略间的映射关系,将对奖励函数的损失转化为对策略的损失,使用人类偏好生成的数据集直接对模型策略进行优化。
论文的附录中有详细的公式推导,下面我们只对部分数学知识进行阐述。
Sigmoid函数
Sigmoid函数或Logistic函数在机器学习中有很重要的应用,常常用做二分类任务等的激活函数,其表达式为
σ ( x ) = 1 1 + e − x (1) \sigma(x)=\frac{1}{1+e^{-x}} \tag{1} σ(x)=1+e−x1(1)
文本中RLHF微调范式中的奖励模型建模阶段,我们先利用SFT阶段得到的模型 π S F T \pi^{SFT} πSFT来产生数据集,针对每一个promt x x x来产生一个答案对 ( y 1 , y 2 ) ∼ π S F T ( y ∣ x ) (y_1, y_2)\sim \pi^{SFT}(y|x) (y1,y2)∼πSFT(y∣x),经过人类标注员即人类偏好来选择出较喜欢和不喜欢的答案,分别记为 y w y_w yw和 y l y_l yl。
我们假设人类偏好的选择遵从某种潜在的奖励函数 r ∗ ( x , y ) r^*(x,y) r∗(x,y),同时使用Bradley-Terry(BT)模型对人类偏好的概率分布进行建模,即
p ∗ ( y 1 ≻ y 2 ∣ x ) = e x p ( r ∗ ( x , y 1 ) ) e x p ( r ∗ ( x , y 1 ) ) + e x p ( r ∗ ( x , y 2 ) ) = σ ( r ∗ ( x