【KD应用】2021 CIKM 微信-强化学习推荐模型的知识蒸馏探索之路
目录
导语
模型背景与简介
具体模型
▍2.1模型基本概念
▍2.3老师/学生模块
▍2.4探索/过滤模块
▍2.5基于置信度的蒸馏模块
实验结果
总结
参考文献
本文主要参考了论文《Explore, Filter and Distill: Distilled Reinforcement Learning in Recommendation》,发表在CIKM 2021的会议论文中,论文的作者来自微信看一看团队。

导语
强化学习(Reinforcement learning, RL)已经被广泛应用于真实世界的推荐系统中。然而,基于强化学习的推荐算法常常会面临巨大的内存和时间成本问题。知识蒸馏(Knowledge distillation, KD)是一种有效的模型压缩方法,旨在尽可能保持模型的有效性。然而,推荐系统中的强化学习模型通常需要在极度稀疏的用户-物品空间中进行大规模的探索(RL exploration),而这会增加强化学习推荐模型进行蒸馏的难度。
在强化学习蒸馏过程中,教师(教师)需要向学生(学生)传授哪些内容(例如教师对有标签/无标签的user-item对的评分),以及学生需要从教师的课程中学习多少(即每个蒸馏样例的学习权重),需要经过精心规划和设计。在此研究工作中,我们创新性地提出一个全新的蒸馏强化学习推荐模型(Distilled reinforcement learning framework for recommendation, DRL-Rec),旨在能够在压缩模型的基础上保持现有模型的效果,甚至在压缩过程中提升模型的效果。
具体而言,在模型蒸馏前阶段,我们设置了探索/过滤模块(Exploring and filtering Module),并从教师和学生两个视角判断蒸馏过程中哪些信息应当从教师向学生传递。此外,我们提出了一种基于置信度的蒸馏方法(Confidence-guided distillation),在基于列表的KL散度损失(list-wise KL divergence loss)和提示损失(Hint loss)两种蒸馏目标学习中引入了置信度加权,从而帮助学生从教师在特定课程上表现更突出的领域中获取更多信息。目前,DRL-Rec已部署于“看一看”推荐系统,为数以千万计的用户提供了服务。
模型背景与简介
现有的feed流推荐系统通常采用list-wise的推荐策略:推荐模型在每次用户请求时生成一个item列表(例如包含10个item)。这种list-wise推荐方法主要关注用户对整个列表的满意度指标(如点击行为、观看时长、多样性等特征)。这种推荐过程可被视为一个按顺序逐步推荐item的决策序列,而强化学习模型天然适合建模这种序列化决策过程,因此在实际应用中得到了广泛采用(如HRL-Rec、PAPERec等系统)。
然而,真实世界的推荐系统需要综合考量多维度特征及其交互关系以实现个性化推荐。随着深度神经网络技术的进步,构建更大、更深的模型虽然能带来显著的效果提升,但同时也伴随着计算复杂度的显著增加。在基于列表的强化学习(RL)推荐场景中,这种模型规模和计算成本的提升尤为显著,原因在于模型需要对整个item列表进行建模。鉴于此,开发一种高效的强化学习模型压缩技术具有重要的研究价值。
知识蒸馏(Knowledge Distillation, KD)是一种基于老师-学生机制的高效压缩模型,能够保留模型性能。该方法通过将知识从复杂的老师模型(teacher)迁移到低成本的学生模型(student)中,实现性能提升。学生模型不仅可以通过真实标签进行学习,还可以利用老师预测的软标签(soft label)进行训练。研究表明,Hinton等人的知识蒸馏工作证明,KD不仅能够降低模型的时空复杂度,还能够通过引入老师预测的negative logits提供额外信息,从而提升学生模型的效果。此外,老师模型还可以基于海量无标注数据进行数据增强,作为弱监督信息辅助学生模型的学习。这种机制在处理稀疏性问题较为严重的推荐系统中具有重要意义。
知识蒸馏已被广泛应用于推荐系统领域,然而目前相关工作对强化学习推荐模型之间的蒸馏研究相对较少。我们提出,list-wise RL-based推荐模型的蒸馏主要面临两个关键挑战:首先,list-wise目标函数的特殊性导致蒸馏过程中的信息损失难以有效避免;其次,模型的层次化结构使得蒸馏过程中的权重分配问题具有显著复杂性。
在课程传授方面,教师需要向学生传授怎样的内容?传统的知识蒸馏方法在分类任务中表现出色,其基于负对数似然(Softmax)的输出,为学生提供额外的信息。然而,这些信息量通常在几百个量级以内。但在推荐强化学习,尤其是基于列表级推荐的场景下,RL模型需要探索所有可能的动作空间(生成推荐的物品,通常数量为百万级),并进行蒸馏操作。这种做法在时间和资源上均为不可行。因此,我们认为一个高效的基于蒸馏的RL推荐模型在选择蒸馏样本时,需要先进行离线探索(探索可能被点击的物品),过滤(过滤掉点击概率较低的物品),然后将教师在精选项目上的评分通过蒸馏机制传递给学生,从而完成数据增强过程(类似于物理蒸馏前的过滤操作)。
(2)为了了解student需要从经过筛选后的teacher课程中获取多少知识,我们首先需要探讨基于列表的推荐方法。在这一方法中,单个teacher的RL模型几乎无法准确预测整个state-action空间的所有样例。在这种情况下,teacher产生的reward很可能包含巨大的噪声,尤其是对于那些缺乏真实用户反馈的user-item对,teacher的噪声更为显著。因此,经过筛选后的蒸馏样本的置信度也需要进行评估。


