一种用于视觉识别的快速知识蒸馏框架

摘要

在这里插入图片描述

论文和项目网址:http://zhiqiangshen.com/projects/FKD/FKD_camera-ready.pdf
代码:https://github.com/szq0214/FKD
虽然知识蒸馏(KD)在许多可视化任务中被认为是一种有用的工具,如监督分类和自监督表示学习,但普通KD框架的主要缺点是它的机制在通过巨大的教师网络转发时消耗了大部分计算开销,使整个学习过程效率低下和成本高昂。最近提出的解决方案ReLabel建议为整个图像创建一个标签映射。在训练过程中,它通过对齐预生成的整个标签图的RoI接收裁剪的区域级标签,这允许高效的监督生成,而不必重复通过教师。然而,由于ReLabel采用的预训练教师来自传统的多作物方案,该技术在全局标签映射和区域级标签之间存在各种不匹配,导致性能较普通 KD差。在本研究中,我们提出了一个快速知识蒸馏(FKD)框架,该框架复制了蒸馏训练阶段,并使用多作物KD方法生成软标签,同时由于没有使用RoI对齐和softmax操作等后处理,因此训练速度比ReLabel更快。当对同一幅图像进行多次裁剪以加载数据时,我们的FKD比传统的图像分类框架更有效。在ImageNet-1K上,我们在ResNet-50上获得了80.1%的Top-1精度,比ReLabel高出1.2%,同时训练速度更快,使用更灵活。在基于蒸馏的自我监督学习任务中,我们也证明了FKD具有效率优势。

1 简介

知识蒸馏(KD)[16]已被广泛应用于各种视觉领域,如监督识别[29,49,48,23,34,2]和自监督表示学习[32,9,4]。KD的机制是迫使学生模仿教师网络或集体教师的输出,并趋同于基本真理标签。已知迭代(t)时目标学生的参数θ,通过对包含两项的以下目标求最小值,可以得到下一个迭代的参数

θ

(

t

+

1

)

θ^{(t+1)}

θ(t+1):

θ

student 

(

t

+

1

)

=

arg

min

θ

Θ

1

N

n

=

1

N

(

1

λ

)

H

(

y

n

,

S

θ

(

x

n

)

)

+

λ

H

(

T

(

t

)

(

x

n

)

,

S

θ

(

x

n

)

)

(1)

begin{array}{c} boldsymbol{theta}_{text {student }}^{(t+1)}=arg min _{theta in Theta} frac{1}{N} sum_{n=1}^{N}(1-lambda) mathcal{H}left(boldsymbol{y}_{n}, boldsymbol{S}_{theta}left(boldsymbol{x}_{n}right)right) \ +lambda mathcal{H}left(boldsymbol{T}^{(t)}left(boldsymbol{x}_{n}right), boldsymbol{S}_{theta}left(boldsymbol{x}_{n}right)right) end{array} tag{1}

θstudent (t+1)=argminθΘN1n=1N(1λ)H(yn,Sθ(xn))+λH(T(t)(xn),Sθ(xn))(1)

其中

y

n

boldsymbol{y}_{n}

yn为第n个样本的ground-truth。

T

(

T

)

boldsymbol{T}^{(T)}

T(T)是迭代(T)时老师的输出,

S

θ

(

x

n

)

boldsymbol{S}_{theta}left(boldsymbol{x}_{n}right)

Sθ(xn)是学生对输入样本的预测,

x

n

.

H

boldsymbol{x}_{n} . mathcal{H}

xn.H为交叉熵损失函数。

λ

lambda

λ是平衡两个目标的系数。第一项的目标是最小化一个热点的ground-truth标签和学生预测之间的熵,第二项的目标是最小化教师和学生预测之间的熵。教师可以通过监督或自我监督的方式进行预训练。许多文献[35,52,2,34]已经经验表明,在ImageNet[7]等具有更多培训预算的大规模数据集上,如果教师或集成的教师足够准确,则不需要Eq. 1中的真硬标签第一项。在此工作中,我们简单地将快速蒸馏设计中教师和学生模型之间的软预测最小化。
在这里插入图片描述

