AMTML-KD:自适应多教师多级知识蒸馏

背景:知识蒸馏(KD)是一种有效的学习范式,通过利用从教师网络中提取的额外监督知识来提高轻量级学生网络的性能。知识蒸馏研究(1)在其升华学习方法中只向一名教师学习,忽略了学生可以同时向多名教师学习的潜力;(2)简单地将每位教师视为同等重要,无法揭示教师对具体示例的不同重要性。

为了弥补这一差距,我们提出了一种新的自适应多教师多级知识蒸馏学习框架(AMTML-KD

AMTML-KD:(i)将每个教师与潜在特征相关联,以自适应地学习实例级教师重要性权重,该权重用于获取集成的软目标高级知识

(ii)通过所提出的多组提示策略从多个教师收集中级提示中级知识)。

因此,学生模型可以通过AMTML-KD从多个教师那里学习多层次知识。

1、AMTML-KD框架

 1.1动机和概述

动机:学习知识有必要考虑教师对不同类型问题的不同重要性

图像分类的任务:给定一幅兰花图像,三个教师神经网络对同一组图像类别具有不同的预测值。

       我们可以观察到,从第一个教师生成的软目标值携带了所选标签和地面真相标签之间的相似性的更多信息,其中预测值大得多并且在图中省略。因此,直观地为该图像的第一个教师分配较大的权重,为其他两个教师分配较小的权重,以获得综合软目标值。同时,教师模型学习到的更深层次的知识可以帮助学生在各个层次上学习。上述讨论推动了从多个教师和多个层次自适应学习的建议。

 

       对于给定训练集中的每个示例,我们首先使用几个训练有素的教师网络(图中显示了2名教师)生成相应的软目标值作为高级知识,并将中间层表示为中级知识。适配器负责自适应地学习实例级教师重要性权重,以集成软目标,进一步利用这些权重导出标准知识蒸馏损失\iota _{KD}和基于角度的损失\iota _{Angle}。这两个损失分别帮助学习加权隐藏知识和示例之间的结构关系。此外,基于多组提示的损失\iota _{HT}用于从多个教师层传递中级知识。AMTML-KD的总体优化目标如下:

\iota =\iota _{KD}+\alpha \iota _{Angle}+\beta \iota _{HT}

其中α和β是超参数,用于控制目标中相应损失的相对影响。

1.2教师重要性的适应性学习

      为了显式地捕捉教师网络的隐式特征,我们引入了一组潜在变量,构成潜在表示(上图中中命名为LR)来表示它们。例如,第t个教师模型与一个因子相关,表示为\theta _{t}\in R^{d},其中d是因子的维数,t∈ {1,···,m}与m名教师。该策略部分受到推荐系统中常用的潜在因素模型的启发,其中每个用户或项目对应于一个用于总结其隐含特征的潜在因素

      实例的表示可以从学生网络中某一层的输出中提取。由于图像是我们在这项工作中关注的焦点,我们按照惯例将最后一个卷积层的输出作为图像的张量表示。因此,我们得到B_{i}\in R^{CHW},其中第i个图像的C、H和W分别对应于学生特征图的通道数、高度和宽度。为了将图像表示的空间转换为与教师因子的空间相同的空间,以便于以后的计算,我们采用了一种简单的最大池操作,其内核大小为s=(H×W)。它在每个通道中保持最重要的值。操作表示如下:

\delta _{i}=MaxPooling\left ( B_{i} ,s\right )

其中\delta _{i}\in R^{C}和d被设置为等于C

我们通过以下方式计算第i个图像的第t个教师模型的重要性权重:

\gamma _{t,i}=v^{T}\left (\theta _{t} \bigodot \delta _{i}\right )

其中,ν是要学习的全局参数向量,\bigodot表示按元素的乘积。\gamma _{t,i}越大,表示教师对图像越重要。我们可以观察到教师模型的表示与图像之间的交互作用,图像是通过元素级乘积操作捕获的。它计算它们在每个维度上的相似性。ν确定每个维度中的值是否对分数有积极影响。我们通过定义如下的softmax函数进一步归一化重要性权重:

w_{t,i}=softmax\left ( \gamma _{t,i} \right )=\frac{exp\left (\gamma _{t,i} \right )}{\sum_{t^{'}=1}^{m}exp\left (\gamma ^{'} _{t,i} \right )}

与平均学习策略相比,我们提出了加权加法运算来获取集成软目标\widehat{y}_{i}^{T},定义如下:

\widehat{y}_{i}^{T}=\sum_{t=1}^{m}w_{t,i}\widehat{y}_{t,i}

其中\widehat{y}_{t,i}是第t个教师为第i个图像生成的软目标。

1.3学习高级知识

       除了分别考虑每个数据示例的标准知识蒸馏外,我们还考虑在不同数据示例之间添加结构知识,以有效传递关系信息。具体地说,给定表示为(i,j,k)的三元组示例,使用基于角度的度量来测量这些示例之间的结构关系,如下所示:

\bigtriangleup \left ( x_{i} , x_{j} , x_{k} \right )=\cos \angle x_{i} x_{j} x_{k}=\left \langle e^{ij} ,e^{kj}\right \rangle

其中eij和ekj是归一化向量差,即e^{ij}=\frac{x_{i}-x_{j}}{\left \| x_{i}-x_{j} \right \|_{2}}e^{kj}=\frac{x_{k}-x_{j}}{\left \| x_{k}-x_{j} \right \|_{2}}

基于获得的综合软目标,我们可以定义多个教师场景下的基于角度的损失函数,如下所示:

\iota _{Angle}=\sum_{i,j,k}\iota _{\delta }\left ( \bigtriangleup \left ( \widehat{y}_{i}^{T} ,\widehat{y}_{j}^{T},\widehat{y}_{k}^{T}\right ) ,\bigtriangleup \left ( \widehat{y}_{i}^{S} ,\widehat{y}_{j}^{S},\widehat{y}_{k}^{S}\right ) \right )

1.4学习中级知识

      深度神经网络在其中间层享有特征表示学习的优势,因此有希望将这种中间层知识传递给学生。受FitNet从单个教师学习中级知识的启发,提出了一种简单但有效的FitNet扩展,以支持从多个教师学习,称为多组提示。特别地,该方法使得每个教师负责学生网络的一组层。利用每个教师的最后一个特征层来指导知识蒸馏,并定义基于多组提示的损失,如下所示:

\iota _{HT}=\sum_{t,l=f\left ( g \right )}^{t=m}\left \| u_{t} -F_{t}\left ( v_{l} \right )\right \| ^{2}

其中u_{t}教师t的最后一层特征图v_{l}对应于学生中第l组层输出的特征图F_{t}教师t的单层FitNet,用于使特征映射自适应。注意,f(·)指定从一组学生层到教师的一对一映射,可以灵活选择。

我们提出了几种映射策略:

(i)将表现更好的教师分配给高层组;

(ii)将表现较好的教师分配给低层群体;

(iii)随机分配教师到不同的小组。

在不同数据集上的结果一致表明,第一种策略比其他两种策略略有改进。因此,我们选择它作为默认映射策略,并在实验中报告其结果。

2、总结 

开发了自适应多教师多级知识蒸馏(AMTML-KD)学习框架。

1、AMTML-KD在特定数据实例中学习不同教师网络的不同重要性权重,确保多个教师的软目标更好地集成,以传输高水平知识。

2、提出了一种简单的多组提示策略,使AMTML-KD能够从多个教师那里学习中级知识。

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
知识蒸馏(Patient-kd)是一种教学方法,旨在帮助学生更好地理解和消化知识。这种教学方法源自于机器学习领域的知识蒸馏算法,通过将复杂的模型精简为简单的模型,让学生可以更易于理解和掌握知识。 在知识蒸馏教学方法中,教师会首先使用高质量的教学资源和教材,来传授给学生深入的知识。然后,教师通过提问、举例、讨论等方式来帮助学生理解和巩固所学知识。 与传统的教学方法相比,知识蒸馏教学方法在以下几个方面有所不同: 1. 简化信息:教师会将复杂的知识内容简化为易于理解的形式,帮助学生更好地吸收知识。 2. 关注实践:教师注重培养学生的实际操作能力,通过实践任务和案例分析来促进学生应用所学知识。 3. 个性化指导:教师会根据学生的学习情况和个性化需求来调整教学方式和内容,实现个性化指导。 知识蒸馏教学方法的目标是提高学生的学习效果和质量,使他们能够真正理解和运用所学知识。通过这种方法教学,学生可以更深入地理解知识,提高学习能力和解决问题的能力。 最后,知识蒸馏教学方法在教育领域中具有重要意义,可以帮助学生更好地学习和掌握知识,提高学习效果。它是一种注重理论与实践结合的教学方式,可以更好地满足学生不同的学习需求,对于培养学生综合素质和创新能力有着积极的作用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一瞬にして失う

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值