图1:强化学习推荐模型进行知识蒸馏的挑战
为应对这些挑战,本研究致力于开发出一种创新的蒸馏强化学习推荐系统(DRL-Rec),旨在通过压缩模型实现list-wise推荐效果(并可能超越现有效果)。该系统由三个关键模块构成:教师/学生模块(主推荐网络),探索与过滤模块,以及基于置信度的蒸馏模块。
具体地:(1)我们首先借鉴了HRL-Rec强化学习推荐模型(Xie et al. (2021))的网络结构,搭建了保持一致的网络架构、不同向量维度的teacher和student模型。我们采用DDQN这种基于价值的强化学习算法进行训练,基于蒸馏任务中的表现更加稳定。
(2)为探索与过滤模块设计,我们引入了一种新型的双向主导(dual-led)学习策略。具体而言,针对每个user,我们首先通过快速召回机制筛选出一批候选item。随后,我们分别实施teacher-led和student-led过滤策略,从候选item中筛选出教师和学生关注的item,用于后续的蒸馏教学。其中,DRL-Rec分别选择了教师和学生模型评分较高的item作为待蒸馏对象,因为这些item具有较大的信息量且对模型预测效果影响显著。该模块能够有效从数百万候选item中筛选出信息量大的item用于蒸馏,显著提升了知识蒸馏的数据增强效率。
(3)基于置信度引导的蒸馏模块中,我们采用Hint损失和基于列表的KL散度损失,将教师的知识迁移到学生中,并将教师的预测准确率作为蒸馏置信度,从而,学生能够在教师在课程上更具专长的领域中获得更多的知识。
我们对DRL-Rec模型的优势进行了分析。具体而言,(1)探索与过滤模块能够智能识别具有较高信息量的items,并采取有效措施进行探索,从而合理应对教师在教学内容选择上的挑战;(2)基于置信度的蒸馏模块通过科学评估,能够合理分配学习资源,从而有效解决学生在学习进度上的困惑。
DRL-Rec在离线准确率和模型效率方面实现了明显优化。通过消融实验分析,进一步验证了模块的有效性。
我们总结了模型的贡献点如下:
我们提出了一种全新的DRL-Rec框架,聚焦于推荐强化学习模型的蒸馏问题。该方法首次在推荐系统中考虑强化学习模型之间的知识蒸馏,具有开创性特征。
我们开发了一个探索-过滤模块,通过双侧引导的学习机制,从教师和学生两个视角预筛选富含信息量的items进行蒸馏,有效解决了教师在千万级别的item库中确定哪些内容值得传授的关键问题。
我们还提出一个基于置信度的蒸馏模块,在list-wise推荐中定制了list-wise KL散度损失和指示损失,在引入置信度概念的基础上,使student能够更关注教师在特定领域的专长,掌握更广泛的知识体系。
DRL-Rec模型在离线和线上均展现出显著的性能提升,并已成功应用于微信看一看的推荐系统,支撑服务数千万用户。
具体模型
▍2.1模型基本概念
在介绍DRL-Rec中的关键概念时,我们首先定义了针对每个用户,其未有过真实交互且经过探索/过滤模块筛选的、通过置信度引导的蒸馏模块进行蒸馏的item,我们将其命名为filtered exploration candidate。这些candidate将作为弱监督补充信息,将与真实标签的user-item样例共同参与蒸馏过程。

