【论文翻译_知识蒸馏】Distilling Holistic Knowledge with Graph Neural Networks

请添加图片描述
(以下的“提取”都可以替换为“蒸馏”),收录于ICCV2021

摘要

知识提炼(KD)旨在将知识从一个更大的优化教师网络转移到一个更小的可学习学生网络。现有的知识发现方法主要考虑了两类知识,即个体知识和关系知识。然而,这两类知识通常是独立建模的,而它们之间的内在关联在很大程度上被忽略。充分利用学生网络学习,在保留其内在相关性的同时,整合个人知识和关系知识是至关重要的。在本文中,我们提出了基于实例间构造的属性图来提取新的整体知识。整体知识表示为一个统一的基于图的嵌入,通过使用图神经网络聚合关系邻域样本中的个体知识,通过对比方式提取整体知识来学习学生网络。在基准数据集上进行了大量实验和烧蚀研究,结果证明了该方法的有效性。该代码已发布在https://github.com/wyc-ruiker/HKD

1.介绍

深度神经网络(DNN)在各种应用中取得了巨大成功[13,29,12,28,9,40]。然而,它们的成功在很大程度上依赖于大量的计算和存储资源,而这些资源在嵌入式和移动系统中通常是不可用的。为了降低成本,同时保持令人满意的效果,知识提炼[14]被提议将知识从一个更大的训练有素的教师网络转移到一个更小的可学习的学生网络,希望转移的知识将有利于学生网络。

从教师网络中提取的知识在知识提取中起着核心作用。在现有的知识提取方法中,有两类知识得到了广泛的研究,即个体知识和关系知识。独立地从每个数据实例中提取单个知识,并提供比离散标签更有利的监督,包括Logit[14]、特征表示[31,24]和特征映射[27,39,20],等等。关系知识[25,21,23,19]是从成对的实例中提取的,这些实例对教师网络和学生网络的架构之间的差异是不变的。
请添加图片描述
图1。个人/关系/整体知识提炼之间的比较。蓝色圆圈表示教师代表,绿色圆圈表示学生代表。红色箭头表示从教师网络到学生网络的知识转移。整体KD中的黄色区域表示基于图形的统一表示。

尽管上述两类知识都取得了成功,但现有的方法都是独立地提取它们,而忽略了它们之间的内在关联。然而,独立提取的每种类型的知识都不足以用于学生网络学习,尤其是在教师网络能力有限的情况下。直观地说,个体知识和关系知识可以被视为同一教师网络的两种观点,这两种观点是自然相关的。密切相关的实例往往具有相似的个人特征和共享模式,这对于更具辨别力的学生网络学习至关重要。同时整合个人知识和关系知识,同时保留其内在相关性,对于知识提炼至关重要。

为了解决上述局限性,我们提出了基于图神经网络的整体知识提取(HKD)方法。我们引入了一种新的整体知识,它是个体知识和关系知识的结合。给定教师和学生网络学习到的特征表示和预测,我们首先为每个网络构建一个属性图,其中每个节点表示一个实例,节点属性表示学习到的特征表示,实例之间的边由预测上的K近邻(KNN)构造。受最近图形神经网络(GNNs)[12,19]在同时建模网络拓扑和节点属性方面取得成功的启发,我们通过聚集属性图中邻域样本的节点属性来提取整体知识,表示为基于统一图的嵌入。图1展示了个人知识、关系知识和整体知识之间的比较。我们还从理论上证明了现有的个体知识和关系知识在一定条件下是整体知识的特例。

考虑到以图形为基础的嵌入所代表的整体知识,一种简单的知识提取方法是直接将来自教师和学生网络的同一实例的嵌入对齐。然而,由于学生网络的性能通常低于教师网络,基于图的嵌入的强制对齐对于传递邻域中的共享模式和整体知识来说过于严格。相反,HKD旨在最大化教师和学生网络基于图形的表示之间的互信息,这是通过对比的方式使用信息估计器[22]进行优化的。整体知识从两个方面指导学生网络学习:一是学生应该学习与教师网络相似的实例特征和关系邻域;其次,学生应该从属性图中的邻域实例中捕捉相似的模式。为了进一步提高训练效率,还采用了记忆库技术。最后,我们将我们的贡献总结如下:
1.我们提出了整体知识提取(HKD),这是一种有效提取学生网络学习整体知识的新方法。

