Loading [MathJax]/jax/output/CommonHTML/config.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WSDM23 | 学习蒸馏图神经网络

WSDM23 | 学习蒸馏图神经网络

作者头像
Houye
发布于 2023-09-04 05:28:22
发布于 2023-09-04 05:28:22
4430
举报
文章被收录于专栏:图与推荐图与推荐

今天介绍的是由北京邮电大学、昆士兰大学等高校机构共同发表在WSDM 2023会议上的一篇论文:

Learning to Distill Graph Neural Networks

01 前言

图神经网络(GNNs)可以有效地获取图的拓扑和属性信息,在许多领域得到了广泛的研究。近年来,为了提高GNN的效率和有效性,将GNN与知识蒸馏相结合成为一种新趋势。然而,现有的应用于GNN的知识蒸馏方法都采用了预定义的蒸馏过程,这些过程由几个超参数控制,而不受蒸馏模型性能的监督。蒸馏和评价之间的这种隔离会导致次优结果。在这项工作中,作者提出一个通用的知识蒸馏框架,可以应用于任何预训练的GNN模型,以进一步提高它们的性能。为了解决分离问题,作者提出了参数化和学习适合GNN蒸馏的蒸馏过程。具体地说,本文不像以前的大多数工作那样引入统一的温度超参数,本文通过学习节点的特定蒸馏温度来获得更好的蒸馏模型性能。作者首先通过其邻域的编码和预测函数来参数化每个节点的温度,然后设计了一种新的迭代学习过程用于模型蒸馏和温度学习。作者还引入了一种可扩展的方法来加速模型训练。在5个基准数据集上的实验结果表明,本文提出的框架可以应用于5个流行的GNN模型,并持续提高其预测精度,平均相对增强3.12%。此外,可扩展的变体模型以1%的预测精度为代价,使训练速度提高8倍。

图神经网络(GNNs)已经成为在图上进行半监督学习的最先进的技术,在过去的五年中受到了广泛的关注。数百个GNN模型已经被提出并成功应用于各个领域,例如计算机视觉自然语言处理数据挖掘。近年来,为GNN配置知识蒸馏来加速模型推理,并利用无标记数据从而提高其效率或有效性是一种新兴趋势。具体来说,在典型的知识蒸馏中,轻量级模型(即学生模型)通过训练来模仿已训练模型(即教师模型)的软预测来学习知识。从效率的角度来看,可以利用知识蒸馏将一个较深的GCN模型压缩为较浅的模型,从而更快地推理。从有效性的角度来看,知识蒸馏可以提取GNN模型(教师模型)的知识,并将其注入到非GNN模型(学生模型)中,以便使用更多的先验知识和未标记的数据进行更精确的预测。

除了教师和学生的选择外,决定教师和学生模型的软预测在损失函数中如何匹配的蒸馏过程对蒸馏学生在下游任务上的预测性能也至关重要。例如,全局超参数“温度”在知识蒸馏中被广泛采用,它软化了教师模型和学生模型的预测,以促进知识的迁移。然而,现有的GNN模型上应用的知识蒸馏方法均采用预定义的蒸馏过程,即只有超参数但没有任何可学习参数。换句话说,蒸馏过程是启发式或经验式设计的,没有任何来自蒸馏学生表现的监督,这将蒸馏过程与结果评估隔离,从而导致次优结果。

在这项工作中,作者的目标是提出一个通用的知识蒸馏框架,可以应用于任何预训练的GNN模型,以进一步提高它们的性能。请注意,本文关注的是蒸馏过程,而不是学生模型的选择,因此简单地让学生模型具有与BAN所建议的老师相同的神经结构。为了克服蒸馏和评估之间的隔离问题,作者没有将全局温度作为超参数引入,而是创新地提出了由蒸馏GNN学生的性能监督的节点特定温度。具体来说,通过其邻域编码和预测的函数来参数化每个节点的温度。由于传统知识蒸馏框架中存在隔离问题,蒸馏学生的成绩对节点温度的偏导数不存在,使得在温度参数化中学习参数变得非平凡。因此,本文设计了一种新的迭代学习过程,交替执行准备、蒸馏和学习步骤来进行参数训练。