▍2.2模型整体结构
图2给出了DRL-Rec模型的整体流程。
探索过滤模块从百万级别的候选items中筛选出一个item子集,这可以被视为一个小召回模块,主要目的是提高离线训练效率。在此过程中,teacher RL和student RL模型对这些items进行评分,用户端可以在离线阶段预计算评分,计算复杂度不高。这一步骤可以视为离线的RL探索。在离线训练阶段中,通过预计算评分来降低计算复杂度,同时保持训练效果。
(2)Teacher-led lessons和Student-led lessons分别采用teacher和student模型,关注所需学习的item,作为待蒸馏的对象。这一步可被视为蒸馏前的筛选过程,用于剔除可能干扰蒸馏过程的相关因素。
在蒸馏模块中,我们针对列表式推荐策略,设计了一个基于Q值列表的列表式KL散度损失函数进行蒸馏,并辅以Hint损失进行嵌入级别的蒸馏。最终,轻量化的student模型被部署到线上推荐系统中。

图2:DRL-Rec整体结构
▍2.3老师/学生模块
在老师/学生模块中,我们采用了DDQN这种基于价值的强化学习方法进行训练,相较于AC结构在蒸馏过程中的性能更为稳定。

在具体网络架构上,我们借鉴了HRL-Rec强化学习推荐模型(Xie et al. (2021))的网络结构,搭建了具有相同网络架构但采用不同向量维度的教师模型和学生模型。在预测用户列表中t位置的item时,模型首先通过Transformer分别处理t-1位置已预测出的item的特征交互,随后通过GRU对t-1个已预测的item的特征进行串联,从而获得当前状态的表示。


该模型将state与action的表示进行融合,通过MLP进行交互,从而预测出q value。

模型基于传统的TD error进行学习,不同位置的Q value有:

最后,teacher和student分别的训练目标如下:


模型的整体网络结构如下图。

图3:学生模型的网络结构和训练目标
▍2.4探索/过滤模块
如前所述,我们认识到与传统知识蒸馏在分类任务(约几百级)上的不同之处。在推荐系统中,简单地将用户在所有未曝光的items(百万级)上的得分分布直接蒸馏,可能导致引入的噪声远高于有效信息量。此外,由于计算资源的限制,无法穷尽所有用户-物品对。因此,推荐强化学习蒸馏需要一个探索与过滤相结合的机制,通过选择高信息量的无标签items作为有标签items的补充来进行蒸馏学习。具体而言,探索/过滤模块首先会从候选中选择一个千级别的item子集。如果这个子集数量不足,将会影响模块筛选出真正高信息量item的能力。随后,系统会根据teacher和student模型对所有候选item在当前state下的得分进行评估(state已提前计算完毕,因此训练时间可控)。最后,根据teacher和student的得分,系统会筛选出高信息量的item,作为后续蒸馏过程的输入。

在具体的过滤阶段,DRL-Rec主要选择了教师和学生评分最高的top-k项作为蒸馏的输入。这种选择基于以下原因:推荐模型在该位置只关注评分最高的项。因此,通过筛选这两种top-k项进行蒸馏,可以有针对性地提升学生对教师评分最高的top-k项的评估,同时减少可能成为干扰项的那些top-k项对学生的评估影响,从而优化学生的推荐目标。此外,除了上述的过滤策略,还可以采用基于教师与学生意见分歧程度的策略进行灵活部署。
▍2.5基****于置信度的蒸馏模块
我认为,当teacher预测的q value与真实q value的差距越小,此时teacher对state-action的置信度会越高。这个直观上定义的置信度公式如下:

对于探索/过滤模块提供的无标签的item,我们使用了一个均值置信度。
我们采用了两种方法进行蒸馏。首先,基于list-wise推荐策略,我们对teacher和student的Q value列表进行了蒸馏过程。具体公式见下文。

置信度用于各个q值的BP到student模型时learning rate的权值(teacher进行了梯度block),从而,student在不同位置和不同置信度下能够进行不同权值的更新。此外,我们还设计了置信度引导的辅助损失函数,如下:

最终模型loss包括teacher/student RL loss和两个蒸馏loss:

实验结果
我们对离线和线上实验进行了系统性研究。通过压缩student模型的整体embedding size,我们发现其模型大小和线上耗时分别达到原teacher模型的49.7%和76.7%。具体离线AUC评估结果如图4所示。蒸馏优化后的DRL-Rec在50%模型规模下,其准确率较基准模型显著提升。

图4:DRL-Rec离线实验结果
此外,我们还在线上实施了A/B测试,实验结果展示在图5中。模型在点击相关指标方面取得了显著提升,具体表现为相关指标的数值明显改善。

图5:DRL-Rec线上实验结果
图6的消融实验也验证了模型的各个模块的有效性。

图6:DRL-Rec消融实验结果
我们对DRL-Rec在不同压缩率和不同探索/过滤模块输出item数量的性能进行了测试。结果显示,DRL-Rec在50%以上的压缩率下,其AUC表现得到了显著提升。进一步研究表明,当探索/过滤模块输出item数量为3时,其效果达到最佳,这凸显了探索/过滤模块在噪声控制方面的作用。

图7:(a)DRL-Rec在不同压缩率下的结果;
(b)DRL-Rec在不同探索/过滤模块输出item数量下的结果。
总结
在本研究中,我们对强化学习模型在真实推荐系统中的知识蒸馏进行了深入研究,并开发了一种探索性过滤机制。该机制旨在从教师模型中选择高信息量的items进行蒸馏,并通过置信度引导的双重蒸馏目标,重点从教师模型置信度较高的样例中进行学习。实验结果表明,DRL-Rec在离线和线上场景中均展现出显著的准确率和效率提升,支撑了其在工业应用中的巨大价值。目前,该模型已成功集成于微信看一看系统,为数千万用户提供服务。展望未来,我们将进一步探索探索性过滤机制与潜在的结合点,包括online exploration和RL bandit等技术的联动,同时致力于深入研究联合模型的构建与优化。
参考文献
Xie R, Zhang S, Wang R, et al. 基于层次强化学习的整合推荐方法[C]//Proceedings of AAAI. 2021.
[2] Czarnecki W M, Pascanu R, Osindero S, et al. Knowledge distillation of policy[C]//Proceedings of the 22nd International Conference on Artificial Intelligence and Statistics. PMLR, 2019: 1331-1340.
[3] 森田健太, 谷口茂, 城田光, 等. 基于教师的集合实现有效的知识蒸馏[C]//国际声学与语言学会议. 2017: 3697-3701.
[4] Hinton G, Vinyals O, Dean J. Extracting the knowledge of the neural network[J]. arXIV preprint arXIV:1503.02531, 2015.
[5] Chen X, Zhang Y, Xu H, et al. Adversarial-based distillation techniques are employed to develop efficient recommendation systems by incorporating external knowledge sources. ACM Transactions on Information Systems (TOIS), 2018, 37(1): 1-28.
[6] Liu D, Cheng P, Dong Z, et al. A novel knowledge distillation mechanism for counterfactual recommendation in the context of uniform data[C]//Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2020: 831-840.
[7] Romero A, Ballas N, Kahou S E, et al. NetTips: NetHints for slim, deep, or multilayered neural networks[J]. arXIV preprint at arXIV:1412.6550, 2014.
Reference 8: Rusu et al. conducted research on Policy Distillation, which was published as an arXiv preprint (arXiv:1511.06295) in 2015.
Song W, Shi C, Xiao Z, et al. Autoint introduces automated feature interaction learning through self-attention neural networks[C]//Proceedings of the 28th ACM International Conference on Information and Knowledge Management. 2019: 1161-1170.
Tang and Wang present Ranking Distillation, a method aimed at developing compact ranking models with exceptional performance, in their study published in the Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining in 2018, where they discuss models on pages 2289-2298.
[11] Van Hasselt H, Guez A, Silver D. Double Q-learning-based deep reinforcement learning[C]//Proceedings of the AAAI conference on artificial intelligence. 2016年,第30卷,第1期.
[12] Xie R, Liu Y, Zhang S, et al. 该研究由Xie R及其合著者在2021年发表于《Web Conference》的Proceedings中,提出了基于帕累托最优的定制化近似建议。
微信@CIKM | 基于强化学习算法的推荐模型知识蒸馏研究路径
