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

RecSys:多目标模型和MMOE

排序01:多目标排序模型

模型结构

该模型将以下特征作为输入,输出多个指标的预估结果:

  • 系统对每篇笔记记录以下行为数据:
    • 曝光次数(Number of impressions)
    • 点击次数(Number of clicks)
    • 点赞次数(Number of likes)
    • 收藏次数(Number of collects)
    • 转发次数(Number of shares)

基于这些数据计算以下指标:

指标名称计算公式说明
点击率(CTR)点击次数/曝光次数基础转化指标
点赞率点赞次数/点击次数需有点击才会产生
收藏率收藏次数/点击次数深度互动指标
转发率转发次数/点击次数重要扩散指标(能为平台带来新流量)

排序机制:

  1. 模型同时预估点击率、点赞率、收藏率、转发率等多个分数
  2. 通过加权融合这些分数(权重通过A/B测试调优)
  3. 根据融合分数进行排序和截断

模型架构和输入:

  • 用户特征:用户ID和用户画像
  • 物品特征:物品ID、物品画像(包括作者信息)
  • 统计特征
    • 用户统计:过去30天的曝光量、点击量、点赞量等
    • 物品统计:过去30天的曝光量、点击量、点赞量等
  • 场景特征
    • 时间特征(是否节假日等)
    • 地理位置特征(用户与物品的地理关联性)

在这里插入图片描述

模型训练

损失函数设计:

  • 单个指标使用交叉熵损失,总指标使用加权和
  • CrossEntropyLoss=−(y(log⁡pi)+(1−y)log⁡(1−pi)CrossEntropyLoss = - (y(\log p_i) + (1 - y)\log(1 - p_i)CrossEntropyLoss=(y(logpi)+(1y)log(1pi)
  • 总的损失:∑i=14αiCrossEntropyLoss(yi,pi)\sum_{i =1}^4 \alpha_i CrossEntropyLoss(y_i,p_i)i=14αiCrossEntropyLoss(yi,pi)
  • 对损失函数求梯度,做梯度下降更新参数

在这里插入图片描述

关键问题:降采样与校准

问题背景:

  • 正负样本严重不平衡(典型比例):
    • 点击率:10次点击 vs 90次无点击
    • 收藏率:10次收藏 vs 90次无收藏

解决方案:

  1. 负采样降采样(Down-sampling)

    • 保留部分负样本(如从90个负样本中保留10个)
    • 使正负样本数量平衡
    • 显著减少计算量
  2. 预估值校准

    • 定义:
      • 真实点击率:Ptrue=n+n++n−P_{true} = \frac{n_+}{n_+ + n_-}Ptrue=n++nn+
      • 采样后预估点击率:Ppred=n+n++αn−P_{pred} = \frac{n_+}{n_+ + \alpha n_-}Ppred=n++αnn+α\alphaα为采样率)
    • 校准公式:
      Ptrue=α⋅Ppred(1−Ppred)+α⋅PpredP_{true} = \frac{\alpha \cdot P_{pred}}{(1-P_{pred}) + \alpha \cdot P_{pred}}Ptrue=(1Ppred)+αPpredαPpred
    • 实际应用:
      • 模型输出原始预估点击率
      • 通过校准公式调整后用于排序

排序02:MMOE模型(Multi-gate Mixture-of-Experts)

模型特点:

  • 多目标排序框架
  • 使用多个独立专家网络(参数不共享)
  • 通过门控机制动态组合专家特征

核心架构:

  1. 专家层(Experts):多个独立的神经网络
  2. 门控网络(Gates)
    • 每个任务对应一个门控网络
    • 通过softmax生成专家权重
    • 在这里插入图片描述
  3. 任务塔(Towers):每个任务有独立的输出层
    • 在这里插入图片描述

极化问题(Polarization):

  • 现象:门控网络可能过度依赖少数专家(如权重变为[0,0,1])
  • 解决方案:
    • 对softmax输出应用dropout(10%丢弃率)
    • 强制每个任务利用多个专家特征
    • 提升模型鲁棒性

在这里插入图片描述

应用建议:

  • MMOE不一定在所有场景都有效
  • 需要根据业务特点进行调整
  • 可参考YouTube的改进方案

参考文献:

  1. He X, et al. Practical lessons from predicting clicks on ads at Facebook. In: The 8th International Workshop on Data Mining for Online Advertising.
  2. Ma J, et al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts. In: KDD 2018.
  3. Zhao Z, et al. Recommending What Video to Watch Next: A Multitask Ranking System. In: RecSys 2019.
  4. 王树森推荐系统公开课
http://www.lryc.cn/news/623088.html

相关文章:

  • pwn定时器,ARM定时delay 外部中断用函数指针(统一)day55,56
  • 一周学会Matplotlib3 Python 数据可视化-绘制自相关图
  • mysql使用group by的时候想显示没有参与聚合的字段怎么办
  • 软考 系统架构设计师系列知识点之杂项集萃(125)
  • 【JavaEE】(13) Spring Web MVC 入门
  • 深度解码格行无缝切网引擎:40%延迟降低背后的多网智能切换架构
  • [ai-agent]环境简介之沙盒e2b vs daytona
  • 海康机器人3D相机的应用
  • qsort实现数据排序
  • 零知开源——基于STM32F407VET6的TCS230颜色识别器设计与实现
  • 启发式合并 + 莫队 恋恋的心跳大冒险
  • 【机器学习深度学习】OpenCompass:支持的开源评估数据集及使用差异
  • 告别重复纹理:用Substance Designer构建UE5程序化地貌材质系统
  • SysTick寄存器(嘀嗒定时器实现延时)
  • EP1C12F324I7N Altera Cyclone FPGA
  • [创业之路-550]:公司半年度经营分析会 - 解决方案汇总
  • Vue2.x核心技术与实战(一)
  • Java 学习笔记(基础篇3)
  • 嵌入式硬件篇---电源电路
  • php版的FormCreate使用注意事项
  • 从频繁告警到平稳发布:服务冷启动 CPU 风暴优化实践00
  • Flow-GRPO:通过在线 RL 训练 Flow matching 模型
  • 【OpenGL】LearnOpenGL学习笔记10 - 平行光、点光源、聚光灯
  • 2020/12 JLPT听力原文 问题二 2番
  • CSDN部分内容改为视频转到B站-清单
  • Flink Stream API 源码走读 - print()
  • B3865 [GESP202309 二级] 小杨的 X 字矩阵(举一反三)
  • 矩阵链相乘的最少乘法次数(动态规划解法)
  • 深入了解 swap:作用、局限与分区建立
  • Hadoop面试题及详细答案 110题 (16-35)-- HDFS核心原理与操作