Knowledge distillation
背景
低资源设备难以运行深度学习模型,因此需要研发高效的小规模网路,同时,知识蒸馏可以获取小规模网络。
原因
-
一般来说,高性能的推荐系统有以下特点:模型结构复杂、对参数数量的需求大,对实时性的要求也较高,但是无法实时地在线部署在移动端或者嵌入式设备上。对于这个问题,知识蒸馏可以解决。
-
此外,图知识蒸馏和推荐系统的结合还可以解决冷启动、尾部泛化、增量学习等问题(具体解决办法还没看)
应用原理
知识蒸馏根据应用场景的不同可以划分为基于知识蒸馏的模型压缩和模型增强。这两种技术都可以应用于推荐系统
- 对于模型压缩技术,知识蒸馏可以将离线训练功能强大的教师模型中的知识迁移到在线推荐的简单学生模型中。其中一个简单的方法就是将复杂教师模型输出的软目标知识迁移到简单学生模型中
- 对于模型增强技术,知识蒸馏可以用于获取高性能的推荐系统而不管其模型的复杂度
利用文章【1】具体说明细节
FKD
- 在【1】中体到,针对以往的知识蒸馏方法方法忽略了中间网络层的特征知识、知识维度变换产生知识损失以及蒸馏过程复杂度较高的问题,提出了FKD(feature knowledge distillation中间特征蒸馏方法),该方法可以通过知识探测器获取指定中间网络蒸馏层的关键知识,在不产生知识损失的条件下,对知识探测器获取到的知识进行知识嵌入,最后根据知识嵌入向量完成知识蒸馏
融合语义感知的序列式推荐
- 【1】中针对特征不匹配的冷启动问题,结合语义感知神经网络 SPNN 和中间层特征知识蒸馏方法 FKD提出了一种融合语义感知的序列式推荐方法,利用FKD 对教师神经网络中间层特征语义知识进行迁移
评价指标
-
ROC曲线
调整分类阈值,以模型不同参数组合下的真阳率作为纵坐标,假阳率作为横坐标可以绘制 ROC 曲线。ROC 曲线中越靠近左上角的点表示对应的模型性能越好
-
AUC(Area Under Curve,AUC)
ROC 曲线下的面积称为 AUC,AUC 越大说明模型的平均性能越好 -
推荐模型的 LogLoss
y 是样本的真实标签,ˆ y是推荐模型对于样本的预测值
对比实验
- SPNN+FKD对比实验
由实验结果可以得知,相比于其它推荐模型,SPNN+FKD提出的方法效果更优
- SPNN 对比实验
对比SPNN 和SPNN+FKD的推荐结果,可以看出FKD 可以进一步提高 SPNN 的推荐效果,验证了所提出方法的有效性
消融实验
- 验证 FKD 可以提升模型的推荐效果的有效性
以DNN作为基础模型,对比学生神经网络在训练时不使用 FKD 和使用 FKD 后的推荐效果
由实验结果可以得知,加入 FKD 之后学生神经网络最终的 AUC 上升、LogLoss 下降,这表明 FKD 可以提升模型的推荐效果,验证了方法的有效性 - 验证FKD在不同模型结构模式下进行知识蒸馏能减少因知识维度变换产生的知识损失的有效性
在 CIFAR-10 数据集上,不同模型结构模式下(教师神经网络和学生神经网络采取不同的网络结构,网络蒸馏层输出的知识具有较大差异),各知识蒸馏方法的效果相比于相同模型结构模式有所下降
FKD 在CIFAR-10 和 CIFAR-100 数据集上,无论是相同模型结构模式下还是不同模型结构模式下均取得了最优的实验结果,验证了方法的有效性
参考文献
[1]夏劲松. 基于知识蒸馏和多头注意力的序列式推荐[D].哈尔滨理工大学,2023.DOI:10.27063/d.cnki.ghlgu.2023.000532.
[2]黄震华,杨顺志,林威等.知识蒸馏研究综述[J].计算机学报,2022,45(03):624-653.
[3]刘静,郑铜亚,郝沁汾.图知识蒸馏综述:算法分类与应用分析[J/OL].软件学报:1-36[2023-10-29].https://doi.org/10.13328/j.cnki.jos.006933.