根据KD的定义,这种范式的固有缺点是,在每次迭代中,通过大型教师网络传递训练数据以产生监督

T

(

T

)

boldsymbol{T}^{(T)}

T(T)消耗了相当大比例的计算资源,而不是更新或训练目标学生参数。直观地说,通过教师的正向传播可以跨时代共享,因为他们的参数在整个培训过程中都是固定的。基于此观点,普通蒸馏框架本身效率低下,如何减少或共享跨时代教师网络的前向计算成为KD框架加速的核心。克服这一缺陷的自然解决方案是预先为每个训练图像生成一个概率向量作为软标签,然后循环重用预先生成的软标签,用于不同的训练阶段。然而,在现代神经网络训练中,通常采用各种数据增强策略来避免过拟合,特别是随机裁剪技术。这就导致了全局层面的整个图像软向量在应用这些增强后,不能精确反映局部图像区域的真实概率分布的不一致性。
为了解决数据增强的问题,在生成一个全局向量到区域级输入时,特别的随机裁剪会导致不一致的问题,同时,为了保留信息性软标签的优势,ReLabel[52]建议存储来自预训练的强教师的全局标签映射,并通过RoI对齐[13]重用epochs,如图1(左)所示。但是,由于对教师的输入过程不一致,该策略在本质上不等同于普通KD程序。不匹配主要来自两个因素:(i)教师通常使用随机裁剪调整尺寸的方案进行训练,而在重新标记中,全局标签映射是通过输入整个图像获得的。由于在蒸馏过程中,输入空间采用了随机裁剪大小调整的方法,使得全局标签映射不能反映图像区域的真实软分布;(ii) RoI对齐会涉及标签映射上的意外预测,不能保证该策略与普通KD的一致性,因此存在信息损失。

在这里插入图片描述

在本研究中,我们引入一种快速知识蒸馏(FKD)框架,以克服不匹配的缺点,进一步避免软标签上的信息丢失。我们的策略很简单:如图1(右)所示,在标签生成阶段,我们将多个随机裁剪的软概率直接存储到标签文件中,以及坐标和翻转等其他数据增强状态。在训练过程中,我们将这些存储的坐标分配回输入图像,生成经过网络的裁剪调整大小的输入,并使用相应的软标签计算损失。这种策略的优点有两个:(i)我们基于区域的标签生成过程与普通KD相同,因此得到的每个输入区域的软标签与oracle相同,说明在标签创建阶段没有信息丢失;(ii)我们的训练阶段速度更快,因为不需要后期处理,如RoI对齐、softmax等。我们可以进一步在一个小批处理中从同一个图像分配多个区域,以减轻数据加载的负担。

我们展示了FKD在监督和自我监督学习任务的准确性和训练速度方面的优势。在监督学习场景中,我们在各种骨干网架构(如cnn、视觉转换器和具有预训练初始化的竞争MEAL V2框架)上从零开始比较基线ReLabel和香草KD (Oracle)。我们的FKD比ImageNet-1K上的ReLabel高1%以上,速度略快,比性能相似的oracle KD和MEAL V2快3 ~ 5倍。在自监督蒸馏任务中,我们使用S2-BNN作为基线来验证我们提出的高效框架的速度优势。
我们对这项工作的贡献:

  • 我们提出了一个快速知识蒸馏(FKD)框架,它实现了与香草KD相同的高水平性能,同时保持了与非KD方法相同的快速训练速度和效率,而不牺牲性能。

  • 我们发现,在图像分类框架中,一个图像可以在一个小批中使用多个作物多次采样,以方便数据加载和加速训练,同时获得更好的性能。

  • 为了证明我们方法的有效性和多功能性,我们在各种任务和蒸馏框架上执行FKD,包括监督分类和自我监督学习,其结果优于现有技术。

2 相关工作

