前言:
目前中长尾推荐的方法有很多,主流的方法有几类比如:1)在没有项目ID嵌入的情况下提高推荐模型的鲁棒性,2)利用有限的交互数据提高学习效率,如使用元学习方法;3)利用物品侧面信息,便于物品ID嵌入的初始化,4)辅助数据引入,包括知识图谱网络,跨领域转换等等
在优化的过程中,结合自己的一些工作,感觉是不是也可以从一致性的角度的来考虑这个问题,这样的好处是有个统一的切分方式,那么看到哪块还不一致,是不是就可以作为一个未来的优化点?
一,冷启动&长尾问题存在哪些一致性问题
![](https://i-blog.csdnimg.cn/blog_migrate/045e4544a1eb735a6638f1f8fe16f172.png)
1,模型对待一致性
主要思路为提高推荐模型的鲁棒性,在模型训练中对项目ID嵌入使用dropout或masking,使得同模型对待缺失的特征鲁棒较好,如
《[NIPS2017]DropoutNet: Addressing Cold Start in Recommender Systems》在训练过程中加入dropout的机制,使得模型不过度依赖于ID embedding,而是其他内容特征。从而使得冷启动推荐主要是根据内容特征来进行推荐,减小了不好的ID embedding的影响。
![](https://i-blog.csdnimg.cn/blog_migrate/9d94ba13054cdbfda2cce3e3d6725a9a.png)
2,emb分布一致性
主要思路在于冷启内容emb和高活emb的一致性。通过对比学习,对抗网络来强化这一点,令生成的冷门物品嵌入可以具有与常规嵌入相似的分布,达到提升效果的目的。
比如《SIGIR '22 :Generative Adversarial Framework for Cold-Start Item Recommendation》
文章认为冷启动emb和高活emb分布不一致,容易导致模型倾向高活emb忽略低活emb的跷跷板效应,所以利用对抗网络来提升emb分布的一致性
![](https://i-blog.csdnimg.cn/blog_migrate/af288732a861a9dd496ae362ac57184b.png)
3,特征一致性
主要方法认为高活和低活特征分布上存在差异,通过拉齐特征的分布来缓解这个问题:代表的文章如《ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail Performance》
ESAM认为,
一,“曝光item”与“未曝光item”的特征之间的关系是一致的。比如,无论曝光与否,奢侈品牌的价格都要比普通品牌的价格要贵。如下图左所示
二,“曝光item”与“未曝光item”的高阶特征(embedding的不同维度)之间的关系,也应该保持不变。所下图右所示
![](https://i-blog.csdnimg.cn/blog_migrate/d11a2b75af5c4ae45fc29d81270b9ad6.png)
4,用户和参数一致性
主要思路在于得到一个适用与该用户的模型,并可以在查询集上得到较好的效果。大部分采用元学习的思路。如《MeLU:Meta-Learned User Preference Estimator for Cold-Start Recommendation》主要包含两个集合,分别是支持集(support set)和查询集(query set),两个集合分别用于计算训练loss和测试loss。在局部更新时,主要在支持集(训练过程)上进行参数优化;在全局更新时,在查询集上最小化损失。
元学习需要对样本做重新的组织,在实践中往往开销比较大,目前各大公司推荐系统应用上相对偏少。
![](https://i-blog.csdnimg.cn/blog_migrate/73aaa228ba2cc49f7f22a1cf417da434.png)
5,信息的引入
主要思路在于冷启动物品相比高活物品缺少信息,那么通过一些信息引入,对冷启动物品进行信息补充,弥补冷启动物品和高活物品输入特征的差异。比如用户可能在端内消费较少,那有没有在其它产品消费过,引入其它场景的信息作为补充。或者本场景中通过异构图构建一下用户和物品或者其它用户的关联,利用其他用户信息来丰富自身信息。
如《kdd21:Multi-view Denoising Graph Auto-Encoders on Heterogeneous Information Networks for Cold-start Recommendation》通过异构图,增强用户与物品的最终表示,来丰富冷启动emb信息。
![](https://i-blog.csdnimg.cn/blog_migrate/4facbbe5d44f7f4b359e5cbc60a1a7d0.png)
6,自身side info 信息增强
主要思路是冷启动emb信息不丰富,那么通过side info 信息来对emb进行信息增强。
如《Improving Item Cold-start Recommendation via Model-agnostic Conditional Variational Autoencoder》
这篇文章利用可变自编码器,对side info 进行转换生成冷启动的emb向量。
这篇文章的核心我认为在通过利用side info来直接生成更靠谱的emb。相比于前面的几类方法,开销较小(比如不需要样本的从新组织,不需要额外信息引入,端到端训练),便于系统集成。
后续直接生成一个更靠谱更合适的emb 成为很多emb冷启动研究的方向。为了便于总结单开了一章关于emb生成相关的可以参看《从一致性角度考虑推荐冷启动&长尾推荐问题(二)》
https://blog.csdn.net/qjzcy/article/details/129093841?spm=1001.2014.3001.5501
![](https://i-blog.csdnimg.cn/blog_migrate/6b2d65c33f07e3b0096a1b0088d97db2.png)