2.提出的HKD方法利用图形神经网络将个体知识和关系知识同时集成到一个统一的表示中,从而保留了它们之间的内在关系。

3.我们在基准数据集上进行了大量实验,以评估HKD的性能和整体知识的动机,结果证明了所提出的HKD方法的有效性。

2.相关工作

知识蒸馏:知识提取最初是作为一种神经网络压缩技术引入的,它可以最大限度地减少教师和学生网络输出逻辑之间的KL差异[1,14]。与离散标签相比,教师网络预测的相对概率倾向于编码类别之间的语义相似性,这对学生网络学习非常重要[14]。为了扩大其适用性,已经提出了一些后续工作,例如在logits[34,3]、中间层[27,39,4,20]或蒸馏过程[37,38]上添加正则化。

然而,上述方法独立地提取每个实例中包含的知识,但忽略了实例之间的关系,这对于实现健壮的通用学生模型至关重要。为了弥补这个缺点,关系知识提取[23]是通过提取实例知识和关系知识而提出的。给定特定的层l,GKD[17]基于内部表示的余弦相似性构建基于KNN的图,权重表示两个实例之间的接近度。然而,它要求教师和学生网络的层数相同,这并不总是令人满意的。然后,通过引入跨层的特征空间变换,提出了IRG[21]。在MHGD[19]中,使用注意网络将关系级知识提取为一个图,并通过最小化嵌入的教师和学生图之间的KL差异来优化。最近的作品[31,36]将对比学习融入其中,并取得了鼓舞人心的成果。CRD[31]通过最大化师生网络之间的相互信息来进行对比学习。SSKD[36]在教师网络和学生网络中分别进行对比学习,然后通过最小化两个网络的自监督模块输出之间的损失来优化模型。为了清楚地展示我们的方法最关键的贡献,我们没有利用中间信息,并在实验部分与依赖中间信息的方法进行比较。

图形神经网络:图神经网络(GNNs)[15,12]旨在通过从图结构数据中的邻域实例集中聚集信息来学习节点表示。学习到的表示可以建模单个特征以及实例之间的关系,这对数据理解至关重要。得益于这一特性,GNNs在网络/图形表示[42,44,43]之外的许多学习任务中取得了显著进步,包括计算机视觉[11,18]、自然语言处理[26,2]和推荐[6,5]等。尽管在其他领域取得了成功,但据我们所知,GNNs还没有被探索到知识提炼,我们是第一个这样做的。

3.前期准备

3.1. 背景和符号

给定一个数据集X={x1,x2,···,xN},来自K个类别,相应的标签Y={y1,y2,····,yN},其中N表示数据集中的样本数。我们将具有固定参数Wt的优化深度神经网络称为教师网络,将具有可训练参数Ws的相对浅层神经网络称为学生网络[14]。教师和学生网络学习到的特征表示被表示为请添加图片描述和f s∈ R ds,主要用于关系型知识提取。值得注意的是,dt和ds可能不同,尤其是当教师和学生的网络架构不同时。教师和学生网络预测的logit被表示为zt和zs,它们主要用于个人知识蒸馏。

3.2. 普通的知识蒸馏

普通知识提炼的总体思路是从教师网络预测的软目标中提炼知识[14]。软目标由Softmax功能产生,具有温度缩放功能:
请添加图片描述
式中,zi是第i类的对应对数,温度τ通常设置为1。τ的值越高,类的概率分布越平缓。然后,通过最小化教师和学生网络产生的软目标pt和ps之间的Kullback-Leibler (KL)差异来优化学生网络:
请添加图片描述

在普通蒸馏中,学生网络也接受了硬标签培训,总损失可以正式表示为:

请添加图片描述
式中λ为平衡重。L(CE)是硬标签和预测之间的交叉熵(CE)损失。

4.方法

如前所述,整体知识预计将整合个人知识和关系知识。受最近图形神经网络在同时建模网络拓扑和节点属性方面的成功启发,我们利用图形神经网络从教师网络中提取整体知识。在下面的小节中,我们将详细介绍拟议的整体知识提炼(HKD)方法。

