推荐系统的发展与简单回顾
来源: 公众号 浅梦的学习笔记
本文结合百度和支付宝两段推荐系统相关的实习经历,针对工业界的模型发展做了简单梳理与回顾,涵盖表示学习,深度学习,强化学习知识图谱以及多任务学习
表示学习和深度学习在推荐系统中的应用是目前工业界比较成熟的,但是与强化学习、知识图谱、多任务学习相结合是比较少的, 一方面此类技术与推荐结合才刚刚开始探索,背后有太多问题需要人力去挖掘和探索;另一方面在公司的业务中敢不敢上这种前沿课题的探索与实验甚至上线接大流量,部门老大的魄力很关键。
表示学习
常用类别特征的表示方法:One-Hot Encoding、Look-Up Embedding、Pre-Train Embedding
框架
美团王永康前辈的分享(https://blog.csdn.net/gamer_gyt/article/details/97985818)
序列 Sequence
图 Graph
附加信息 Side Information
Side Information框架是解决冷启动的方法之一。
多模态 Multimodal
更准确来说,这部分属于模式识别范畴,各大公司在业务稳定后基本都会成立单独的内容理解团队(在百度实习的时候隔壁就有一个专门的内容理解组),以分享到外部的资料举例,优酷团队在这方面做的很不错:《优酷在多模态内容理解上的研究及应用》(https://www.infoq.cn/article/xgP_eyfidAA2l5ShcCPp)。
模型层面的应用
此部分详细内容参考下节。
深度学习
企业级的推荐系统为了尽量提高模型的准确性,往往会使用丰富的甚至异构的内容数据。这些特征从不同的维度展现了不同的信息,而且特征间的组合通常是非常有意义的。传统的交叉特征是由工程师手动设计的,这有很大的局限性,成本很高,并且不能拓展到未曾出现过的交叉模式中。因此学者们开始研究用神经网络去自动学习高阶的特征交互模式,弥补人工特征工程带来的种种局限性。
基于深度学习的推荐系统综述(https://coladrill.github.io/2018/08/08/%E5%9F%BA%E4%BA%8E%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E7%9A%84%E6%8E%A8%E8%8D%90%E7%B3%BB%E7%BB%9F%E7%BB%BC%E8%BF%B0/)
浅梦的Github链接(https://github.com/shenweichen/DeepCTR)
最新论文导读(https://zhuanlan.zhihu.com/weichennote)
来源:https://zhuanlan.zhihu.com/p/69050253
2015-2016
-
Convolutional Click Prediction Model [CIKM 2015] A Convolutional Click Prediction Model
-
Factorization-supported Neural Network [ECIR 2016] Deep Learning over Multi-field Categorical Data: A Case Study on User Response Prediction
-
Product-based Neural Network [ICDM 2016] Product-based neural networks for user response prediction
-
Wide & Deep [DLRS 2016]Wide & Deep Learning for Recommender Systems
2017-2018
-
DeepFM [IJCAI 2017]DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
-
Piece-wise Linear Model [arxiv 2017]Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction
-
Deep & Cross Network [ADKDD 2017]Deep & Cross Network for Ad Click Predictions
-
Attentional Factorization Machine [IJCAI 2017]Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks
-
Neural Factorization Machine [SIGIR 2017]Neural Factorization Machines for Sparse Predictive Analytics
-
xDeepFM [KDD 2018]xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems
2018-2019
-
AutoInt [arxiv 2018]AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks
-
Deep Interest Network [KDD 2018]Deep Interest Network for Click-Through Rate Prediction
-
Deep Interest Evolution Network [AAAI 2019]Deep Interest Evolution Network for Click-Through Rate Prediction
-
NFFM [arxiv 2019]Operation-aware Neural Networks for User Response Prediction
-
FGCNN [WWW 2019]Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction
-
Deep Session Interest Network [IJCAI 2019]Deep Session Interest Network for Click-Through Rate Prediction
-
FiBiNET [RecSys 2019]FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction
自动特征工程方面我即将出一篇论文,期待下~
强化学习
用户与推荐系统之间往往会发生持续密切的交互行为,强化学习中的Reward机制十分适合应用到这种模式,所以基于强化学习的推荐方法中,往往会把推荐系统看做智能体(Agent)、把用户看做环境(Environment),商品的推荐问题可以看做经典的顺序决策问题。Agent每一次排序策略的选择可以看做一次试错(Trial and Error),把用户的反馈、点击成交等作为从环境中获得的奖赏。
在支付宝实习的时候,优化CTR模型之余,针对商家线下运营策略推荐场景,主导实现了off-policy的强化学习模型(下图仅作抛砖引玉,模型细节不能公布哈)。
论文整理
-
[ICDM 2018] Self-attentive sequential recommendation
-
[arXiv 2018] Reinforcement Learning for Online Information Seeking
-
[WWW 2018] DRN:A Deep Reinforcement Learning Framework for News Recommendation
-
[SIGIR 2019] Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction
-
[ICML 2019] Generative Adversarial User Model for Reinforcement Learning Based Recommendation System
-
[AAAI 2019] Large-scale Interactive Recommendation with Tree-structured Policy Gradient
-
[arXiv 2019] Reinforcement Learning to Optimize Long-term User Engagement in Recommender Systems
-
[WSDM 2019]Top-K Off-Policy Correction for a REINFORCE Recommender System
-
[arXiv 2019]Reinforcement Learning for Slate-based Recommender Systems: A Tractable Decomposition and Practical Methodology
机遇与挑战
- 离线评估与在线效果之间的巨大鸿沟
-
离线模拟过程的泛化性问题,特别是用户端连续决策行为的建模方面。
-
现有方法其实还是有很多问题,例如没有刻画用户反馈行为的连续性与前后相关性、没有考虑用户反馈背后的多因素影响等等。
- 动作空间偏大
-
在真实的推荐系统中面临巨大无比的离散化行为空间(待推荐item集合巨大无比)。
-
这个问题在这篇文章中已经作出了一些探索,但还没有完全解决这类问题。
- 在线效果容易受到其它策略的影响
- 例如推荐端在使用RL算法,用户还在看到很多其它推荐、展示策略在其它位置、时段、平台推给他的结果,较难精确建模用户反馈与行为归因。
- 如何去做更好地探索
-
因为真实场景中没有游戏环境那样丰富的样本数据,每一次探索都有巨大的显性成本或隐性成本。
-
更快地探索、更好地采用效率是RL4Rec实际应用中的难题。
知识图谱
Personalized Recommendation Systems: Five Hot Research Topics You Must Know(https://www.microsoft.com/en-us/research/lab/microsoft-research-asia/articles/personalized-recommendation-systems/)
在多数推荐场景中,物品可能包含丰富的知识信息,而刻画这些知识的网络结构即被称为知识图谱。物品端的知识图谱极大地扩展了物品的信息,强化了物品之间的联系,为推荐提供了丰富的参考价值,更能为推荐结果带来额外的 多样性
和 可解释性
。
和社交网络相比,知识图谱是一种异构网络,因此针对知识图谱的推荐算法设计要更复杂和精巧。近年来,网络特征学习 (network representation learning) 逐渐成为机器学习中的一个热门的研究方向。 引入网络特征学习的方法处理推荐系统中知识图谱的相关信息,有助于增强推荐系统的学习能力,提高精确度和用户满意度。
将知识图谱引入推荐系统,主要有以下两种不同的处理方式:
-
基于特征的辅助推荐模型,核心是知识图谱特征学习的引入。即首先使用知识图谱特征学习对其进行处理,从而得到实体和关系的低维稠密向量表示。这些低维的向量表示可以较为自然地与推荐系统进行结合和交互。
-
基于结构的全局推荐模型,更加直接地使用知识图谱的结构特征。具体来说,对于知识图谱中的每一个实体,我们都进行BFS来获取其在知识图谱中的多跳关联实体从中得到推荐结果。
2018-2019
-
[KDD 2018]Leveraging Meta-path based Context for Top-N Recommendation with A Neural Co-Attention Model
-
[WWW 2019]Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation
-
[WWW 2019]Knowledge Graph Convolutional Networks for Recommender Systems
-
[KDD 2019]KGAT: Knowledge Graph Attention Network for Recommendation
-
[KDD 2019]Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender Systems
-
[DLP-KDD 2019]An End-to-End Neighborhood-based Interaction Model for Knowledge-enhanced Recommendation
-
[AAAI 2019]Explainable Reasoning over Knowledge Graphs for Recommendation
-
[SIGIR 2019]Reinforcement Knowledge Graph Reasoning for Explainable Recommendation
机遇与挑战
- 现有模型都属于统计学习模型,即挖掘网络中的统计学信息并以此进行推断
- 一个困难但更有研究前景的方向是在网络中进行推理,将图推理与推荐系统相结合。
- 如何设计出性能优秀且运行效率高的算法,也是潜在的研究方向
- 现有模型并不涉及计算引擎层面、系统层面甚至硬件层面的考量,如何将上层算法和底层架构进行联合设计和优化,是实际应用中一个亟待研究的问题。
- 现有的模型网络结构都是静态的,在真实场景中,知识图谱具有一定的时效
- 如何刻画这种时间演变的网络,并在推荐时充分考虑时序信息,也值得我们未来研究。
在工业界中,一方面构建一张图需要花费巨大的人力;另一方面图采样等相关技术还不成熟(暴力地使用GCN、KGAT并不现实)。据目前我所了解到的,在知识图谱工业级应用方面,谷歌和百度是比较前沿的(重视程度源于索引量大且对query质量要求高时的场景需求)。
多任务学习
此部分我了解的比较少,待跟进学习。
- [RecSys 2019]Recommending what video to watch next: A multitask ranking system
未完待续….