对比学习角度理解DPO

对比学习与直接偏好优化:从人类反馈中学习

元数据

内容概述

在机器学习领域,对比学习(Contrastive Learning)和直接偏好优化(Direct Preference Optimization, DPO)是两种重要的技术。本文探讨了如何通过对比学习的视角来理解DPO,尤其是在处理人类反馈时的应用。

💡 启发点:DPO可以被视作一种特殊形式的对比学习,其中正负样本的数量都为一。

核心观点

重点段落

对比学习的损失函数

对于对比学习,损失函数可以表示为:

f(x,x+,{xi}i=1m)=logexp(f(x)f(x+))exp(f(x)f(x+))+i=1mexp(f(x)f(xi))

其中,两个表示的点积(如 f(x)f(x+))被视为两个样本之间的相似性分数。

DPO中的损失函数

在DPO中,损失函数类似于:

loss=E(y+,y,x)D[logP[y+y]]

这可以被理解为策略与正/负样本之间的距离计算。

操作步骤

  1. ✅ 选择一个锚样本 x
  2. ⚠ 确定正样本 x+ 和负样本集合 {xi}
  3. ❗ 计算每个样本之间的相似性分数。
  4. ✅ 最小化损失函数以优化策略。

常见错误

⚠ 在计算相似性分数时,确保使用正确的向量表示和点积操作,以避免误差。

行动清单

原始出处:
CONTRASTIVE PREFERENCE LEARNING: LEARNING FROM HUMAN FEEDBACK WITHOUT RL
Models of human preference for learning reward functions
OFFLINE RL WITH NO OOD ACTIONS: IN-SAMPLE LEARNING VIA IMPLICIT VALUE REGULARIZATION
Direct Preference Optimization: Your Language Model is Secretly a Reward Model
Direct Preference-based Policy Optimization without Reward Modeling