【推荐】多目标排序以及MMOE原理解析

【推荐】多目标排序以及MMOE原理解析

💡 原文中文,约12100字,阅读约需29分钟。
📝

内容提要

多目标排序解决推荐系统中的偏差问题,通过改变样本权重、多模型分数融合和多任务学习等方式进行优化。MMOE是一种多任务学习模型,通过引入多个门控网络来解决任务相关性不强的问题。代码实现中,可以使用MMoE层和任务塔构建多目标模型。

🎯

关键要点

  • 推荐系统中的显示反馈较少,主要基于隐式反馈,存在目标偏差、物品偏差和用户偏差。
  • 目标偏差指不同目标的偏好程度不同,例如电商中购买行为的偏好高于收藏。
  • 物品偏差是指推荐物品需要多个衡量目标,单一目标衡量不全面。
  • 用户偏差表现为不同用户对满意度的表达方式不同。
  • 多目标排序旨在解决上述偏差问题,通过优化多个目标来提高用户粘性。
  • 多目标排序的主要方式包括改变样本权重、多模型分数融合和多任务学习。
  • MMOE是一种多任务学习模型,通过多个门控网络解决任务相关性不强的问题。
  • MMOE在MOE的基础上增加多个门控网络,针对不同任务自适应加权专家网络的输出。
  • 在MTL中,稀疏任务可以尝试使用Focal loss来提升效果。
  • 可以通过对负例进行降权或寻找更难的负例来改善模型效果。
  • 任务间的预测可以相互作为输入,注意梯度传递的处理。
  • MMOE层的代码实现包括定义层的参数和构建前向传播函数。
  • 在MMOE层基础上构建多目标模型时,需要增加不同任务的塔网络。
  • 模型编译时可以设置损失函数和优化器,输出层使用softmax激活函数。
➡️

继续阅读