4.1构造上下文属性图

给定一批实例,我们首先将它们输入教师网络和学生网络,得到特征表示ft,fs以及预测pt,ps。然后我们为教师网络和学生网络构建两个属性图Gt={At,Ft}和Gs={as,Fs},其中请添加图片描述是图中节点的属性,这里我们直接使用教师和学生网络学习的特征表示;At,As是基于教师和学生网络预测的预测pt、ps的属性图的相邻矩阵: 请添加图片描述
其中φ(·)是基于KNN的图形构造函数。请注意,图Gt是固定的,因为教师网络已经得到了很好的优化,而图Gs将在节点属性和图拓扑的训练期间更新。

上述定义的属性图具有以下特性:首先,与现有的关系知识提取方法构建的实例间完全连通图相比,KNN图将过滤掉最不相关的样本对。这一点尤其重要,因为在随机抽样的批次中,只有少数样本是相关的,并且为节点表示学习提供了足够的信息。其次,由于边缘是基于预测构建的,因此该图能够对类间和类内信息进行建模。来自两个高度相关类别的样本形成边缘的概率很高。最后,利用图神经网络从属性上下文图中联合提取个体知识和关系知识非常简单。

4.2整体知识蒸馏

受图神经网络在同时建模网络拓扑和节点属性方面取得巨大成功的启发,我们将拓扑自适应图卷积网络(TAGCN)[10,15]应用于属性上下文图Gt和Gs,以提取整体知识。 我们使用基于图的表示请添加图片描述请添加图片描述分别表示教师和学生的整体知识,它们的计算如下:
请添加图片描述
其中gt,gs是基于图形的表示的维度,请添加图片描述是教师网络的对角矩阵,Ds矩阵也是,Θsl和Θtl是可学习的权重,用于将第l跳的结果相加,我们在这里设置L=1。

一个好的学生网络应该通过学习类似的基于图表的Ht表示,从教师网络中提取整体知识Hs。有几种向量度量方法可用于测量它们的对齐度,包括余弦相似性、欧氏距离等。但是,这些度量方法不适用于整体知识提取,因为教师和学生网络通常具有不同的网络架构,代表能力之间存在差距。因此,直接对齐同一实例的基于图形的表示Hs和Ht可能会过于细化。为了克服这些局限性,我们使用互信息(MI)[32]来衡量从教师网络到学生网络的整体知识量。

请添加图片描述
图2。HKD方法的总体框架。精心设计了三个主要组件:图构造、图神经网络和互信息估计,以表示、定义和提取整体知识。学生模型是在地面真相标签和整体知识互信息的指导下训练的。

假设我们得到一组训练实例X,其经验概率分布为P,在将实例推送到教师和学生网络后,基于图形的表示将服从概率分布Ht∼ Pt和Hs∼Ps。 另外,我们希望通过最大化基于图形的表示Ht和Hs之间的互信息来训练学生网络:
请添加图片描述
其中I(·)表示两个随机变量之间的互信息。受最近互信息估计成功的启发,我们使用InfoNCE估计器[22]来测量互信息,其定义如下:
请添加图片描述
其中f(·)是向量相似性函数,我们在这里使用余弦相似性,请添加图片描述是教师网络和学生网络学习的实例的基于图形的表示。整体知识蒸馏的目标可以表述为:

请添加图片描述
其中β是线性组合的权重。

4.3有效训练

由于InfoNCE估计器使用数据集中的所有实例作为负样本,因此对于大规模数据集,使用图神经网络计算整体知识提取损失的计算成本很高。为了避免在训练期间重新计算每个实例的表示,使用了广泛使用的内存库[35]策略来存储它们。然而,在HKD方法中,属性上下文图Gt和Gs是在具有随机抽样实例的小批量上构建的。因此,基于图的表示Ht和Hs反映了不同属性图中的整体知识,这些属性图不应存储在内存库中,而应作为负样本。为了克服这一局限性,同时提高HKD方法的效率,我们为教师网络和学生网络维护了两个内存库,其中存储了特征表示ft,fs,并用作训练的负样本。蒸馏损失的近似公式如下:
请添加图片描述
HKD方法的整体框架如算法1所示。:
请添加图片描述