知识蒸馏。 知识蒸馏[16]背后的原则是鼓励学生模仿或模仿老师的预测,这有助于学生更好地在看不见的数据上进行归纳。KD的一个核心优势是,与传统的单热标签相比,教师可以提供包含更丰富的输入数据信息的软化分布,特别是在输入空间上使用随机裁剪等数据增强时。精馏可以在每次迭代中通过强教师预测错误的标签,从而避免错误的标签,反映了转换后的输入数据的真实情况。我们还可以对logits施加温度,以重新缩放来自教师和学生模型的输出分布,以放大监督上的班级间关系。最近,许多变体和扩展被提出[24,18,44,53,23,25,34,48,50,6,36],如采用内部特征表示[29],带有鉴别器的对抗训练[31],转移流[49],对比蒸馏[40],耐心和一致[2]等。有关知识蒸馏相关方法的更广泛概述,请参见[11,43]。

高效的知识蒸馏。 提高知识蒸馏的训练效率是将该技术在现实应用中推广到更广泛的应用范围的关键。以前在这方面的努力通常是不够的。ReLabel[52]是最近提出的一个解决方案,它可以很好地解决KD的这个低效问题。它为强教师生成全局标签映射,然后通过跨不epochs的RoI对齐重用它们。我们提出的FKD在本质上是不同的考虑和解决方案。我们考虑普通KD的特性,从强教师中随机裁剪出区域级软标签,并将其存储起来,然后在训练中通过分配到不同的时期进行重用。我们的方法具有与普通KD相同的准确性,以及与常规非KD分类框架相同或更快的训练速度,这使得它在性能和训练速度上都优于ReLabel。

3 方法

在本节中,我们首先介绍来自ReLabel的全局级软标签和FKD的区域级软标签分布的几个观察结果和属性。然后,给出了FKD框架的详细工作流程,并详细分析了生成的标签质量、训练速度以及对监督学习和自监督学习的适用性。最后,我们分析了不同的软标签压缩策略,并给出了它们在实际应用中的存储需求。
初步结论:以前解决方案的局限性

基于RoI在全局地图上对齐的ReLabel机制,与区域级软标签的普通KD相比,它是一种不可避免的标签信息丢失的近似解。在图2中,我们将ReLabel和FKD在ImageNet-1K上的区域级标签分布可视化,注意到以下几点经验观察:(i)在许多情况下,ReLabel对区域更有信心,因此软信息比FKD更弱。我们分析这是因为,ReLabel将全局图像输入到网络中,而不是局部区域,这使得生成的全局标签映射对更多的类别信息进行了编码,忽略了背景,使得软标签过于接近语义的ground-truth,如图2(第1行)所示。尽管有时ReLabel和FKD的最大概率相似,但FKD在标签分布中包含了更多的信息性的次级概率。而ReLabel等分布,如图2(第二行)所示;(ii)对于某些离群区域,FKD的鲁棒性要明显强于ReLabel,例如对象的松散边界盒、局部对象等,如图2(第3行)所示;(iii)在某些特定情况下,ReLabel意外崩溃,且分布接近均匀,而FKD仍能正常工作,如图2最下面一行所示。
在这里插入图片描述

此外,在KD中使用更多的数据增强(如Flip、Color jittering等)时,由于这些增强是在训练过程中随机应用的,因此ReLabel的软标签与oracle teacher prediction之间存在不匹配。在ReLabel设计中,我们在生成全局标签映射时不能考虑到这些因素,也不能提前准备。相比之下,FKD足以处理这种情况:它可以轻松地涉及额外的增强,并从相同或不同的图像中记录单个区域的所有信息(比例、度、系数等),并通过将转换后的图像区域输入预先训练过的教师网络生成相应的软标签。然而,这种策略将增加存储的需求,因此,如果有预算,替代方案是在训练期间接收裁剪图像区域后执行额外的扩充,类似于ReLabel。注意,这将导致转换后的样本与对应的软标签之间有轻微的不匹配,这与传统的增强机制类似,但带有软标签。

3.1快速知识蒸馏

在传统的视觉训练系统中,深度网络传播和数据加载通常是资源的两大瓶颈。然而,在蒸馏框架中,除了这些计算需求外,庞大的教师一直是关键的训练负担。我们的FKD寻求解决这个棘手的问题。
标签生成阶段。 我们采用常规的随机裁剪调整训练策略,从一张图像中随机裁剪M个区域,并对其进行翻转等增宽,然后将这些区域输入到教师网络中,生成相应的软标签向量

