作者 | 朱勇椿
导言:近年来,向量嵌入(embedding)的技术在推荐系统领域取得了广泛的应用。然而向量嵌入技术需要大量数据训练,并且面临严重的冷启动问题。特别是只有极少数交互的冷启动物品,很难训练一个合理的物品ID embedding,称作冷启动ID embedding。这篇文章针对冷启动ID embedding提出了一种基于元学习的方法,探索如何预热冷启动物品ID embedding。
本文基于SIGIR-2021论文《Learning to Warm Up Cold Item Embeddings for Cold-start Recommendation with Meta Scaling and Shifting Networks》,论文作者来自中科院计算所、腾讯微信、北航。
论文链接:https://arxiv.org/abs/2105.04790
1 背景介绍
随着个性化线上app的增长,推荐系统被线上服务广泛采用,比如电商、线上新闻等等。传统的协同过滤的方法可以学习用户的兴趣偏好,并且在推荐系统上取得了显著的效果。
最近的研究表明深度神经网络可以进一步提升推荐系统的效果。这些深度推荐模型通常采用向量嵌入(embedding)的技术。
这些模型可以分为两个部分,向量嵌入层和深度模型。向量嵌入层通常将原始特征转化为低维向量表示。其中,物品的ID的向量表示称作ID embedding。每个物品都有一个独特的ID,因此ID embedding也是物品独一无二的向量表示。一个好的ID embedding可以大幅度提升推荐的效果。深度推荐模型将所有特征转化为向量后送入深度模块,给出最终的预测。
然而这些深度推荐模型需要大量数据,并且面临严重的冷启动问题。具体来说,冷启动的物品通常只有少量的交互数据,因此很难学到一个合理的物品ID embedding,我们把这样的表示称作冷启动ID embedding。由于冷启动ID embedding的问题,导致推荐系统很难将冷启动物品推荐给合适的用户。我们分析冷启动ID embedding主要存在两个问题:
- 冷启动ID embedding和深度模型之间存在一个gap。在推荐系统中,存在一个众所周知的现象,少量热门物品占据了大量交互样本,而大量冷启动物品只有少量交互数据。深度模型是在所有数据上进行训练,因此这个模型会学到大量来自热门物品的知识。而冷启动ID embedding仅仅在特定物品的交互数据上训练,因此冷启动ID embedding很难拟合这个深度模型。所以针对冷启动物品如何加速模型的拟合是至关重要的(fast adaptation)。
- 冷启动物品ID embedding会受到噪声严重的影响。在推荐系统中,随时都在出现错误的交互,比如错误点击。而物品ID embedding完全取决于该物品的交互数据。而冷启动物品通常只有很少的交互数据,因此很小的噪声也会对冷启动物品ID embedding造成严重的影响。
现在已经有一些尝试解决冷启动问题的方法。DropoutNet[1]将dropout用于控制推荐模型的输入,随机扔掉用户embedding或者物品embedding来模拟冷启动,并且使用所有交互过的用户表示来取代物品ID embedding。MetaEmb[2]学习一个生成器来使用物品特征来生成物品的初始化ID embedding。MeLU[3]学习一个全局参数来初始化个性化推荐模型,基于该初始化参数,在特定用户的交互数据上进行更新,得到个性化的模型。然而这些方法都没有同时考虑上述两个挑战。
为了解决上述的两个挑战,我们采用了两个关键点:
(1)最近一些研究表明cold和warm的embedding特征空间不同[4],因此我们希望将冷启动ID embedding转换到warm特征空间中。
(2)为了减缓噪声的影响,我们使用全局交互的用户表示来加强冷启动ID embedding。
在这篇文章中,我们将冷启动问题划分为两个阶段,cold-start阶段和warm-up阶段,cold-start阶段表示完全没有样本的情况,而warm-up阶段表示有少量样本的情况。
为了解决这两个阶段的冷启动问题,我们提出了Meta Warm Up Framework(MWUF),该框架可以用于不同的深度推荐模型。该框架包含一种公共初始化ID embedding以及两个meta networks。对于任何新来的物品,我们使用现有的物品embedding的均值来作为初始化。
另外,Meta Scaling Network使用物品的特征作为输入,生成一个定制化的拉伸函数将冷启动ID embedding转化为warmer embedding。Meta Shifting Network使用全局的交互过的用户作为输入,来生成一个偏移函数,来加强物品表示。
2 方法
整体框架如上所示,深度模型的输入包含4个部分,物品ID embedding,物品其他特征embedding,用户ID embedding,用户其他特征embedding:
Common Initial Embeddings: 我们提出了一种公共初始化embedding,使用现有的所有物品的ID embedding均值作为新加入的物品的初始化embedding。
Meta Scaling Network:我们希望将冷启动物品ID embedding转换到一个更好的特征空间,能更好地拟合深度模型。对于每一个物品,冷启动ID embedding和warm ID embedding之间存在一定的联系,我们认为相似的物品,这个联系也应该相似,因此Meta Scaling Network以物品的其他特征做为输入,输出一个拉伸函数:
Meta Shifting Network: 所有交互过的用户均值可以有效的减轻异常用户的影响,因此Meta Shifting Network以交互过的用户的均值表示作为输入,输出一个偏移函数:
最后转换后的物品ID embedding表示为
整个训练流程分为两个阶段,第一个阶段训练推荐模型,第二个阶段训练两个meta network,流程如下所示:
3 实验
我们在三个数据集上进行了实验:
- MovieLens-1M: 该数据集包含一百万条电影打分数据,我们将评分大于3的转换为标签1,评分小于等于3的为标签0.
- Taobao Display Ad Click: 改数据包含1,114,000个用户在淘宝网上8天的两千六百万广告点击记录。
- CIKM2019ECommAI: 这是一个电商推荐数据,用于CIKM2019挑战赛。
我们比较了三类方法,包括常见的协同过滤方法FM、Wide & Deep、PNN、DCN、AFN。冷启动方法DropoutNet、MeLU、MetaEmb。以及序列推荐的方法GRU4Rec、DIN(我们把序列模块用到item侧)。并且我们把冷启动根据样本量分为了四个阶段。实验结果如下所示,可以看到我们的方法在不同数据集,不同设定下都取得了最优的结果。
另外我们的方法和MetaEmb都是通用的方法,可以用于不同的深度推荐模型,因此我们把这两个方法用不同的模型作为base model进行实验,得到结果如下,可以看到在不同任务下,我们的方法都是优于MetaEmb的,证明了我们方法的有效性。
最后,我们做了消融实验,验证了我们提出的每个部分都是有用的。
4 总结
这篇文章我们研究了冷启动问题,我们发现冷启动ID embedding和深度模型之间存在一个gap,并且冷启动ID embedding会受到噪声的影响。因此我们提出了一种公共初始化的方法,以及两个meta networks来将冷启动ID embedding转换到更好的特征空间。实验证明我们的方法是一种高效且通用的方法。
[1] Volkovs M, Yu G W, Poutanen T. DropoutNet: Addressing Cold Start in Recommender Systems[C]//NIPS. 2017: 4957-4966.
[2] Pan F, Li S, Ao X, et al. Warm up cold-start advertisements: Improving ctr predictions via learning to learn id embeddings[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2019: 695-704.
[3] Lee H, Im J, Jang S, et al. MeLU: meta-learned user preference estimator for cold-start recommendation[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019: 1073-1082.
[4] Chen Z, Xiao R, Li C, et al. Esam: Discriminative domain adaptation with non-displayed items to improve long-tail performance[C]//Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2020: 579-588.