知识蒸馏论文精选——《Graph-Free Knowledge Distillation for Graph Neural Networks 》

(GFKD)无图知识蒸馏

《Graph-Free Knowledge Distillation for Graph Neural Networks 》 2021

作者是 Xiang Deng 和 Zhongfei Zhang,来自纽约州立大学宾汉姆顿分校

论文地址见文末

摘要

​ 知识蒸馏(Knowledge Distillation, KD)通过强制学生网络模仿在训练数据上预训练老师网络的输出,从而将知识从老师网络转移到学生网络。然而,在许多情况下,由于数据规模大、隐私或保密等原因,数据样本并不总是容易获取。对于卷积神经网络(CNNs),尽管已经做出了许多努力来解决这个问题,但这些基于CNN的方法往往忽略了图神经网络(GNNs),后者**处理的是非网格数据,具有不同的拓扑结构,位于离散空间内。**由于它们输入之间的固有差异,这些基于CNN的方法并不适用于GNNs。**在本文中,据我们所知,我们首次提出了一种专门的方法,用于在没有图数据的情况下从GNN中提取知识。我们提出的无图知识蒸馏(Graph-Free Knowledge Distillation, GFKD)通过将图拓扑结构建模为多变量伯努利分布来学习图拓扑结构,以实现知识转移。**然后,我们引入了一个梯度估计器来优化这个框架。本质上,关于图结构的梯度是仅通过使用GNN前向传播而不是反向传播来获得的,这意味着GFKD与现代GNN库(如DGL和Geometric)兼容。此外,我们提供了处理图数据或GNNs中不同类型的先验知识的策略。广泛的实验表明,GFKD在没有训练数据的情况下从GNNs中提取知识方面达到了最先进的性能。

代码: https://github.com/Xiang-Deng-DL/GFKD

1、引言

KD的目的是将一个训练有素的教师网络中的知识转移到一个更紧凑、更快速的学生网络中,以便在资源有限的设备上部署。然而,KD的一个强假设是训练数据集或某些代表性样本是可用的,这在数据不可用的情况下严重限制了其应用。

作者指出,尽管在卷积神经网络(CNNs)上已经做出了一些努力来解决数据不可用的问题,但在处理非网格数据和具有不同拓扑结构的离散空间数据的图神经网络(GNNs)上,这些基于CNN的方法并不适用。这是因为GNNs的输入不仅包括节点特征,还包括图的拓扑结构,而GNN的输出对于输入图的拓扑结构是不可见的

为了解决这个问题,作者提出了一种名为图自由知识蒸馏(Graph-Free Knowledge Distillation, GFKD)的新方法,据他们所知,这是第一个专门为没有图数据的GNN量身定制的数据无关知识蒸馏方法。**GFKD通过模拟图的拓扑结构的多变量伯努利分布来学习图结构,并通过引入梯度估计器来优化框架。**这种方法避免了直接对图结构进行反向传播,因此与现有的GNN库兼容。

总结贡献:

  1. 我们引入了一个新的框架,即GFKD,用于从没有可观察的图数据的GNN中提取知识。据我们所知,这是第一个专门为GNN定制的无数据KD方法。我们还提供了处理图数据不同先验的策略(或正则化器),包括如何处理one - hot特征和degree特征
  2. 我们利用多元伯努利分布开发了一种从预训练GNN中学习图结构的新策略,并引入梯度估计器对其进行优化,为从无可观测图的预训练GNN中提取知识铺平了道路。值得注意的是,当前的GNN库不支持输入图结构的梯度计算。GFKD避免了这一问题,因为GFKD中的结构梯度只使用GNN前向传播,而不使用后向传播。GFKD因此得到了这些库的支持。
  3. 我们使用两种不同的GNN架构,在不同的设置下,在不同领域的6个基准数据集上对GFKD进行了评估,并证明了GFKD在不同的数据集上都取得了最好的性能。

one - hot:

对于一个具有 n 个可能类别的离散特征,One-hot编码会创建一个长度为 n 的二进制向量,向量中只有一个位置是1,其余位置都是0。这个1表示该类别的存在,而0表示其他类别的缺失。

2、相关工作

  1. 图神经网络(GNNs):GNNs 是一种专门处理图结构数据的深度学习模型,近年来在多个应用领域显示出巨大潜力。作者们提到了几种不同的GNN架构,包括使用Chebyshev多项式、Weisfeiler-Lehman测试泛化的GINs,以及其他处理节点特征和拓扑结构的不同策略的模型。
  2. 知识蒸馏(KD):KD 是一种技术,旨在将教师模型的知识转移到学生模型中。Hinton等人在2015年提出了KD的概念,通过惩罚教师和学生之间软化的对数几率差异来实现。后续工作如FitNet和AT通过特征对齐进一步协助知识转移。还有研究提出了保持局部结构的模块,专门用于从GNN中提取知识。
  3. 数据无关的知识蒸馏:由于训练数据可能不可用,研究者们提出了不依赖于训练图像的知识蒸馏方法。这些方法通过生成假图像来实现知识转移,例如使用元数据、生成器-解码器框架、生成对抗网络(GANs)或通过逆向传播CNN和使用批量归一化统计数据生成假图像。
  4. GNNs的数据无关知识蒸馏尽管上述方法在CNNs上取得了成功,但它们并不适用于处理非网格数据的GNNs。GNNs的数据不仅包括特征,还包括图的拓扑结构。因此,开发一种专门针对GNNs的数据无关KD方法是必要且迫切的。

3、框架

在这一部分中,我们首先对GNNs进行了简要的概述。然后,我们提出了GFKD和处理关于图数据的不同类型先验知识的策略。最后,介绍了GFKD的优化方案。

3.1 图神经网络

与处理网格数据的CNNs不同,GNNs可以将非网格数据作为输入。一个非网格数据可以表示为一个图G = { V,E }和一组特征h,其中V

你可能感兴趣的:(GKD-Output,layer,人工智能,数据挖掘,机器学习,深度学习,神经网络,cnn,pytorch)