【推荐系统】RecHub推荐系统项目学习
学习总结
文章目录
-
学习总结
-
零、推荐系统框架
-
一、RecHub框架
-
-
1.1 项目结构
-
1.2 数据层
-
- (1)特征类
-
1.3 模型层
-
1.4 训练层
-
-
二、精排模型
-
- 2.1 DeepFM模型
- 2.2 DIN模型
-
三、召回模型
-
- 3.1 DSSM双塔模型
- 3.2 YoutobeDNN模型
-
四、多任务模型
-
- 4.1 ESMM模型
- 4.2 MMOE模型
-
五、负样本相关
-
附:时间规划
-
Reference
零、推荐系统框架
一般推荐系统分为召回、粗排、精排和重排几个部分。
- 召回机制
- 粗排算法
- 精排模型:由于精排模型具有较高的复杂性,在考虑系统延迟的情况下通常采用点状处理方式,并行完成对每一个待排序项目的打分过程。这一特点使得打分过程缺乏语境感知能力。用户是否会购买某商品不仅与自身属性相关还与周边商品的相关性密切相关。
- 重排算法:在重排阶段会对精排生成的Top-N序列进行重新排列生成Top-K序列作为最终展示结果其核心目的是通过重新排序来改善推荐质量避免因单个项目的孤立性导致推荐结果出现严重的同质化现象以及降低冗余信息带来的负面影响。在实际应用中通常会结合多种指标如AUC等进行评估以选择合适的排序策略包括强制去重、间隔排序等运营规则以及多样性增强等手段进一步优化结果质量同时引入上下文感知机制以提高推荐算法的整体效率并采取针对性措施如三八节期间美妆类目商品提权等保障用户体验。
- 重排过程通常较为轻量可以在不显著增加计算开销的情况下提升推荐整体算法效率并结合具体业务场景采取多样化的优化策略以达到更好的效果。
一、RecHub框架

datawhale rechub团队的课程学习:https://github.com/datawhalechina/torch-rechub
该团队对论文《Rechub》进行了复现。
1.1 项目结构
该系统支持pandas的DataFrame和字典格式的数据输入方式,并且其上手门槛较低。
该系统具有高度可扩展性,在多个基础组件之间建立良好的接口关系。
这些基础组件包括Logistic Regression用于分类问题建模,
Multi-Layer Perceptron用于深度学习模型构建,
以及Factorization Machine等方法用于特征组合学习。
在关注点设计方面,
系统支持目标注意力机制,
自注意力机制以及基于Transformer架构的技术方案。
-
支持常见排序模型
- WideDeep、DeepFM、DIN、DCN、xDeepFM等
-
支持常见召回模型
- DSSM、YoutubeDNN、YoutubeDSSM、FacebookEBR、MIND等
-
丰富的多任务学习支持
- SharedBottom、ESMM、MMOE、PLE、AITM等模型
该系统采用了多类动态调整的损失函数权重机制(如GradNorm、UWL、MetaBanlance等),聚焦于更加环保化的推荐场景。具体而言,在该系统中重点解决了以下三个关键问题:cold start问题、延迟反馈问题以及偏差消除问题。
-
支持丰富的训练机制
- 对比学习
- 蒸馏学习
-
第三方高性能开源Trainer支持(Pytorch Lighting)
1.2 数据层
(1)特征类

1.3 模型层
通用layer:

例子介绍:

initializer是初始化方式;vocab_size表示词表向量大小等等。
注:
(1)大多数模型都依赖于嵌入层和MLP层的具体实现代码。
(2)项目中对数值型特征、分类型特征进行命名时通常采用sparse和dense两种方式,在教程中通常称为连续变量和分类变量。
1.4 训练层

总结rec hub框架结构:

二、精排模型
2.1 DeepFM模型
python run_criteo.py --model_name deepfm
AI助手
导入 torch-rechub 中的 ranking 模型包括 WideDeep、DeepFM 和 DCN。
2.2 DIN模型
DIN框架以注意力机制为核心,在分析用户的行为模式时特别关注其与不同历史商品之间的关联性。通过激活单元计算得出用户对各历史商品的关注度权重,并据此对当前展示的商品进行具有针对性的预测作用。该激活单元通过将历史行为中的商品嵌入与候选广告商品嵌入进行外积运算得到法向量,并将其输入到多层感知机网络中进一步处理信息。这一设计使得框架能够有效评估广告与历史物品之间的关联程度。
在阿里巴巴生态中的用户,在整个数据流中几乎完整地捕捉到了用户的兴趣发展轨迹。作为一个规模最大的电商平台集团,在其产品矩阵中实现了对消费者购物全过程的兴趣演变过程的全面掌握。然而,在实际运营中存在一些外部因素干扰的可能性:例如部分消费者可能会转向京东、拼多多等其他电商平台进行消费选择;这可能会中断用户的兴趣发展路径。但从统计数据看,在大多数情况下消费者的行为轨迹仍可被完整的记录下来。

三、召回模型
3.1 DSSM双塔模型
双塔模型的鼻祖。
3.2 YoutobeDNN模型

四、多任务模型
后面补看赖神之前的多任务直 播。

4.1 ESMM模型
4.2 MMOE模型
五、负样本相关
负样本:https://zhuanlan.zhihu.com/p/456088223
(正负样本的划分):https://www.zhihu.com/question/334844408
附:时间规划
- 初级目标:通过在多个数据集上实施模型训练,在PyTorch框架下利用预装的数据预处理与训练管理模块(如torch-rechub提供的数据层和训练层)完成对推荐算法模型的复现实例。
- 高级目标:实现零依赖状态下的纯PyTorch代码实现,并致力于构建涵盖多种推荐算法组件的完整复现方案。
| 任务信息 | 截止时间 |
|---|---|
| 06月13日正式开始 | |
| Task01:熟悉Torch-RecHub框架设计与使用方法(2天) 直播讲解 | 周一周二(14号截止) |
| Task02:精排模型:DeepFM、DIN(5天) 代码 | 周三~周日,6月19日周日截止 |
| Task03:召回模型:DSSM、YoutubeDNN(4天)代码 | 周一~周四,6月23日周四截止 |
| Task04:多任务模型:ESMM、MMOE(4天)代码 | 周五~周一,6月27日周一截止 |
Reference
[1] 访问GitHub上的资源库 "Torch-Rechub"。
[2] 深入探讨推荐系统中的多任务学习技术:
- 介绍了阿里ESMM的整体架构。
[3] 深入解析谷歌MMoE模型的技术细节:
- 全面解析了该模型的核心原理。
[4] 查看该站的介绍页面 "Torch-RecHub"。
