【KD】2022 KDD FreeKD: Free-direction Knowledge Distillation for Graph Neural Networks
目录
0.简介
1.摘要
2.模型介绍
2.1 节点级知识蒸馏
2.2 结构级知识蒸馏
2.3 优化过程
3.实验
3.1 数据集
3.2 基线模型
3.3 实验结果
3.3.1 结果分析
3.3.2 消融研究
4.总结
参考
0.简介
今天,我们为大家介绍了一篇发表于KDD2022的重要文章,由北京理工大学计算机学院的李长升教授团队主导完成。该文章题为《FreeKD: Free-direction Knowledge Distillation for Graph Neural Networks》。知识蒸馏技术已被广泛应用于提升图神经网络的性能,其核心目标是将知识从深度的教师图神经网络(GNN)转移到较浅的学生GNN模型。然而,由于模型的过度参数化和过度平滑特性,训练出性能令人满意的教师GNN较为困难,这在实际应用中往往导致无效的知识迁移。针对这一挑战,我们提出了一种 novel 的知识蒸馏框架,称为FreeKD。该框架无需对教师GNN进行更深入的优化,而是通过协作构建两个相对浅层的GNN模型,并采用分层强化学习的方式在两者之间进行知识共享。通过在五个基准数据集上的大量实验,我们发现FreeKD在很大程度上超越了传统方法,且在多种GNN架构上均展现出显著的性能提升效果。
1.摘要
随着互联网的快速发展,图数据已经成为无处不在且普遍存在的数据形式,如社交网络和引文网络等。图神经网络(GNN)通过聚合邻域节点的特征信息,提供了一种有效的方式用于学习图结构中的节点。最近,一些研究人员将一种称为知识蒸馏(KD)的有趣学习方案扩展至图神经网络领域,以进一步提升图神经网络的性能。这些方法的核心思想在于通过从较深的教师图神经网络模型中提取知识,来优化较浅的学生图神经网络模型。
但传统知识蒸馏方法的师生架构,需要更深层次的、优化良好的教师GNN来提取知识,当将这种架构应用于GNN时,它会遇到以下问题:首先,训练一个令人满意的GNN教师通常是具有挑战性的且低效的,现有的过度参数化和过平滑问题通常会导致更深层GNN模型的性能下降;其次,强大的教师模型不一定会带来更好的学生模型,这可能是因为教师模型和学生模型之间表示能力的不匹配,导致学生模型难以模仿过于强大的教师模型的输出,因此,在实际应用中,为学生GNN找到最优的教师GNN往往非常困难。
本研究提出了一种创新性的知识蒸馏框架,命名为FreeKD,其基础是强化学习驱动的自由方向知识蒸馏机制。该框架无需依赖深度优化的教师图神经网络来进行单向知识转移,而是通过协作学习两个较浅层的图神经网络,采用分层强化学习方法从彼此中提取知识。这种动态管理知识转移方向的方式,从节点层面和结构层面均得以实现。在五个基准数据集上的大量实验结果表明,FreeKD框架显著提升了两个较浅层图神经网络的性能,并且该方法对各类图神经网络均具有良好的适用性。
2.模型介绍

如上图所示,本文采用了两个浅层的图神经网络进行动态交互,从而实现了相互促进。为了解决训练阶段选择不同节点知识蒸馏方向的问题,作者基于分层强化学习策略提出了一种自由方向的知识蒸馏框架,作为知识判断机制,该框架由两个级别的动作选择机制组成:1)级别1,称为节点级动作,用于选择每个节点的蒸馏方向;2)级别2,称为结构级动作,用于选择通过节点级动作生成的局部结构中的传播节点。
2.1 节点级知识蒸馏




为了在节点级别传递知识,通过KL散度衡量两个GNN模型中同一节点的软标签之间的距离差异,并为每个GNN模型构建并最小化一个新的损失函数。

2.2 结构级知识蒸馏




计算中心相似度为:


定义两个agent选择的节点𝑖和𝑗之间的相似性:

传递结构级知识的损失函数:

其中

2.3 优化过程
模型更新后的性能作为强化学习的奖励:

其中𝛾是一个超参数,B是训练集中的一批节点集,动作𝑎𝑖的奖励由两部分组成:首先,该批节点的平均性能作为评估其全局影响的标准;其次,节点𝑖的邻域节点集的平均性能用于模拟其局部效应。


参数更新如下:

分别最小化以下损失函数来优化Φ和Ψ:

3.实验
3.1 数据集
本文涉及五个数据集的使用,其中Cora和Citeseer是两个引用数据集,节点代表文档内容,通过边来展示它们之间的引用关系;Chameleon和Texas是两个网络数据集,节点代表网页内容,通过边来展示它们之间的超链接关系;PPI数据集则由24个蛋白质-蛋白质相互作用图组成,每个图分别对应于人体的不同组织。
3.2 基线模型
本文主要采用了三种广为采用的GNN架构,GCN、GAT、GraphSAGE作为核心架构 ,并对其性能表现进行了系统性对比分析,与KD、LSP、CPF、RDD和GNN-SD等五种代表性知识蒸馏方法进行了深入探讨。
3.3 实验结果
3.3.1 结果分析


实验结果的两表清晰展示了FreeKD方法的性能优势。该方法能够在所有数据集上显著提升基本GNN模型的性能表现。与现有GNN模型相比,FreeKD在Cora和Citeseer数据集上分别实现了1.01%至1.97%的性能提升,在Chameleon和Texas数据集上则分别获得了1.08%至4.61%的显著提升。针对归纳学习任务,FreeKD在PPI数据集上实现了1.31%至3.11%的性能优化。值得注意的是,两个GNN模型,无论是基于相同架构还是不同架构,均能通过采用FreeKD相互受益,这充分验证了其在多种GNN架构下的通用有效性。

上表详细列出了对比实验结果,表明FreeKD在各数据集上的应用表现不低于并略胜于传统知识蒸馏方法(KD、LSP、CPF)。这不仅验证了FreeKD的性能优势,还表明其在知识获取方面具有显著的优越性。值得注意的是,FreeKD通过从更强大的GCN教师那里获取知识,实现了这一优势,而其独特的知识提取机制仅在两个较浅的GAT之间进行知识交互。此外,FreeKD在性能上持续优于GNN-SD和RDD,这一结果进一步验证了FreeKD的有效性和优越性。
3.3.2 消融研究
本文致力于消融研究,以评估方法中组件的有效性。在方法中,GCN被用作核心模型Φ和Ψ,并在Chameleon和Cora两个领域数据集上进行了实验。当ρ设为0时,这表示仅传递节点级别的知识,简称为FreeKD-node。为了评估强化学习驱动的节点判断模块,设计了不同变体。
• FreeKD-w.o.-judge:FreeKD不使用代理,Φ和Ψ从彼此中提取每个节点的知识。
FreeKD损失函数:FreeKD未采用强化知识进行判断,而是主要依据交叉熵损失来指导知识蒸馏过程。
该方法,FreeKD-all-neighbors,基于节点级动作选择节点级知识蒸馏的方向,但采用了所有邻域节点作为局部结构。
FreeKD-all-structures:FreeKD聚焦于节点级知识蒸馏的方向,但不进行结构级动作的结构级知识蒸馏。

表中呈现了消融研究的相关数据,这些数据表明了具有分层强化学习策略的知识蒸馏框架是有效的。
4.总结
在本文中,作者提出了一种无固定方向的知识蒸馏框架,使得两个较浅层的GNN之间能够实现相互学习,无需依赖深度优化的教师型GNN。
