【论文笔记_知识蒸馏】Adaptive multi-teacher multi-level knowledge distillation

本文介绍了一种新颖的自适应多教师多级知识提炼学习框架AMTML-KD,它能根据实例调整教师重要性,融合高级知识(软目标)和中级知识(提示)。实验结果显示,AMTML-KD在CIFAR10和CIFAR100数据集上显著优于竞争者,证实了其在知识整合和模型性能方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

请添加图片描述
2020年的论文。

摘要

知识提炼(KD)是一种有效的学习范式,通过利用从教师网络中提炼的额外监督知识来提高轻量级学生网络的性能。大多数开创性研究要么在学习方法上只向一名教师学习,忽视了一名学生可以同时向多名教师学习的潜力,要么简单地将每位教师视为同等重要,无法揭示教师对具体例子的不同重要性。为了弥补这一差距,我们提出了一种新的自适应多教师多级知识提炼学习框架(AMTML-KD),这包括两个新的见解:(i)将每个教师与潜在的表示相关联,以自适应地学习实例级教师重要性权重,从而获得综合软目标(高级知识)和(ii)使中级提示(中级知识)能够从多个实例中收集由教师提出多组提示策略。因此,一个学生模型可以通过AMTML-KD从多个教师那里学习多层次的知识。在公开数据集上的大量结果表明,拟议的学习框架确保学生取得比强大竞争对手更好的成绩。

1.介绍:

我们提出了一个新的自适应多教师多级知识提取学习框架AMTML-KD,其中知识涉及软目标的高级知识和来自多教师网络的提示的中级知识。我们认为,融合的知识对于培养学生网络更加全面和有效。具体来说,对于高层次知识,我们首先将一个潜在表征与每个教师相关联,以表明其特征,并基于教师表征和从学生模型中获得的实例表征,自适应地确定不同教师对于特定实例的重要性权重。这些学习到的权重用于相应教师软目标的加权组合。对于中间层知识,我们提出了一种多组提示策略,让每个教师的中间层负责学生网络中的一组层。它可以被视为FitNet的一个扩展,用于向多名教师学习。通过这种方式,每个教师都可以将其深层特征表示转移到学生的中间层。总之,我们的主要贡献如下:
1.我们开发了一个新的蒸馏学习框架AMTML-KD,这是第一个解决从多个教师那里自适应学习多层次知识的框架。
2.我们提出了一种计算方法来确定整合软目标的实例级教师重要性权重,以及一种多组提示策略来转移中间级知识。
3.我们在几个公共数据集上进行了大量实验,验证了AMTML-KD的有效性及其主要组件带来的好处。

2.相关工作

与本文最相关的研究如下:[6]手动调整每位教师的权重,这既昂贵又不自动。[28]在一个更一般的环境中,平等地融合了多名教师的知识。不幸的是,由于它假设每个教师都同等重要,并通过平均不同教师网络的软目标来获得综合知识,因此无法捕捉不同教师对每个数据实例的不同重要性。另外两项研究[31,29]通过基本蒸馏学习的理念,但不考虑任何老师的指导,对每个学生进行培训,这与我们的调查是正交的。

3.提出的学习框架

举例:三个教师网络对同一幅兰花的例子给定自己的预测值,由于教师1生成的soft target携带了更多所选标签和真实标签之间相似性的信息,因此在自适应分配权重的过程中给予教师1更大的权重。
(右侧上方和下方分别是使用相等权重和自适应权重学习到的分布,易知使用自适应权重学到的分布携带的信息更多)
请添加图片描述
图1。使用示例(兰花)演示适应性学习。相应的软目标由三个教师模型生成。注:罂粟、玫瑰、向日葵和郁金香是我们选择的四种与兰花相似的品种。

一、自适应框架
请添加图片描述
图2。自适应多教师多层次知识提炼学习框架的体系结构。

