图数据在现实世界中普遍存在,如引文网络、社交网络、交通网络等。图神经网络(GNNs)以其鲁棒的表达能力和出色的性能在各种图分析应用中得到了广泛的关注。然而,GNNs的有效性严重依赖于足够的数据标签和复杂的网络模型,前者具有挑战性,后者需要昂贵的计算资源。为解决GNN的标记数据稀缺和高复杂度问题,引入了知识蒸馏(KD)来增强现有的GNN。该技术涉及在保持预测性能的同时,将大型教师模型的软标签监督迁移到小型学生模型。将KD技术迁移到图数据和基于图的知识是一个重大挑战。对基于图的知识蒸馏方法进行了全面的概述,系统地分类和总结了它们,同时讨论了它们的局限性和未来的方向。首先介绍了graph和KD的背景; 全面总结了3类基于图的知识蒸馏方法,即基于图的深度神经网络知识蒸馏(Graph-based Knowledge Distillation for deep neural networks, DKD)、基于图的GNNs知识蒸馏(Graph-based Knowledge Distillation for GNNs, GKD)和基于自知识蒸馏的图知识蒸馏(Self-Knowledge Distillation)。每一类方法根据输出层、中间层和构建的图进一步分为知识蒸馏方法。随后,对各种基于图的知识蒸馏算法的思想进行了分析比较,并通过实验结果分析了各算法的优缺点。此外,还列举了基于图的知识蒸馏在计算机视觉、自然语言处理、推荐系统等领域的应用。最后,对基于图的知识蒸馏的发展进行总结和展望。我们也在https://github.com/liujing1023/Graph-based-Knowledge-Distillation上发布了相关资源。
1. 引言
图数据[1]表示对象之间的关系,是一种重要的数据类型,用于用户推荐[2]、药物发现[3]、流量预测[4]、点云分类[5]、芯片设计[6]等各种现实场景。与欧氏空间中的结构化数据不同,图数据具有复杂的结构,包含丰富的信息。为了从复杂图中学习具有足够信息的向量化表示,研究人员正在将深度学习方法应用于图。借鉴卷积神经网络(CNN)[7]的思想,图神经网络(GNNs)[8]被提出,并在节点分类[9]、链路预测[10]、图分类[11]等任务中得到有效应用。
**随着卷积算子的改进和大规模图的流行,研究人员正在探索训练准确和高效的图卷积神经网络(GNN)的方法。**一种方法是训练更深的网络以提高泛化能力。然而,图神经网络是半监督的,依赖于高质量的标记数据和复杂的模型,这些模型难以获得且计算成本高。为解决GNN中数据标记稀疏和模型复杂度高的挑战,将知识蒸馏(KD)[12]引入图分析中。KD是一种“师徒”(teacher - student, T-S)网络训练方法,将学习能力强的T网络学习到的软标签知识迁移到参数小、学习能力弱的S网络,以提高其性能。KD由于其简单有效的特点,被广泛应用于学术界和工业界,如计算机视觉[13]、语音识别[14]、自然语言处理[15]等。 最近,将T-S知识蒸馏框架应用于GNN的潜力已被证明。受KD在CNN上的成功启发,研究人员通过将KD与GNN相结合,为图数据或直接为GNN设计了知识蒸馏算法。该领域的第一个工作是LSP[16],通过提出局部结构保留模块,将KD应用于GCN[17],将局部图结构知识从深层的GCN教师模型提取到参数较少的浅层GCN学生模型中。随后,其他基于图的知识蒸馏方法也被提出。尽管KD方法在GNN中取得了很好的进展,但现有方法主要集中在以结构化网格数据为输入的CNN上,而对具有不规则数据处理能力的GNN的研究较少。此外,缺乏对基于图的知识蒸馏研究的全面综述。本文旨在通过对现有的图知识蒸馏工作进行系统回顾来填补这一空白。
本工作的主要贡献如下:
通过覆盖100多篇论文,首次对基于图的知识蒸馏进行了全面综述,填补了该领域的空白。从问题定义、理论分析、方法分类、实验比较、应用与展望等方面进行综述。 * 使用层次分类来系统地总结和分析基于图的知识蒸馏方法的最新进展,为每类方法提供见解(参见图1)。 * 进行了广泛的实验,比较了每类知识蒸馏方法的蒸馏效果,并进行了深入的分析。 * 讨论了现有的基于图的知识蒸馏的挑战,提出了未来的潜在研究方向和趋势,并为GNNs和KD领域的研究人员提供了有见地的指导。 * 建立了一个基于图的知识蒸馏研究的开源代码库,为该研究领域提供了有价值的参考。
本文的组织结构如下。第2节回顾了基于图的知识蒸馏,讨论了其最新进展,以及与现有研究领域的关系。第三部分对每一类基于图的知识蒸馏方法进行形式化描述,并给出相关理论。第4节总结了方法分类,包括基于图的深度神经网络知识蒸馏(graph -based Knowledge Distillation for deep neural networks, DKD)、基于图的知识蒸馏(graph -based Knowledge Distillation for graph neural networks, GKD)和基于自知识蒸馏的图知识蒸馏(Self-Knowledge Distillation, SKD),并进一步细分为基于输出层、中间层和构建图的方法。第5节比较和分析了经典的基于图的知识蒸馏算法。第6节列出了基于图的知识蒸馏方法在CV、NLP、RS和其他场景中的应用。第7节展望了基于图的知识蒸馏的未来研究方向。最后,第八部分对本文进行了总结。建立了一个开源代码库,用于基于图的知识蒸馏研究。
2. 图知识蒸馏
随着知识蒸馏技术的发展,仅从单一样本中提取信息的蒸馏方法因提供的信息有限而不再适用。为了提取不同数据样本之间丰富的关联信息,提出了基于关系的知识蒸馏方法[18 - 22,118,119],通过隐式/显式构建样本之间的关系图,充分挖掘教师网络中样本之间的结构特征知识。作为一种强大的非结构化建模工具,GNNs可以直接对图数据进行建模。因此,使用GNNs进行蒸馏可以很容易地提取和传输样本之间的图拓扑知识和语义监督信息。因此,利用图神经网络进行蒸馏可以方便地实现图拓扑结构知识和样本间语义监督信息的提取和传递。因此,将基于深度神经网络(deep neural networks, DNNs)的基于关系的知识蒸馏方法和基于GNNs的蒸馏方法统称为基于图的知识蒸馏方法。基于图的知识蒸馏旨在将教师模型中直接/间接构建的样本关系语义信息蒸馏到学生模型中,以获得更通用、更丰富、更充分的知识。 尽管GNN是一种强大的架构,在建模非结构化数据方面具有出色的性能,但其卓越的性能依赖于高质量的标签数据和复杂的网络模型。然而,标签获取困难且计算资源昂贵。因此,面对GNNs中数据标签稀疏和模型计算复杂度高的问题,如何在保证性能的前提下设计更小、更快的网络成为研究重点。基于这一思想,出现了各种图设计知识蒸馏算法。同时,由于KD在图分析任务中的优异表现,基于图的知识蒸馏的研究受到广泛关注。 文中提出了一种基于图的知识蒸馏的层次分类方法,将基于图的知识蒸馏分为基于深度神经网络的图知识蒸馏(graph based Knowledge Distillation for deep neural networks, DKD)、基于图的知识蒸馏(graph -based Knowledge Distillation for graph neural networks, GKD)和基于自知识蒸馏的图知识蒸馏(Self-Knowledge Distillation based graph -based Knowledge Distillation, SKD)。分类进一步基于蒸馏位置,包括输出层、中间层和构造的图。具体分类和代表性方法如图1所示。由于最近人们关注自知识蒸馏和GNN的结合,SKD专注于GNN模型中的自知识蒸馏方法。