深度学习在推荐系统的进展及在微博的应用

微风

2019/03/24 发布于 技术 分类

文字内容
1. 深度学习在推荐系统 的技术进展及在微博的应用 张俊林 新浪微博 2018.10
3. 推荐系统与推荐模型 基于表示学习的深度学习推荐模型 基于特征组合的深度学习推荐模型 在微博的应用
4. 推荐系统的应用 音乐推荐 电影推荐 商品推荐
5. 推荐任务分类—根据输出类型 l Rating Prediction l Ranking l 分类模型 Prediction(Top N 推荐)
6. 常见推荐模型 l 协同过滤 冷启动问题:用户端 & 物品端 难以解释 l 内容推荐 冷启动问题:only 用户端 越推越窄问题 l 混合模型(协同+内容) 试图集成两者的优点 优缺点互换
7. 当推荐系统遇到深度学习
8. DL meets Rec概述:推荐系统的两个阶段 处理数据量大; 速度要够快; 模型不能太复杂; 使用较少特征; 阶段1:召回 模型: 模型: 基于表示学习 特征源: 阶段2:排序 基于特征组合 处理数据量少; 模型要够准; 可以上复杂模型; 可以使用较多特征;
9. 推荐系统与推荐模型 基于表示学习的深度学习推荐模型 基于特征组合的深度学习推荐模型 在微博的应用
10. Recap:推荐系统的两个阶段 基于表示学习推荐系统 主要用于这一阶段; 模型: 模型: 特征源: 阶段1:召回 基于表示学习 阶段2:排序 基于特征组合
11. DL in 召回阶段:怎么才能快? User log in 在线执行: 快速存取(Say:Faiss) 快速存取 User Embedding Item 1 Item 2 Item 3 离线训练: User Info Item Info 基于表示学习 的DL方法 User Embedding Item Embedding
12. DL in 召回阶段:the Key 快速存取 离线训练: User Info Item Info 基于表示学习 的DL方法 User Embedding Item Embedding
13. DL如何学习User和Item的Embedding表达? • 预备知识:User及Item的特征抽取框架 • 无监督模式:Auto-encoder • 半监督模式:Auto-encoder+矩阵分解 • 监督方式 • Rating Problem及其模型框架 • Ranking Problem及其模型框架
14. 预备知识:用户表示学习之特征抽取 Only Rating Matrix Info: UID or History Method:MLP较为常见 用户表示 concate 特征 抽取器 User 特征 抽取器 MLP AE,CNN, RNN AE,CNN CNN,RN N Pic Vedio Side Info DemoGraphic Text With Side Info
15. 预备知识:Item表示学习之特征抽取 Only Rating Matrix Info: UID or History Method:MLP较为常见 Item表示 concate 特征 抽取器 特征 抽取器 Item Side Info …... …... AE,CNN, RNN Text AE,CNN CNN,RN N Pic Vedio With Side Info
16. Embedding表示学习:无监督模式 User Info Item Info 目标重建 目标重建 用户表示 Item表示 特征 抽取器 特征 抽取器 特征 抽取器 特征 抽取器 User Side Info Item Side Info
17. 插播:Denoising Auto-Encoder For you to think:how to apply DAE into Recommendation?
18. Auto-Encoder实例: I-AutoRec
19. Auto-Encoder实例:CDAE模型 CDAE:与I-AutoRec类似,改进点 1.显示增加User节点 2.加入噪音
20. Auto-Encoder实例:Collaborative Filtering Neural network 改动:1.加入噪音 2.加入Side Information 引入Side Info的好处: 1.增加预测准确率; 2.加快训练过程;
21. Embedding表示学习:半监督模式 AutoEncoder 矩阵分解 User Info 目标重建 AutoEncoder Item Info U 用户表示 目标重建 Item表示 V 特征 抽取器 特征 抽取器 特征 抽取器 特征 抽取器 Item Side Info R User Side Info
22. 实例:Deep Collaborative Filtering Framework 混合模型:MF+DAE
23. Embedding表示学习:有监督 之 Rating Problem Prediction Matching Function (Inner Product/Cosine Similarity/MLP etc) 用户表示 Item表示 特征 抽取器 特征 抽取器 特征 抽取器 特征 抽取器 User Side Info Item Side Info
24. Embedding表示学习:有监督 之 Ranking Problem(通常用BPR objective/DSSM is OK too) Training Data: BPR Objective Score(User,Item-) Score(User,Item+) 用户表示 Item+表示 特征 抽取器 特征 抽取器 特征 抽取器 特征 抽取器 User Side Info Item+ Side Info Item-表示 Share 特征 抽取器 特征 抽取器 Item- Side Info
25. Bayesian Personalized Ranking Objective 正则化 BPR= Training Data: 正例得分 负例得分
26. Bayesian Personalized Ranking Loss 1.推荐本质上是个性化排序机制, 而不是打分或者回归问题, BPR优化目标更符合业务目标; 2.区分“不感兴趣”与“不知道”; 相同模型,不同优化方法,BPR明显效果更好:绿色曲线
27. 实例:Neural Collaborative Filtering Framework
28. 实例:Facebook Product Recommendation
29. 实例:Deep Matrix Factorization
30. 实例:Deep Cooperative Neural Network
31. 实例:Youtube 视频推荐
32. 一些个人看法 • • 绝大多数方法:不实用或者不接地气 • Auto-Encoder类方法 • 只用userID或itemID,不用Side Info的方法 • 目前生造论文或者创新点的工作仍然有点多,要有辨别能力 建议 • 多参考公司发的论文 • 如果可能,使用BPR Loss及相应框架 • 深度学习在多模态信息的特征建模方面具有不可替代的作用
33. 传统推荐模型 基于表示学习的深度学习推荐模型 基于特征组合的深度学习推荐模型 在微博的应用
34. Recap:推荐系统的两个阶段 阶段1:召回 阶段2:排序 基于特征组合推荐系统: 主要用于这一阶段 模型: 模型: 特征源: 基于表示学习 基于特征组合
35. 两个关键问题 • 特征表达问题 • • 如何处理大量离散特征及高维度稀疏特征? 特征组合问题 • 如何捕获和表达两两组合特征?(Most Important Factor) • 如何捕获和表达多组组合特征?
36. 推荐任务中的特征类型 • • 连续特征 • 收入,身高,体重…… • 适合DNN处理 离散特征 • 职业,性别,毕业学校…… • 不适合DNN处理
37. 离散特征如何让DNN可以处理? • 直观思路:离散特征使用Onehot表达
38. 离散特征如何让DNN可以处理? • 直观思路:离散特征使用Onehot表达
39. 离散特征如何让DNN可以处理? • Onehot作为DNN输入的问题:CTR预估任务里不可行
40. 离散特征如何让DNN可以处理? • 解决思路:从OneHot到Dense Vector
41. 形成DNN结构
42. 再加入连续特征
43. 这是通用的深层模型结构 这就是FNN模型:Factorisation-Machine Supported Neural Networks Wide&Deep模型的Deep部分:相同的结构 很多其它改进模型的Deep部分:相同的结构 几乎所有DL+CTR模型的输入部分:这种Onehot2Dense映射
44. DNN输入问题解决了,但是…….. 低阶和高阶特征组合隐含地体现在隐层 目前研究表明:MLP表达特征组合能力很弱 我们希望:把低阶特征组合单独建模
45. 把低阶特征组合单独建模 • 首先需要:定义一个神经网络版的低阶特征组合模型
46. 把低阶特征组合模型插入网络结构中
47. 典型网络融合结构之一:并行结构
48. 并行结构实例:Wide&Deep模型 Wide网络LR模型,无FM组合 两个不同的输入结构 Wide部分手工特征工程+Cross 特征
49. 并行结构实例:DeepFM模型
50. 并行结构实例:Deep&Cross模型 FM Function=Cross Network=ResNet(多阶组合)
51. 并行结构实例:xDeepFM模型 FM Function=多阶组合=类CNN的结构
52. 典型网络融合结构之二:串行结构
53. 串行结构实例:PNN模型
54. 串行结构实例:NFM模型
55. 串行结构实例:AFM模型 相比NFM模型只是多了针对 组合特征的Attention
56. 一些个人看法 • 如下观点 • 模型结构趋同:串行结构vs.并行结构; • 深度模型中的输入问题基本解决:onehotàfield embedding; • 关键所在:在于2-order特征组合网络结构如何设计(其实不同方案区别不大); • 多特征组合分层表示是个趋势:2-order/3-order/4-order有效,再高阶用处不大 • MLP这种加性捕获特征组合能力不强,乘性结构捕获组合特征比较合适; • 多模态融合是个趋势,也是DL绝对可以发挥作用的地方,但是需要较强的工程能力;
57. 传统推荐模型 基于表示学习的深度学习推荐模型 基于特征组合的深度学习推荐模型 在微博的应用
58. 微博推荐/排序任务应用场景 关系流Feed排序 热门流个性化排序 正文页推荐
59. 微博推荐系统架构 DNN模型
60. 深度学习模型使用特征 • 内容标签:领域分类、关键 • 自然属性:性别、年龄、 词、topic 教育程度 • 内容质量:营销、色情、标 • 账号特征:关注数、粉丝 数、V类型 • 历史偏好:历史互动率、 短/长期兴趣 • 关系属性:同事、同学、 朋友 • 亲密度:历史交互数、相 似度 • 关注关系:互粉、特别关 注 用户 特征 物料 特征 关系 特征 行为 特征 题党 • 类型属性:带图、视频、原 创/转发文章等 • 协同特征 • 用户对某主题微博阅读率 • 微博的实时点击率 • 实时互动率
61. 深度学习模型(Ranking)-DeepFM