图2概述:对于给定训练集中的每个示例,我们首先使用几个训练有素的教师网络(图中显示了两名教师)生成相应的软目标值作为高级知识,并将中间层表示为中级知识(LR是一组潜在表示,用来表示教师网络的隐式特征)。该适配器(Adapter)负责自适应学习实例级教师的权重,集成蒸馏出来的软目标(Soft targets),并进一步利用这些权重推导标准知识提取损失L(KD)和基于角度的损失L(Angle)。LKD和LAngle分别帮助学习加权的隐式知识和实例之间的结构关系。此外,基于多组hint的损失LHT用于从多个教师层转移中级知识。AMTML-KD的总体优化目标如下:
请添加图片描述
其中α和β是超参数。

二、教师重要性的自适应学习:为了明确地捕捉教师网络的隐含特征,我们引入了一组潜在变量,组成了一个潜在表示(图2中的LR)来表示它们。例如,第t个教师模型与一个因子相关联,表示为θt∈ Rd,其中d是因子的维数,t∈{1,2…,m};一共m个老师。该策略的部分灵感来自推荐系统[10]中常用的潜在因素模型,其中每个用户或项目对应于一个用于总结其隐含特征的潜在因素。

实例的表示可以从学生网络中某一层的输出中提取。由于图像是我们在这项工作中关注的内容,我们根据惯例将最后一个卷积层的输出作为图像的张量表示[16]。因此,对于第i个图像,我们得到Bi∈R(CHW),其中C,H和W分别对应于学生特征图的通道数、高度和宽度。为了将图像表示的空间转换为与教师因子的空间相同的空间,以便于以后的计算,我们采用了一个简单的最大池操作,其内核大小为s=(H×W)。它在每个通道中保持最重要的值。操作如下所示:
请添加图片描述
计算第t个教师模型对于第i幅图像的权重的公式如下:
请添加图片描述
其中v是要学习的全局参数向量,(⭕·)表示元素的乘积。γ(t,i)越大表示该老师对于该图像更重要。从等式5中,我们可以观察到教师模型的表示与图像之间的交互是通过元素级的乘积运算捕捉到的。它计算它们在每个维度上的相似性。v决定每个维度中的值是否对分数有积极影响。我们通过定义如下的softmax函数进一步规范化权重:
请添加图片描述

三、学习高级知识:鉴于综合软知识所揭示的高水平知识,我们提出了两种方法来使用知识指导学生的学习。
1.标准的知识蒸馏
我们通过融合多个教师的损失来达到标准的知识蒸馏:
请添加图片描述
其中~yS i是由学生网络生成的第i个图像的软目标,~yT i是由等式7计算的综合软目标(加权计算),yi是真实标签。

2.结构性知识蒸馏
除了分别考虑每个数据实例的标准知识蒸馏之外,我们还考虑在不同数据实例之间添加结构知识来有效地传递关系信息,这是由[17]提出的。具体地说,给出了三组表示为(i,j,k)的示例,基于角度的度量用于测量这些示例之间的结构关系,如下所示:
请添加图片描述
其中eij和ekj是标准化的向量差,例如,请添加图片描述
基于获得的综合软目标,我们可以在多个教师的情况下定义基于角度的损失函数,如下所示:
请添加图片描述

式中,请添加图片描述是与标准均方损失相比,提供稳健回归的Huber损失。请添加图片描述是对于不同的图像示例由等式7计算的综合软目标。

四、学习中级知识
深度神经网络在其中间层具有特征表示学习的优势,因此有希望将这种中间层知识传递给学生。受FitNet[18]从一名教师那里学习中级知识的启发,我们提出了一个简单但有效的扩展FitNet,以实现从多名教师那里学习,称为多组hint。特别是,该方法使每位教师负责学生网络的一组层。通过实验,我们经验性地发现学生可以从教师所学的深层表征中受益。因此,我们利用每个教师的最后一个特征层来指导知识蒸馏,并定义一个基于多组hint的损失,如下所示:
请添加图片描述
其中ut是教师t的最后一层特征图;vl对应于学生中第l组的层的特征图输出。Ft是教师t的一个单层FitNet,用于教师t使特征图自适应。注意f(·)指定从一组学生层到一名教师的一对一映射,并且可以灵活选择。

