深度学习推荐模型综合对比
通过表格梳理各个经典深度学习推荐模型的核心思想、特点以及局限性。通过对比各模型在「思想层面的传承与突破」,帮助构建深度学习推荐系统的发展脉络。
| 模型名称 | 基本原理(思想) | 特点 | 局限性 |
|---|---|---|---|
| 协同过滤 | 根据用户的历史行为生成「用户-物品」共现矩阵,利用用户相似性和物品相似性进行推荐 | 原理简单,直接,应用广泛 | 泛化能力差,处理稀疏矩阵的能力差,推荐结果的头部效应较明显 |
| 矩阵分解 | 将协同过滤算法中的共现矩阵分解为用户矩阵和物品矩阵,利用用户隐向量和物品「隐向量」的内积进行排序并推荐 | 相较协同过滤,泛化能力有所加强,对稀疏矩阵的处理能力有所增强 | 除了用户历史行为数据,难以利用其他用户、物品特征及上下文特征 |
| 逻辑回归 | 将推荐问题转换成类似CTR预估的「二分类」问题,将用户、物品、上下文等不同特征转换成特征向量,输入逻辑回归模型,得到CTR预估值,再按照预估的CTR进行排序并推荐 | 能够融合多种类型的不同特征 | 不具备特征组合的能力,表达能力较差 |
| FM 因子分解机 | 在逻辑回归的基础上,加入「二阶特征交叉」部分,为每一维特征训练得到相应特征隐向量,通过隐向量间的内积运算得到交叉特征权重 | 相比逻辑回归,具备了二阶特征交叉能力,模型的表达能力增强 | 由于组合爆炸问题的限制,模型不易扩展到三阶特征交叉阶段 |
| FFM | 在FM模型的基础上,加入“特征域”的概念,使每个特征在与不同域的特征交叉时采用不同的隐向量 | 相比FM模型,进一步加强特征交叉的能力 | 模型的训练开销达到量级,训练开销较大 |
| AutoRec | 基于自编码器,对用户或者物品进行编码,利用自编码器的泛化能力进行推荐 | 单隐层神经网络结构简单,可实现快速训练和部署 | 表达能力较差 |
| DeepCrossing | 利用“Embedding层+多隐层+输出层”的经典深度学习框架,完成特征的「自动深度交叉」 | 经典深度学习推荐模型框架 | 利用全连接隐层进行特征交叉,针对性不强 |
| NeuralCF | 将传统的矩阵分解中用户向量和物品向量的点积操作,换成由神经网络代替的「互操作」 | 表达能力加强版的矩阵分解模型 | 只使用了用户和物品的ID特征,没有加入更多其他特征 |
| Two-Towers 双塔模型 | 由用户塔和物品塔组成,用户塔融合所有用户特征生成用户Embedding,物品塔融合所有物品特征生成物品Embedding,通过点积或神经网络融合两塔得到Embedding并得到最终得分 | 模型结构简单,便于工程化实现与线上部署,应用广泛 | 用户特征和物品特征无法进行特征交叉,无法融入其他特征,比如上下文特征 |
| Wide&Deep | 利用Wide部分加强模型的记忆能力,利用Deep部分加强模型的泛化能力 | 开创了组合模型的构造方式,对深度学习推荐模型的后续发展具有重大影响 | Wide部分需要人工筛选特征组合 |
| Deep&Cross | 用Cross网络替代Wide&Deep模型中的Wide部分 | 解决了Wide&Deep模型人工组合特征的问题 | Cross网络的复杂度较高 |
| DeepFM | 在Wide&Deep模型的基础上,用FM替代原来的线性Wide部分 | 加强了Wide部分的特征交叉能力 | 与经典的Wide&Deep模型相比,结构差别不明显 |
| NFM | 用神经网络代替FM中二阶隐向量交叉的操作 | 相比FM,NFM的表达能力和特征交叉能力更强 | 与PNN模型的结构非常相似 |
| AFM | 基于FM,在二阶隐向量交叉的基础上对每个交叉结果加入了「注意力」得分,并使用注意力网络学习注意力得分 | 不同交叉特征的重要性不同 | 没有在计算注意力得分的过程中引入候选物品的影响 |
| DIN | 在传统深度学习推荐模型的基础上引入「注意力」机制,并利用「用户历史行为」物品和目标广告物品的相关性计算注意力得分 | 根据目标广告物品的不同,进行更有针对性的推荐 | 并没有充分利用除历史行为以外的其他特征 |
| DIEN | 将序列模型与深度学习推荐模型结合,使用序列模型模拟用户的「兴趣进化过程」 | 序列模型增强了系统对用户兴趣变迁的表达能力,使推荐系统开始考虑时间相关的行为序列中包含的有价值信息 | 序列模型的训练复杂,线上服务的延迟较长,需要进行工程上的优化 |
| TransAct | 基于Transformer构建的序列推荐模型,将用户行为分成长期兴趣和实时兴趣部分 | 长期兴趣部分「天级」更新(离线),实时兴趣部分「实时」预估(在线),兼顾模型优化和工程部署的要求 | 模型结构复杂,不同结构的更新频率不同、部署方式不同,工程实现难度较大 |
| DRN | 将「强化学习」的思路应用于推荐系统,进行推荐模型的线上实时学习和更新 | 模型对数据实时性的利用能力大大加强 | 线上部分较复杂,工程实现难度较大 |
推荐模型发展时间线
部分论文原文
Reference
《深度学习推荐系统2.0》王喆