4.4. 用现有方法分析

为了进一步说明HKD的普遍性,我们提供了一个理论分析,即在一定条件下,许多现有的知识提取方法可以被视为我们方法的特例。

基于特征的KD方法:基于特征的知识发现方法是目前比较流行的方法,它只提取教师网络学习到的特征表示。与HKD相比,这些方法[33,14,39,24]忽略了实例之间的关系,这可以通过在HKD中设置L=0或A=diag(N)来实现:
请添加图片描述
其中diag(·)是对角矩阵。

关系KD方法”:通过设置特征矩阵Ht、Hs∈ RN×N,可以很容易地获得这些方法[23、25、33、31]捕获的实例的成对关系作为特征表示的相似性Ft,Fs:
请添加图片描述
其中φ(·)是向量相似函数。对于不估计互信息的方法,它们可以被视为方程(8)的特殊形式,没有负样本。

5.实验

在本节中,我们首先在基准数据集上进行模型压缩和表示可转移性实验,以评估所提出的HKD方法。然后,我们对图构造和图神经网络进行了一些研究,以验证它们的有效性。最后,我们对HKD方法的超参数敏感性进行了实验分析。

5.1基线

比较了最近提出的几种知识提取方法,这些方法可分为两类。它们的主要区别如图1所示。

(1) 个体知识提取:这组方法捕获个体实例中包含的知识,包括vanilla KD[14]中的Logit、T[39]中的注意图,以及CRD[31]和SSKD[36]中的特征表示。
(2) 关系知识提取:这组方法捕获成对的关系知识,包括PKT[24]、RKD[23]、CCKD[25]、SP[33]。我们使用这些方法的官方实现,并遵循标准的实验设置。对于SSKD方法,我们去除了数据增强,使训练样本与其他方法一致。

5.2. 模型压缩

实验设置:模型压缩是知识提炼最基本的应用之一。学生网络是通过从固定的教师网络和地面真相标签中提取知识来学习的。我们将我们的方法与在CIFAR100、TinyImageNet和ImageNet数据集上使用不同教师和学生网络体系结构的几项最新工作进行了比较,分别如表1、表2和表3所示。所有结果均以分类准确度的均值和方差报告,共五次。为了获得量化改进的直观感觉,我们采用平均相对改进(ARI)作为之前的工作[31]:
请添加图片描述
其中M是不同体系结构组合的数量,AcciHKD、AcciBKD、AcciSTU是指HKD、基线知识提炼方法和定期培训的学生网络的准确性。
请添加图片描述

后面见原文。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将神经网络中的知识进行提取,是一种将模型的信息转化为更为简洁和易于理解形式的过程。 神经网络是一种由许多神经元组成的复杂计算模型,它们通过学习和调整权重来解决各种问题。然而,神经网络通常具有大量的参数和复杂的结构,这使得它们难以解释和应用到其他领域。因此,我们需要一种方法来提取和总结神经网络中的知识,以便更好地理解和应用这些模型。 在进行神经网络知识提取时,有几种常见的方法。一种常见的方法是使用可视化技术,如热力图、激活图和网络结构图等,来可视化网络中不同层的活动模式。这些可视化技术能够帮助我们发现网络中的模式和特征,并从中推断出网络的知识。 另一种方法是使用特征提取技术,如卷积神经网络(CNN)的滤波器、自动编码器的隐藏层和循环神经网络(RNN)的隐状态等,来提取网络学习到的重要特征。这些重要特征可以帮助我们更好地理解网络学习到的信息,并将其应用到其他问题中。 此外,还有一种被称为知识蒸馏的技术,它通过训练一个较小的模型来提取大型模型中的知识。知识蒸馏通过引入目标函数和额外的训练策略,使小模型能够学习到大模型中的重要知识,并在不损失太多性能的情况下将其应用到实际问题中。 总而言之,提取神经网络中的知识是一项重要任务,它能够帮助我们更好地理解和应用这些复杂的模型。通过可视化、特征提取和知识蒸馏等方法,我们能够从神经网络中提取出有用的信息,并将其应用到其他领域或解决其他问题中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值