我们提出了几种映射策略:(i)将表现较好的教师分配到高层组;以及(ii)将表现更好的教师分配给低层群体;(iii)将教师随机分配到不同组。在不同数据集上的结果一致表明,第一种策略比其他两种策略获得了一些改进。因此,我们选择它作为默认的映射策略,并在实验中报告其结果。

4.实验设置:

见原文

5.部分实验结果:

CIFAR10和CIFAR100上实验的参数量和压缩量:
请添加图片描述

在CIFAR10和CIFAR100上使用不同的蒸馏方法的表现:
请添加图片描述
不同的多教师多学生的实验结果:
请添加图片描述
CIFAR10上不同学生网络的表现:
请添加图片描述

后文还有GPU使用率和训练时间、在Tiny-Imagenet网络上的表现等等实验结果,见原文。

6.结论:

在本文中,我们开发了自适应多教师多级知识提取(AMTML-KD)学习框架。AMTML-KD通过特定的数据实例学习不同教师网络的不同重要性权重,确保更好地整合来自多个教师的软目标,以转移高级知识。我们还提出了一个简单的多组提示策略,使AMTML-KD能够从多个教师那里学习中级知识。图像分类实验结果表明,AMTML-KD达到了最先进的性能,并验证了其关键组件的有效性。

### Dual-Softmax in Machine Learning In the context of machine learning, particularly within advanced models such as those discussed in cluster-based k-nearest neighbor machine translation methods[^1], dual-softmax refers to a technique that enhances model performance by applying softmax operations twice across different dimensions or contexts. #### Definition The traditional softmax function transforms a vector of values into probabilities proportional to the exponentials of these input elements. In contrast, dual-softmax extends this concept: - **First Softmax**: Applied over one dimension (e.g., vocabulary size), converting raw scores into probability distributions. - **Second Softmax**: Operated on another axis (such as clusters or neighbors), further refining predictions based on contextual information from multiple sources. This approach allows for more nuanced modeling of relationships between entities like words and their translations while maintaining computational efficiency through clustering mechanisms. #### Usage Implementing dual-softmax can be beneficial when dealing with tasks requiring fine-grained understanding of semantic structures, including but not limited to neural machine translation systems. By leveraging both local and global perspectives provided via two separate applications of the softmax operation, models achieve better generalization capabilities without significantly increasing complexity. Below is an illustrative Python code snippet demonstrating how dual-softmax might look implemented within a hypothetical scenario involving sentence embeddings: ```python import torch import torch.nn.functional as F def dual_softmax(scores, dim1=0, dim2=-1): """ Applies softmax along specified axes sequentially Args: scores (Tensor): Input tensor containing logits before activation dim1 (int): Dimension index for first application of softmax dim2 (int): Dimension index for second application of softmax Returns: Tensor: Output after applying dual-softmax activations """ # Apply first layer of normalization normalized_scores = F.softmax(scores, dim=dim1) # Apply second layer of normalization final_output = F.softmax(normalized_scores, dim=dim2) return final_output # Example usage logits = torch.randn((5, 7)) # Simulated batched data points output = dual_softmax(logits) print(output.shape) # Should match original shape ``` --related questions-- 1. How does dual-softmax compare against single-layer softmax implementations? 2. What are some practical examples where dual-softmax has been successfully applied beyond NLP domains? 3. Can you explain why introducing additional layers of softmax helps improve certain types of predictive models' accuracy? 4. Are there any drawbacks associated with implementing dual-softmax compared to simpler alternatives? : Efficient Cluster-Based k-Nearest-Neighbor Machine Translation [^2]: CLUES: A Benchmark for Learning Classifiers using Natural Language Explanations (Note: Although mentioned initially, content directly related specifically to was not utilized here due to relevance constraints.)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值