P

i

boldsymbol{P}_{i}

Pi,即

P

i

=

T

(

R

i

)

boldsymbol{P}_{i}=boldsymbol{T}left(boldsymbol{R}_{i}right)

Pi=T(Ri),其中

R

i

boldsymbol{R}_{i}

Ri为经过变换变换的区域

F

i

mathcal{F}_{i}

Fi, T为预训练的教师网络。I是区域索引。我们将所有区域坐标和增宽超参数

{

F

}

{mathcal{F}}

{F}与软标签集

{

 

P

}

{ boldsymbol{P}}

{ P}一起存储在接下来的训练阶段,如图1(右上)所示。下一节将详细分析如何将这些所需的值存储到硬盘驱动器上。

训练阶段。 在训练阶段,我们不像传统的图像分类策略那样随机生成作物,而是直接加载标签文件,并为这张特定的图像分配我们存储的作物坐标和数据增强,以准备转换后的区域级输入。相应的软标签将作为对这些区域进行培训的监督。对于交叉熵损失,目标是:

L

=

i

P

i

log

S

θ

(

R

i

)

mathcal{L}=-sum_{i} boldsymbol{P}_{i} log boldsymbol{S}_{theta}left(boldsymbol{R}_{i}right)

L=iPilogSθ(Ri),其中

S

θ

(

R

i

)

boldsymbol{S}_{theta}left(boldsymbol{R}_{i}right)

Sθ(Ri)是学生对输入区域

R

i

boldsymbol{R}_{i}

Ri的预测,

θ

theta

θ是我们需要学习的学生模型的参数。具体训练过程如图1所示。

3.2更高的标签质量

在这里插入图片描述

距离分析。 我们通过互交叉熵矩阵测度的熵距离来分析各种形式的标签的质量。我们考虑三种类型的标签:(1)人工注释的单热标签、ReLabel和我们的FKD。我们还计算了四种不同精度预训练模型的预测距离,包括vanilla PyTorch预训练模型(最弱)、Timm预训练模型、ReLabel预训练模型和FKD预训练模型。我们的插图的概述如图3所示。上面的曲线,以及(2),是50个类(ReLabel!FKD), (ReLabel!One-hot)和(FKD!One-hot)的平均交叉熵。在这里,我们得到了一个重要的观察结果:

(

D

R

F

C

E

=

P

F

K

D

log

P

ReLabel 

)

>

(

D

R

O

C

E

 OR 

D

F

O

C

E

)

(2)

left(mathcal{D}_{R rightarrow F}^{C E}=-boldsymbol{P}_{F K D} log boldsymbol{P}_{text {ReLabel }}right)>left(begin{array}{lll} mathcal{D}_{R rightarrow O}^{C E} & text { OR } & mathcal{D}_{F rightarrow O}^{C E} end{array}right) tag{2}

(DRFCE=PFKDlogPReLabel )>(DROCE OR DFOCE)(2)
其中

D

R

F

C

E

mathcal{D}_{R rightarrow F}^{C E}

DRFCE

R

e

L

a

b

e

l

F

K

D

ReLabel rightarrow FKD

ReLabelFKD的交叉熵值。本质上,FKD软标签可以看作是oracle KD标签,

D

R

F

C

E

mathcal{D}_{R rightarrow F}^{C E}

DRFCE是到这种“KD的真值”的距离。从图3(2)可以看出,它与单热标签的距离甚至大于ReLabel和FKD。由于ReLabel (global-map soft label)和FKD (region-level soft label)与单热硬标签存在较大差异,因此,ReLabel与FKD(“KD ground truth”)之间的差距是相当显著和可观的。如果我们将注意力转移到

D

R

O

C

E

mathcal{D}_{R rightarrow O}^{C E}

DROCE

D

F

O

C

E

mathcal{D}_{F rightarrow O}^{C E}

DFOCE的曲线上,它们在具有相似值的不同类之间高度对齐。在某些特定的类中,

D

F

O

C

E

mathcal{D}_{F rightarrow O}^{C E}

DFOCE略大。这是明智的,因为一个热门标签基本上不是我们想要的“最佳标签”。