在准备步骤中,作者将利用当前参数计算每个节点的温度,并建立基于节点特定温度的知识蒸馏损失;在蒸馏步骤中,学生模型的参数将根据蒸馏损失进行更新;在学习步骤中,温度建模中的参数将更新,以提高蒸馏GNN学生的分类精度。此外,作者引入了一种可扩展的方法,通过启发式地更新节点特定的温度。

02 预备知识

2.1 节点分类

节点分类是在给定有标记节点和图结构的情况下,对图中未标记节点进行分类的一种典型的图上半监督学习任务,被广泛应用于许多GNN模型的评估中。

形式上,给定一个连通图 , 是顶点集, 是边集,节点分类的任务是基于图结构 有标签的节点集 和节点特征 来预测没有标签的节点集 中每个节点 的标签。其中矩阵 的每一行 示节点 的 维特征。设 为节点标签的集合,则每个节点的真实标签可以表示为一个 维的独热向量 。

2.2 图神经网络

图神经网络可以通过迭代聚合邻居信息,即消息传递机制,将每个节点 编码为 维logit向量 。在本文中,作者提出的算法不是针对特定的图神经网络模型设计的,而是可以应用于任何图神经网络。因此,简单地将图神经网络编码器以黑盒形式描述化为:

其中 是图神经网络中的可学习参数, 是在softmax函数归一化之后的预测标签分布。然后图神经网络会对每个有标签的节点最小化该节点的真实标签与预测标签之间的距离,通常采用交叉熵损失来训练参数 :

2.3 知识蒸馏

在本工作中,本文关注的是蒸馏过程的研究,而不是学生模型的选择。因此,只需让教师模型和学生模型具有相同的神经结构,并分别表示为GNNTGNNS参数分别为 和 。给定教师模型的预训练参数,通过对GNNT GNNS之间的软预测进行对齐,训练学生模型的参数。从形式上讲,知识蒸馏框架旨在优化: 其中第一项是学生预测和教师预测之间的交叉熵,第二项是 中节点的学生预测与真实标签的交叉熵。许多知识蒸馏方法会引入额外的温度超参数来软化教师和学生的预测:

其中是温度超参数。温度等于1时对应原始的softmax操作。温度越高,预测就越软(趋向均匀分布),而温度越低,预测就越硬(趋向独热分布)。在最流行的蒸馏框架[中,所有的温度都被设置为相同的超参数,即为每个节点𝑣设置。通过调整全局温度超参数,然后对经过蒸馏的学生模型进行评估,并期望其性能优于教师。

03 方法

图1 (a)用于蒸馏GNN的典型框架;(b)本文提出的蒸馏框架

3.1 参数化温度

直接为每个节点指定一个自由参数作为节点特定温度将导致严重的过拟合问题。因此,假设具有相似编码和邻域预测的节点应该具有相似的蒸馏温度。在实际应用中,每个节点 的温度可以通过一个函数来参数化,该函数需要用到以下特征:(1)学生的logit向量,它直接表征了学生模型当前的预测状态;(2) Logits向量的L2范数,由于softmax函数中的指数算子,较大的范数通常表示较硬的预测分布;(3)中心节点邻居的预测熵,描述了节点邻居的标签多样性。直观上,上述所有特性都会影响模型预测的置信度,因此在温度参数化中都应考虑。形式上,作者将所有学生模型的温度设置为1,以实现更精确的预测,并将教师温度参数化:

作者使用教师而不是学生来建模邻居的预测熵,以获得更好的数值稳定性。在实验部分将研究每个连接组件的影响,并讨论学习的温度。此外,为了避免梯度爆炸或消失的问题,作者还通过一个基于sigmoid操作的函数 ,将温度限制在 范围内。注意,用来建模温度的其他特征也可能存在,作者发现使用的三个特征足以提高性能,并且这三个特征都是有用的。

3.2 迭代学习过程

作者将标记的节点集划分为两个不相交的节点集 和 。 在损失函数的第二项中用于蒸馏, 于评估蒸馏的学生模型和学习节点温度。蒸馏部分的损失可以写成:

评估蒸馏的学生和监督温度的损失是:

由于蒸馏和评估之间的差距,评估损失只与学生模型的参数有关,评估损失对温度参数的偏导数不存在,这使它不可能通过反向传播来学习温度。为了解决这个问题,作者提出了一个新的迭代学习过程,交替执行以下准备、提炼和学习步骤: 准备步骤:首先计算每个节点 的温度,然后设定好蒸馏损失。蒸馏步骤:对于模型蒸馏,作者通过单步反向传播来更新学生模型参数:

其中 是蒸馏过程的学习率。学习步骤:作者用更新之后的学生参数计算评估损失,然后通过链式规则在温度参数上进行反向传播:

其中 是蒸馏过程的学习率。这里作者将评估损失对温度参数的偏导分解为评估损失对学生参数的偏导和学生参数对温度参数的偏导的乘积,这两项都可以分别由上述式子的偏导计算得到。通过迭代执行准备、蒸馏和学习步骤,可以训练参数化的节点特定温度,从而提高蒸馏学生的预测性能。整个算法的伪代码如下:

表1 DPK整体伪代码

04 实验

作者在图像分类和目标检测方面进行了广泛的实验。此外,还对所提出的方法进行了各种消融实验和数据分析。此外作者的训练数据与代码是公开提供的以供再现。

3.1 图像分类

作者在CIFAR-100和ImageNet数据集上评估DPK方法进行图像分类的性能。作者通过将DPK与其他多种基线模型对比,证明了模型的有效性,实验结果如表2,3所示:

表2 CIFAR-100验证集上的结果

表3 ImageNet验证集上的结果

表2显示了CIFAR-100验证集上,同构师生对方法的top-1准确率。用粗体突出显示最佳模型结果。同时表3在大规模的图像数据集ImageNet进行了实验,显示了由ResNet-34指导的ResNet-18的top-1和top-5的准确率。结果表明,DPK在性能上优于其他基线。

3.2 更好的老师,更好的学生

上述实验表明,DPK在普遍的学生老师模型对中表现良好。在此,作者展示了DPK可以进一步改进与更好的教师。如图2所示:

图2 更好的老师,更好的学生

如图2所示:通过逐步替换较大的教师模型,DPK训练的学生模型的准确性不断提高,而其他算法训练的模型性能不断波动。同时,DPK在每个阶段都超过了它对应的方法,并逐步扩大了性能差距。需要注意的是,给定学生的表现逐渐饱和是一个合理的现象,但表现的波动会在实际应用中造成许多困难。

3.3 消融实验

在本节中,作者提供了广泛的消融研究来分析DPK的每个成分的影响。实验在ImageNet上进行分类任务,采用ResNet34和ResNet18作为教师和学生。

掩码比:特征掩码是DPK的一个关键组成部分,表4报告了不同掩码比下不同DPK变体的结果:

表4 不同掩码比例消融实验

实验结果表明从15%到95%的广泛的掩码比可以为学生实现性能的提高。这意味着教师提供的先验知识非常有利于学生的网络学习。此外不同师生对下的最优掩模比并不一致,例如55%的ResNet-18和ResNet-34表现最好,而ResNet-18和ResNet-101的最优掩模比为75%。表4还显示了学生使用所提出的动态掩码策略获得了最好的准确性,这表明了所提出的动态掩码策略对于自动选择掩码比例的必要性和有效性。

先验知识:表5阐述了整合教师先验知识在构建混合学生特征中的重要性:

表5 先验知识的消融实验

具体来说,使用零填充和可学习的掩码来发挥教师的特征在掩码位置上的作用。结果表明,没有教师提供的先验知识会导致较差的表现,因为这加重了从学生到教师的特征模仿的负担。这有力地证明了通过特征掩码来证明提供来自教师的先验知识的有效性。

05 结论

在本文中,作者提出了一种新的知识蒸馏框架LTD,可以应用于任何预训练的GNN模型,以进一步提高其预测性能。作者没有像以前的大多数工作那样引入一个全局温度超参数,而是创新地提出通过蒸馏学生的表现来学习节点特定的蒸馏温度。具体而言,作者通过邻域编码和预测情况的函数来参数化每个节点的温度,并设计了一种新的迭代学习过程,用于模型提取和参数学习。作为一种成本有效的选择,LTD的可扩展变体提出了启发式更新节点特定温度。作者在五个基准数据集上进行了实验,并表明本文提出的框架可以成功地应用于五个流行的GNN模型。大量的研究进一步证明了该方法的有效性。

论文链接:

https://dl.acm.org/doi/abs/10.1145/3539597.3570480

代码链接:

https://github.com/BUPT-GAMMA/LTD

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图神经网络与推荐系统 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【AI系统】知识蒸馏原理
本文将介绍知识蒸馏(Knowledge Distillation, KD)的原理,这是一种通过从大型的教师模型向小型的学生模型转移知识来实现模型压缩和优化的技术。知识蒸馏的核心思想是利用教师模型在大量数据上积累的丰富知识,通过特定的蒸馏算法,使学生模型能够学习并吸收这些知识,从而达到与教师模型相似的性能。
用户11307734
2024/12/05
2760
知识蒸馏:如何用一个神经网络训练另一个神经网络
如果你曾经用神经网络来解决一个复杂的问题,你就会知道它们的尺寸可能非常巨大,包含数百万个参数。例如著名的BERT模型约有1亿1千万参数。
小白学视觉
2022/02/14
5260
知识蒸馏:如何用一个神经网络训练另一个神经网络
在神经网络中提取知识:学习用较小的模型学得更好
在传统的机器学习中,为了获得最先进的(SOTA)性能,我们经常训练一系列整合模型来克服单个模型的弱点。但是,要获得SOTA性能,通常需要使用具有数百万个参数的大型模型进行大量计算。SOTA模型(例如VGG16 / 19,ResNet50)分别具有138+百万和23+百万个参数。在边缘设备部署这些模型是不可行的。
deephub
2020/11/09
8870
在神经网络中提取知识:学习用较小的模型学得更好
突破深度学习难题 | 基于 Transformer ,解决脉冲神经网络(SNN)的性能限制 !
基于事件的相机是受生物启发的传感器,它们异步捕捉视觉信息,实时报告亮度变化[1, 2]。与传统相机相比,基于事件的传感器的主要优势包括触发事件之间的低延迟[3],低功耗[4]和高动态范围[5]。这些优势直接来自于硬件设计,基于事件的相机已经被应用于各种领域,如三维扫描[6],机器人视觉[7]和汽车工业[8]。然而,在实践中,基于事件的传感器捕捉到的是独特的脉冲数据,这些数据编码了场景中光强变化的信息。数据中的噪声极高,且缺乏对这些数据的通用处理算法,以提供与传统数字相机数据上的传统视觉算法相当的能力。
集智书童公众号
2024/05/10
2.2K0
突破深度学习难题  | 基于 Transformer ,解决脉冲神经网络(SNN)的性能限制 !
惊艳!定制 MiniResEmoteNet 用于可用性测试,学生模型A准确率76.33%,超越先进方案 !
面部表情识别(FER)已成为计算机视觉领域的关键研究领域,在人与计算机交互、情感分析和可用性测试等方面具有重要应用。嘴唇、牙齿、皮肤、头发、颧骨、鼻子、脸型、眉毛、眼睛、下颌线和嘴巴等面部组件的细微变化使得FER任务变得复杂。
未来先知
2025/03/17
960
惊艳!定制 MiniResEmoteNet 用于可用性测试,学生模型A准确率76.33%,超越先进方案 !
自动多步蒸馏(AMD) | 突破大规模视觉模型压缩的效能界限 !
视觉领域的基础模型( 如 BiT ,ViT ,Swin,Florence )因其在一众任务中的革命性表现而最近受到了广泛关注。特别是像ViT-Large(61.6 G FLOPS)和 Swin-Large (103.9 G FLOPS)这样的基于 Transformer 架构的模型,它们代表了一类通用的视觉基础模型,并取得了前所未有的成功,相比于卷积神经网络(CNNs)如ResNet18 (1.8 G FLOPS),它们的操作要复杂得多。然而,随着模型规模的不断扩大以提高性能,它们固有的高复杂度成为了在低功耗处理器和移动设备上部署的瓶颈,这些设备通常计算能力有限。
AIGC 先锋科技
2024/07/20
2140
自动多步蒸馏(AMD) | 突破大规模视觉模型压缩的效能界限 !
一个既能做CV任务,也能做NLP任务的Transformer模型!谷歌&UCLA提出统一的基础模型
本文分享论文『Towards a Unified Foundation Model: Jointly Pre-Training Transformers on Unpaired Images and Text』,由谷歌& UCLA 联合提出统一的基础模型,是一个既能做 CV 任务,也能做 NLP 任务的 Transformer 模型!
CV君
2022/01/20
5230
一个既能做CV任务,也能做NLP任务的Transformer模型!谷歌&UCLA提出统一的基础模型
视频 | NeurIPS 2019分享:华为诺亚方舟提出基于少量数据的神经网络模型压缩技术
在上周四的第二期分享中,华为诺亚方舟实验室研究员许奕星为大家详细解读了大会接收的这篇 Spotlight 论文《Positive-Unlabeled Compression on the Cloud》。
机器之心
2019/12/06
6890
超越KL!大连理工发布Wasserstein距离知识蒸馏新方法|NeurIPS 2024
自Hinton等人的开创性工作以来,基于Kullback-Leibler散度(KL-Div)的知识蒸馏一直占主导地位。
新智元
2025/02/15
1190
超越KL!大连理工发布Wasserstein距离知识蒸馏新方法|NeurIPS 2024
BAM!利用知识蒸馏和多任务学习构建的通用语言模型
在今年年初,微软发布了一个多任务自然语言理解模型,它在通用语言理解评估基准 GLUE 上取得了当时最好的效果:11 项 NLP 基准任务中有 9 项超过了 BERT。至此,各种 NLP 预训练方法都被提了出来,GLUE 基准也出现越来越多的新研究。
机器之心
2019/04/09
1.2K0
BAM!利用知识蒸馏和多任务学习构建的通用语言模型
RMIT&阿里&UTS&中山提出Target-aware Transformer,进行one-to-all知识蒸馏!性能SOTA
本文分享 CVPR 2022 Oral 的一篇论文『Knowledge Distillation via the Target-aware Transformer』,由RMIT&阿里&UTS&中山提出Target-aware Transformer,进行one-to-all知识蒸馏!性能SOTA!
CV君
2022/09/01
5420
RMIT&阿里&UTS&中山提出Target-aware Transformer,进行one-to-all知识蒸馏!性能SOTA
神经网络中的蒸馏技术,从Softmax开始说起
本报告讨论了非常厉害模型优化技术 —— 知识蒸馏,并给大家过了一遍相关的TensorFlow的代码。
zenRRan
2020/09/24
1.9K0
神经网络中的蒸馏技术,从Softmax开始说起
机器学习:知识蒸馏(Knowledge Distillation,KD)
知识蒸馏(Knowledge Distillation,KD)作为深度学习领域中的一种模型压缩技术,主要用于将大规模、复杂的神经网络模型(即教师模型)压缩为较小的、轻量化的模型(即学生模型)。在实际应用中,这种方法有助于减少模型的计算成本和内存占用,同时保持相对较高的性能和准确率。本文将详细介绍知识蒸馏的原理、C++实现代码、以及其在实际项目中的应用。
用户11289931
2024/10/16
5.7K0
机器学习:知识蒸馏(Knowledge Distillation,KD)
WSDM'23 推荐系统论文梳理
WSDM'23已公布录用结果,共收到投稿690篇,录用123篇,录用率为17.8% ,完整录用论文列表见WSDM'23 Accepted Papers。
枫桦
2022/12/17
1.6K0
深度学习知识蒸馏的研究综述
【导读】大家好,我是泳鱼。知识蒸馏用大白话说就是将一个大神经网络模型的知识转移到另外一个小模型上面,得到一个“小而美”的模型。本文就近些年来知识蒸馏的主要研究成果进行梳理并加以总结,分析该领域所面临的挑战,详细阐述知识蒸馏的学习框架,从多种分类角度对知识蒸馏的相关工作进行对比和分析,文末附相关论文下载。
算法进阶
2023/09/25
2.5K0
深度学习知识蒸馏的研究综述
图神经网络加速综述: 算法、系统和硬件
GNN在许多任务上实现了最先进的性能,但在处理具有大量数据和严格延迟要求的实际应用程序时,面临可扩展性挑战。为了应对这些挑战,已经进行了许多关于如何加速GNN的研究。这些加速技术涉及GNN的各个方面,从智能训练和推理算法到高效系统和定制硬件。本综述提供了GNN加速的分类,回顾了现有的方法,并提出了未来的研究方向。
算法进阶
2024/02/17
1.2K0
图神经网络加速综述: 算法、系统和硬件
ICML 2018 | 再生神经网络:利用知识蒸馏收敛到更优的模型
作者:Tommaso Furlanello等 机器之心编译 参与:王淑婷、思源 知识蒸馏将知识从一个复杂的机器学习模型迁移到另一个紧凑的机器学习模型,而一般紧凑的模型在性能上会有一些降低。本文探讨了同等复杂度模型之间的知识迁移,并发现知识蒸馏中的学生模型在性能上要比教师模型更强大。 在一篇关于算法建模的著名论文(Breiman 等,2001)中,Leo Breiman 指出,不同的随机算法过程(Hansen & Salamon,1990;Liaw 等,2002 年;Chen & Guestrinn,201
机器之心
2018/06/12
1.5K0
图神经网络的解释性综述!
图神经网络的可解释性是目前比较值得探索的方向,今天解读的2021最新综述,其针对近期提出的 GNN 解释技术进行了系统的总结和分析,归纳对比了该问题的解决思路。作者还为GNN解释性问题提供了标准的图数据集和评估指标,将是这一方向非常值得参考的一篇文章。
Datawhale
2021/05/07
1.3K0
万字综述 | 一文读懂知识蒸馏
近年来,深度神经网络在工业界和学术界都取得了成功,尤其是在计算机视觉任务方面。深度学习的巨大成功主要归因于其可扩展性以编码大规模数据并操纵数十亿个模型参数。但是,将这些繁琐的深度模型部署在资源有限的设备(例如,移动电话和嵌入式设备)上是一个挑战,这不仅是因为计算复杂性高,而且还有庞大的存储需求。为此,已经开发了多种模型压缩和加速技术。作为模型压缩和加速的代表类型,知识蒸馏有效地从大型教师模型中学习小型学生模型。它已迅速受到业界的关注。本文从知识类别,训练框架,师生架构,蒸馏算法,性能比较和应用的角度对知识蒸馏进行了全面的调查。此外,简要概述了知识蒸馏中的挑战,并讨论和转发了对未来研究的评论。
AI异构
2020/12/22
16.4K0
华为开源 GhostNetV3 | 优化边缘计算,性能显著提升、超越 MobileNet !
在移动设备上仅用269MFLOPs和14.46ms的延迟,就达到了79.1%的top-1准确率,大幅超过了其通常训练的对应模型。此外,作者的观察还可以扩展到目标检测场景。 关注公众号,私信「获取代码」获取 PyTorch代码和预训练权重。
公众号-arXiv每日学术速递
2024/04/25
1.9K0
华为开源 GhostNetV3 | 优化边缘计算,性能显著提升、超越 MobileNet !
推荐阅读
相关推荐
【AI系统】知识蒸馏原理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档