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

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

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

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

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

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

1、AMTML-KD框架

 1.1动机和概述

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

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

AMTML-KD:自适应多教师多级知识蒸馏_第1张图片

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

AMTML-KD:自适应多教师多级知识蒸馏_第2张图片 

       对于给定训练集中的每个示例,我们首先使用几个训练有素的教师网络(图中显示了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能够从多个教师那里学习中级知识。

你可能感兴趣的:(多教师网络,知识蒸馏,人工智能,计算机视觉,神经网络,图像处理,深度学习)