在图3(3)的底部组中,熵值相对较小。这是因为曲线来自预训练的模型,在一个热点标签的标准下,具有良好的性能。其中,

M

Timm

M_{text {Timm}}

MTimm对单热标签的交叉熵最小,这是意料之中的,因为Timm模型经过了充分优化,以最高的精度拟合单热标签。图3(4)中,

D

T

i

m

m

F

C

E

mathcal{D}_{T i m m rightarrow F}^{C E}

DTimmFCE

D

P

T

F

C

E

mathcal{D}_{P T rightarrow F}^{C E}

DPTFCE位于

D

T

i

m

R

C

E

mathcal{D}_{T i m rightarrow R}^{C E}

DTimRCE

D

P

T

R

C

E

mathcal{D}_{P T rightarrow R}^{C E}

DPTRCE中间,且方差较小。这反映出FKD比Relabel预训练模型更稳定。

3.3 更快的训练速度

在小批次内进行多重裁剪取样。 如图1(右)所示,我们可以在同一个图像中使用多重裁剪,以方便加载图像和标签文件。直观地说,这将减少小批处理中训练样本的多样性,因为一些样本来自同一图像。然而,我们的实验结果表明,它不会影响模型的性能,相反,当来自同一幅图像的裁剪数量在合理范围内(例如4 ~ 8)时,它甚至会提高精度。我们分析这是因为它可以显著地减少每个小批次的样本方差,使训练更加稳定。

