TLDR: 常规推荐系统算法中的知识蒸馏往往会引入严重的偏差问题,在从教师模型蒸馏给学生模型过程中,流行度偏差会被继承甚至放大。基于这种观察,作者提出了一种分层蒸馏策略,将物品按照物品流行度进行分组,从而在每个组内进行采样,计算BPR损失,从而实现无偏。
论文: https://arxiv.org/abs/2211.14729 代码: https://github.com/chengang95/UnKD/tree/main/UnKD
1 Motivation
知识蒸馏作为模型压缩,提升推理效率的一个有效手段被广泛应用在推荐系统中。然而,常规的知识蒸馏往往会引入严重的bias问题,在从教师模型蒸馏给学生模型过程中,流行度偏差会被继承甚至放大。
如表1和图1所示,将物品分为popular group和unpopular group,可以看出,现有的蒸馏算法的性能提升大部分来自于popular group,而unpopular group的性能往往是下降的。从而推断出蒸馏过程继承甚至方法了流行度偏差。基于此,作者提出了一种分层蒸馏策略,将物品按照物品流行分组,从而在每个组内进行采样,计算BPR损失,从而实现无偏。
2 Method
作者所提模型如图3(b)所示,其中(a)为传统知识蒸馏。与传统知识蒸馏的不同之处在于(1)Group partition和(2)Group-wise Sampling。
(1)Group partition
作者首先将物品按照物品流行度将其分为K组,同时并保证每组的物品流行度之和相同,这样保证了每组内的物品流行度大致相同,从而降低了流行度偏差带来的影响。
(2)Group-wise Sampling
在每组中将物品按照从教师模型蒸馏过来的soft label排序,然后再在每组内进行采样得到训练集合。
(3)Group-wise Learning
按照(2)得到的训练样例训练学生模型
最终,模型损失为其中为某种监督损失(如平方损失,BPR损失等)。(原论文给出了因果解释,更多细节参考原文。)
3 Experiments
Datasets
训练集:测试集=90%:10%,再从训练集中划10%作为验证集。
Metrics
Recall@10, NDCG@10
Baselines
RD, CD, DERRD, HTD
Results
可以看出,在三个数据集上,UnKD都取得了明显的性能提升。
从上图可以看出 (1)现有的知识蒸馏方法的性能提升主要来自于流行物品组,而不流行的物品组的性能较为难堪;(2)作者所提方法的性能提升主要来自于不流行物品组,从而保证了更加公平的推荐
从上表可以看出,在交视模型训练中利用纠偏策略(PD)可以提升不流行物品的性能,但是这样一种提升不如UnKD所带来的大。
随着K逐渐增大,不流行物品的性能先增加,原因:一个较大的K暗示了更加精细的流行度划分,每个组内物品的流行度更加相似,从而更能保证推荐的无偏性。但当K超过某一个值,模型性能逐渐下降,原因:大的K导致每个组内的物品数量减少,将会错失物品之间的排序关系。
Conclusion
作者首先找出知识蒸馏模型偏差的来源,即来自教师模型的soft label。为了降低流行度偏差所带来的影响,作者提出了一个无偏教师无关的知识蒸馏模型,从教师模型中提出流行度感知的排序知识,从而指导学生模型学习。实验证明作者所提方法远优于现有SOTA,尤其是对于不流行的物品组的性能提升。
更多实验细节参考原文。
交流群:点击“联系 作者”--备注“研究方向-公司或学校”
欢迎|论文宣传|合作交流
往期推荐
[CIKM'22「清华+华为」DualRec:考虑过去和未来信息的双网络序列推荐模型
2022-11-22
[WSDM 2023 推荐系统相关论文整理
2022-11-12
[CIKM'22「阿里」多场景个性化推荐的场景自适应自监督模型
2022-11-28
长按关注,更多精彩
点个在看你最好看