图神经网络 (GNNs) 能够有效地获取图的拓扑和属性信息,在许多领域得到了广泛的研究。近年来,为提高 GNN 的效率和有效性,为 GNN 上配置知识蒸馏成为一种新趋势。然而,据我们所知,现有的应用于 GNN 的知识蒸馏方法都采用了预定义的蒸馏过程,这些过程由几个超参数控制,而不受蒸馏模型性能的监督。蒸馏和评价之间的这种隔离会导致次优结果。
在这项工作中,我们旨在提出一个通用的知识蒸馏框架,可以应用于任何预先训练的 GNN 模型,以进一步提高它们的性能。为了解决分离问题,我们提出了参数化和学习适合蒸馏 GNN 的蒸馏过程。
具体地说,我们没有像以前的大多数工作那样引入一个统一的温度超参数,我们将学习节点特定的蒸馏温度,以获得更好的蒸馏模型性能。我们首先通过一个关于节点邻域编码和预测分布的函数将每个节点的温度参数化,然后设计了一种新的迭代学习过程来进行模型蒸馏和温度学习。我们还引入了我们的方法的一个可扩展的变体来加速模型训练。
论文链接:
简介
图神经网络 (GNNs) 已经成为最先进的图上的半监督学习技术,并在过去的五年中受到了广泛的关注。数以百计的图神经网络模型已经被提出并成功地应用于各种领域,如计算机视觉、自然语言处理和数据挖掘。近年来,在图神经网络中加入知识蒸馏来达到更好的效率或效果是一种新趋势。
在知识蒸馏中,学生模型通过训练来模仿预先训练的教师模型的软预测来学习知识。从效率的角度来看,知识蒸馏可以将深层的图卷积神经网络(GCN)模型(教师)压缩为浅层模型(学生),从而实现更快的推理。从有效性的角度来看,知识蒸馏可以提取图神经网络模型(教师)的知识,并将其注入到设计良好的非图神经网络模型(学生)中,从而利用更多的先验知识,得到更准确的预测结果。
除了教师和学生的选择,蒸馏过程决定了教师和学生模型的软预测在损失函数中如何匹配,也对蒸馏后的学生对下游任务的预测表现至关重要。例如,全局超参数“温度”在知识蒸馏中被广泛采用,它软化了教师模型和学生模型的预测,以促进知识转移。
然而,据我们所知,应用于图神经网络的现有知识蒸馏方法都采用了预先定义的蒸馏过程,即只有超参数而没有任何可学习的参数。换句话说,蒸馏过程是启发式或经验式设计的,没有任何来自蒸馏学生的监督,这将分离蒸馏与评价,从而导致次优结果。针对现有的图上知识蒸馏方法的上述缺点,本文提出了一种参数化蒸馏过程的框架。
在本工作中,我们的目标是提出一个通用的知识蒸馏框架,可以应用于任何预训练过的图神经网络模型,以进一步提高其性能。注意,我们关注的是蒸馏过程的研究,而不是学生模型的选择,因此,就像 BAN 建议的那样,简单地让一个学生模型拥有与其老师相同的神经结构。为了克服蒸馏和评估之间的隔离问题,我们没有将全局温度作为超参数引入,而是创新性地提出通过蒸馏 GNN 学生的表现来学习特定节点的温度。
本工作的主要思想是为图上的每个节点学到一个特定的温度。我们通过一个关于节点邻域编码和节点预测分布的函数来参数化每个节点的温度。由于传统知识蒸馏框架存在隔离问题,经过蒸馏的学生的性能对节点温度的偏导数不存在,这使得温度参数化中的参数学习有着一定的困难。
2.1 节点分类
2.2 图神经网络