锯齿学习率调度器。 由于FKD从一个图像中采样多重裁剪(#crop),当在整个数据集上迭代一次时,我们实际上用相同的学习率训练数据集#crop epoch。在使用阶段/步骤lr调度器时,它没有效果,但如果使用连续余弦或线性学习率策略,它会改变lr曲线为锯齿形。由于这个原因,多重裁剪训练也可以提高准确性。

训练时间分析:

  1. 数据加载FKD中的数据加载策略是有效的。例如,当使用256个小批量进行训练时,传统的图像分类框架需要加载256张图像,而ReLabel将加载256张图像+256个标签文件,而在我们的方法中,FKD只需要加载

    256

    #

    crop

    +

    256

    #

    crop

    frac{256}{# text {crop}}图像+frac{256}{# text {crop}}标签文件

    #crop256+#crop256,如果我们为

    #

    c

    r

    o

    p

    (

    when #crop

    >

    2

    )

    #crop (text {when #crop}>2)

    #crop(when #crop>2)选择略大的值,甚至比传统训练更快。

  2. 我们将图像中的#crop区域分配给当前的小批进行训练。由于我们将标签概率存储在softmax之后(在监督学习中),我们可以直接为小批样品使用指定的软标签,而不需要任何后处理。这个赋值在PyTorch[26]中使用randperm函数实现时快速有效。如果使用以下策略对标签进行压缩,我们将使用一个额外的简单恢复过程(如图4所示)来获得D-way软标签分布。注意,ReLabel也有这个过程,所以这部分的时间消耗将类似于ReLabel。一个详细的逐项工作流如图5所示。
    在这里插入图片描述

3.4用监督方案训练自监督模型

在本节中,我们将介绍如何将FKD应用于自我监督学习(SSL)任务,并以比广泛使用的Siamese SSL框架更快的训练速度。标签的生成(来自自我监督的强教师)、标签的准备和训练过程与监督方案相似。但是,我们保留原始SSL教师的投影头作为[32]之后的软标签,并将软标签存储在softmax之前的操作温度。

3.5 标签压缩与存储分析

在这里插入图片描述

我们考虑并制定了以下四种压缩软标签用于存储的策略,详细的比较见表2。

  • 硬化。在硬化量化策略中,使用区域教师预测的最大对数的指标生成硬标签

    Y

    H

    boldsymbol{Y}_{mathrm{H}}

    YH。一般而言,标签硬化是区域级空间中经过强教师模型校正的单热标签。

    Y

    H

    =

    argmax

    c

    z

    F

    K

    D

    (

    c

    )

    (3)

    boldsymbol{Y}_{mathrm{H}}=underset{c}{operatorname{argmax}} boldsymbol{z}_{mathrm{FKD}}(boldsymbol{c}) tag{3}

    YH=cargmaxzFKD(c)(3)
    其中

    z

    F

    K

    D

    z_{FKD}

    zFKD是由FKD产生的每个随机裁剪区域的logits。

  • 平滑。平滑量化将单热硬标签

    Y

    H

    boldsymbol{Y}_{mathrm{H}}

    YH替换为软

    y

    c

    boldsymbol{y}_{c}

    yc和均匀分布的混合物,与标签平滑[37]相同:

    y

    c

    S

    =

    {

    p

    c

     if 

    c

    =

     hardening label 

    (

    1

    p

    c

    )

    /

    (

    C

    1

    )

     otherwise 

    (4)

    boldsymbol{y}_{c}^{mathbf{S}}=left{begin{array}{ll} boldsymbol{p}_{boldsymbol{c}} & text { if } boldsymbol{c}=text { hardening label } \ left(1-boldsymbol{p}_{boldsymbol{c}}right) /(boldsymbol{C}-1) & text { otherwise } end{array}right. tag{4}

    ycS={pc(1pc)/(C1) if c= hardening label  otherwise (4)
    其中

    p

    c

    boldsymbol{p}_{boldsymbol{c}}

    pc是在第c个类处softmax后的概率,

    c

    boldsymbol{c}

    c是总类数。

    (

    1

    p

    c

    )

    /

    (

    c

    1

    )

    left(1-boldsymbol{p}_{boldsymbol{c}}right) /(boldsymbol{c} -1)

    (1pc)/(c1)是一个小值,用于压平单热标签。

    y

    c

    S

    y

    S

    boldsymbol{y}_{c}^{mathrm{S}} in boldsymbol{y}_{mathbf{S}}

    ycSyS是第c类的平滑标签

  • 基于Top- K(M - S)的边缘平滑。边缘平滑量化比单一平滑标签

    Y

    S

    boldsymbol{Y}_{mathrm{S}}

    YS保留更多的教师预测软信息(Top- K):

    y

    c

    M

    S

    =

    {

    p

    c

     if 

    c

    {

    T

    o

    p

    K

    }

    1

    c

    {

    T

    o

    p

    K

    }

    p

    c

    C

    K

     otherwise 

    boldsymbol{y}_{c}^{mathrm{MS}}=left{begin{array}{ll} boldsymbol{p}_{c} & text { if } c in{mathbf{T o p}-K} \ frac{1-sum_{c in{mathrm{Top}-K}} p_{c}}{C-K} & text { otherwise } end{array}right.

    ycMS={pcCK1c{TopK}pc if c{TopK} otherwise 
    其中

    y

    c

    M

    S

    Y

    M

    S

    boldsymbol{y}_{boldsymbol{c}}^{mathrm{MS}} in boldsymbol{Y}_{mathrm{MS}}

    ycMSYMS是第c类的边缘平滑标签。

  • 带Top-K的边缘重归一化(MR)。边缘重归一化将Top-K预测重归一化为

    c

    {

    T

    o

    p

    K

    }

    p

    c

    =

    1

    sum_{c in{mathrm{Top}-K}} p_{c}=1

    c{TopK}pc=1,并保持其他logit为零(与ReLabel不同,我们使用归一化来校准Top-K预测的总和为1,因为我们的软标签存储在softmax之后):

    y

    c

    M

    =

    {

    p

    c

     if 

    c

    {

    T

    o

    p

    K

    }

    0

     otherwise 

    (6)

    boldsymbol{y}_{c}^{mathrm{M}}=left{begin{array}{ll} boldsymbol{p}_{c} & text { if } boldsymbol{c} in{mathbf{T o p}-K} \ 0 & text { otherwise } end{array}right. tag{6}

    ycM={pc0 if c{TopK} otherwise (6)

y

c

M

R

=

Normalize

(

y

c

M

)

=

y

c

M

c

=

1

C

(

y

c

M

)

(7)

boldsymbol{y}_{c}^{mathrm{MR}}=operatorname{Normalize}left(boldsymbol{y}_{c}^{mathbf{M}}right)=frac{boldsymbol{y}_{c}^{mathbf{M}}}{sum_{boldsymbol{c}=1}^{C}left(boldsymbol{y}_{c}^{mathrm{M}}right)} tag{7}

ycMR=Normalize(ycM)=c=1C(ycM)ycM(7)
其中

y

c

M

R

Y

M

R

y_{c}^{mathrm{MR}} in boldsymbol{Y}_{mathrm{MR}}

ycMRYMR是第c类的重新归一化标签。

4 实验

实验设置和数据集。 超参数选择的详细列表显示在附录中。消融研究中没有使用预热和颜色抖动。除了MEAL V2上的实验外,我们使用了efficiency entnetl2 -ns-475[38,48]作为教师模型,我们也尝试了较弱的教师,但我们的实验表现略差。对于MEAL V2,我们遵循其原始设计,使用SENet154 + ResNet152 v1合集(胶子版本[12])作为软标签。ImageNet-1K[7]用于监督分类和自监督学习。COCO[21]用于迁移学习实验。网络架构。实验在卷积神经网络[19]上进行,如ResNet [14], MobileNet [17], FBNet [47], efficiency entnetv2 [39], Vision transformer[42,8],如DeiT [41], SReT[33]。对于二进制骨干网,我们使用ReActNet[22]进行自监督实验。

基线知识精馏方法。

  1. ReLabel。在进行蒸馏时,ReLabel使用来自经过预先训练的教师的预生成的全局标签映射来减少教师分支的成本。
  2. MEAL V2。MEAL V2提出从预先训练的参数6和庞大的教师集合中提取学生网络,以获得更快的收敛速度和更好的精度。
  3. FunMatch。FunMatch是一个标准的知识蒸馏框架,具有强大的教师模型和增强功能。当使用相同或相似的教师督导时,我们认为这是有效的KD的强基线方法。
  4. S

    2

    B

    N

    N

    S^2-BNN

    S2BNN

    S

    2

    B

    N

    N

    S^2-BNN

    S2BNN是一种用于自监督学习任务的简单精馏方案。教师从自我监督学习方法中预学习,如MoCo V2 [5], SwAV[3]等。

4.1 监督学习

CNN系列
在这里插入图片描述

  1. ReLabel。与ReLabel的比较如表3所示,使用附录中介绍的训练设置(与ReLabel相同),我们在ResNet-50/101上的准确率都比ReLabel高出1.0%以上,且训练速度略快。这些显著且一致的改进显示了FKD在实际应用中的巨大潜力和优势。
    在这里插入图片描述

  2. MEAL V2。我们使用FKD来训练MEAL V2模型。结果如表4所示,当使用相同的超参数和教师网络时,FKD可以在不影响精度的情况下加快2 ~ 4倍。在训练中使用余弦学习率和更多的时间,进一步提高了准确率。

  3. FunMatch (Oracle)。我们认为FunMatch是oracle/strong KD的基线,我们的普通FKD在没有额外增强的情况下略低于FunMatch(80.5%),因为他们在训练中使用了更多增强。在使用与FunMatch训练设置类似的CutMix后,我们的结果(80.9%)比FunMatch高出0.4%。请注意,在相同数量的gpu(如8 V100)下,FunMatch需要比FKD多10倍的培训预算(2天vs. 20天),因为他们明确地在每次迭代的培训中转发巨大的教师。

  4. 小模型。我们还使用移动级模型,如FBNet [47],EfficientNetv2[39]。如表8所示,FKD对基础模型的改进分别为2.01%和1.59%。他们的训练设置在附录中提供。

Vision Transformers
在这里插入图片描述

  1. ViT/DeiT。结果见第一组的表5。使用vitt主干的非额外增强结果(75.2%)优于使用蒸馏的DeiT- t(74.5%),而训练模型所需的训练资源仅为DeiT蒸馏协议的0.15×。
  2. SReT。我们还使用SReT-LT检验了FKD,结果(78.7%)始终优于原始KD设计(77.7%),训练速度更快。

消融:
(i)训练过程中每张图像中裁剪数量的影响。我们探索了不同数量的裁剪样本从同一图像在一个小批次的最终性能的影响。对于传统的数据准备策略,我们在每张图像上只采样一个小批次的作物来训练模型。在这里,我们评估从1种到32种裁剪的m,如表7所示。令人惊讶的是,使用同一图像中的几种裁剪比单一裁剪的解决方案的性能更好,且具有不可忽略的边际,特别是在传统的图像分类系统上。这说明小批量样本的内部多样性是有公差限制的,适当减少这种多样性可以减小方差,提高精度,同时我们也可以观察到,在m>8之后,性能大幅下降,因此多样性对于学习模型的良好状态基本仍然是至关重要的。尽管如此,这对我们加快FKD框架中的数据加载是一个很好的观察结果。
(ii)软标签生成过程中裁剪数量的影响。理想情况下,通过洗牌和非重叠采样策略,裁剪的数量与训练周期的数量一致,这可以精确复制普通的KD。我们发现FKD在很少的软标签剪裁上表现出惊人的健壮性,它可以在不显著下降的情况下保持不错的准确性。我们检测了100种裁剪(4.75G存储),结果(79.7%)稍差。
(iii)不同的标签压缩策略。我们评估了不同标签压缩策略的性能。我们使用m=8进行消融,结果如表6所示。在MEAL V2 w/ FKD上,当使用完整的软标签时,我们获得了最高的准确率为80.65%,而在标准FKD上,边缘平滑(K=5)的最佳性能为79.51%。增加K会降低这两种情况下的准确性,我们分析K越大,软标签上会包含更多的噪声或不必要的次要信息。然而,它们仍然优于硬平滑策略。

4.2 ReaL[1]和ImageNetV2[27]数据集的更多比较

在本节中,我们将提供更多关于ImageNet ReaL[1]和ImageNetV2[27]数据集的结果。在ImageNetV2[27]上,我们在三个指标TopImages、Matched Frequency和Threshold 0.7作为ReLabel验证我们的FKD模型:。我们对ResNet-50和ResNet-101两种网络结构进行了实验。结果如表10所示,我们在ResNet-50和ResNet-101上实现了与基线ReLabel一致的改进。

4.3 Self-Supervised学习

在这里插入图片描述

S2-BNN[32]是一个纯基于蒸馏的自监督学习框架,因此所提出的FKD方法可以有效地训练S2-BNN[32]。我们采用SwAV[3]和MoCo V2[5]预训练模型作为教师网络。考虑到来自SSL学习过的教师的分布比监督教师的预测更平坦(意味着来自SSL培训过的教师的下属班级携带关键信息),我们在该场景中使用完整的软标签,并将SSL任务上的标签压缩策略留作将来的研究。在这些实验中,我们使用ReActNet[22]和ResNet-50[14]作为目标/学生骨干。结果如表9所示,我们的FKD训练模型的性能略好于S2-BNN,加速度约为3倍,因为我们只使用单一分支进行训练,与传统的使用软标签和CE损失的分类管道相同。轻微的提升来自于我们在生成SSL软标签时对FKD的lite数据增强。这很有趣,值得进一步探索基于蒸馏或配置fkd的SSL方法的数据增强策略。

4.4 迁移学习

在这里插入图片描述

我们进一步研究了在ImageNet-1K上获得改进的FKD是否可以转移到各种下游任务。如表11所示,我们使用FKD在ImageNet-1K上预训练的模型在COCO[21]上展示了对象检测和实例分割的结果。我们还使用Faster RCNN[28]和Mask RCNN [13], FPN[20]遵循ReLabel。在香草基线和重标记上,我们的FKD预训练权重在下游任务上显示出一致的增益。附录中提供了更多的可视化、分析和讨论。

5 结论

鉴于普通KD在训练紧凑高效网络方面的广泛应用和出色表现,有必要研究提高其训练效率和速度的方法。本文通过预生成区域级软标签方案,提出了一种快速精馏框架。详细讨论了用于实际存储的软标签压缩策略及其性能比较。我们发现了一个有趣的发现,小批中的训练样本可以从相同的输入图像中裁剪出来,以更好地促进数据加载的准确性。通过在监督图像分类和自监督表示学习任务上的演示,我们展示了我们的框架的有效性和适应性。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>