当前位置: 首页 > news >正文

KTO: Kahneman-Tversky优化

文章目录

      • KTO方法的理论基础
      • 损失函数设计原理
      • 数据效率优势
      • 实现关键步骤

KTO方法的理论基础

KTO(Kahneman-Tversky Optimization)的核心思想源于行为经济学的前景理论。该理论指出人类决策时对收益和损失存在非对称心理反应,表现为损失厌恶(loss aversion)效应。传统RLHF依赖二元偏好对数据,而KTO通过量化这种心理差异,实现单样本绝对标注下的有效优化。

损失函数设计原理

KTO的损失函数包含两个关键组成部分:

  • 收益项:处理被标注为"好"的样本时,采用凸函数形式增强模型输出与标注的一致性
  • 损失项:处理"坏"样本时使用更陡峭的惩罚曲线,反映人类对负面结果的强烈规避倾向

数学表达为:
L K T O = E [ w ( y ) ( 1 − σ ( β Δ ( y ) ) ) ] \mathcal{L}_{KTO} = \mathbb{E}[w(y)(1-\sigma(\beta \Delta(y)))]LKTO​=E[w(y)(1−σ(βΔ(y)))]
其中Δ ( y ) \Delta(y)Δ(y)表示样本评分与参考值的偏差,w ( y ) w(y)w(y)是方向敏感权重函数。

数据效率优势

相比传统偏好学习方法,KTO具有显著优势:

  • 无需构建偏好对y w > y l y_w > y_lyw​>yl​,直接利用原始单样本标注
  • 支持从部分标注、噪声标注等弱监督数据中学习
  • 对标注一致性的要求降低30-50%,实践中标注成本可减少40%以上

实现关键步骤

模型训练时需注意:

  • 参考值设定建议采用模型当前输出的移动平均
  • 温度系数β \betaβ需通过验证集调整,典型值区间为0.1-0.3
  • 损失项权重通常设为收益项的2-3倍以匹配损失厌恶系数

实验数据显示,在相同标注预算下,KTO相比DPO等方法的胜率提升达15-20%,且在长文本生成等复杂任务中优势更为明显。

https://github.com/ContextualAI/HALOs

classDummyKTOTrainer(UnpairedPreferenceTrainer):"""A fake version of KTO (not the actual one!) meant to introduce you to the HALOs repo."""defloss(self,policy_chosen_logps:torch.FloatTensor,policy_rejected_logps:torch.FloatTensor,reference_chosen_logps:torch.FloatTensor,reference_rejected_logps:torch.FloatTensor)->Tuple[torch.FloatTensor,torch.FloatTensor,torch.FloatTensor]:chosen_KL=(policy_chosen_logps-reference_chosen_logps).mean().clamp(min=0)rejected_KL=(policy_rejected_logps-reference_rejected_logps).mean().clamp(min=0)chosen_logratios=(policy_chosen_logps-reference_chosen_logps)rejected_logratios=(policy_rejected_logps-reference_rejected_logps)losses=torch.cat((1-F.sigmoid(self.config.loss.beta*(chosen_logratios-chosen_KL)),1-F.sigmoid(self.config.loss.beta*(rejected_KL-rejected_logratios))),0)chosen_rewards=self.config.loss.beta*(policy_chosen_logps-reference_chosen_logps).detach()rejected_rewards=self.config.loss.beta*(policy_rejected_logps-reference_rejected_logps).detach()returnlosses,chosen_rewards,rejected_rewards
http://www.cnnetsun.cn/news/117330.html

相关文章:

  • Monaco Editor深度集成指南:从原理到实战的完整解决方案
  • 开源四足机器人Mini Pupper:从入门到精通的完整实战指南
  • AzerothCore-WoTLK容器化部署终极指南:5分钟快速搭建完整MMO服务器
  • XCOM V2.6:嵌入式开发的终极串口调试解决方案
  • 负载均衡集群LVS详解及配置
  • 论文查重合格标准:从AI工具到学术规范的深度解析
  • 论文新手写作工具:9大AI工具推荐+步骤指南排名
  • 使用 pylintrc 配置 Python 代码检查的详细指南
  • 在 VS Code 中使用 Black 格式化 Python 代码
  • 文科查重率标准:8大平台+降重技巧排名
  • Lime编辑器:终极开源解决方案能否终结代码编辑器的选择困境?
  • 多模态舆情监测技术深度解析:Infoseek 如何实现 AI 造假与短视频舆情的精准捕捉?
  • 终极指南:如何快速掌握Admin.NET通用权限框架的10个核心技巧
  • 云端电子书制作新体验:EPubBuilder深度解析
  • GP2040-CE终极攻略:打造你的专属游戏控制神器
  • Matlab Simulink三相四桥臂逆变器仿真模型详解:电压外环电流内环控制,适应不平衡负...
  • 【数据集】上市公司-人工智能采纳程度测算数据(2003-2024年)
  • Uppy智能文件过滤:从混乱上传到精准控制的革命性方案
  • Nginx性能优化终极指南:Linux服务器加速实战技巧
  • AI销售自动化与客户管理的最佳获客软件选择--VertGrow AI销冠
  • Naive UI 图片预览实用技巧:打造专业画廊效果的高效方法
  • 前沿速递 | Adv. Eng. Mater.:基于LPBF与压力渗透的FeSi2.9-Bakelite多功能复合材料设计与性能调控
  • Mermaid Live Editor 终极指南:实时图表编辑的完整解决方案
  • Drawnix白板工具:用代码思维重塑图形设计工作流
  • Monaco Editor代码提示响应优化实战指南
  • 下一代前端开发:用Next.js与大模型AI,零代码解锁你的智能助手
  • 跨越浏览器壁垒:Skyvern如何实现自动化脚本的通用兼容性
  • 应用现代化 | 金融智能风控的新标尺——《金融级智能应用能力要求 风控场景》标准正式发布
  • Undetectable接入亮数据代理ip做自媒体矩阵
  • 如何用lidR包3步完成激光雷达林业精准分析:从点云到决策的完整指南