即使是你的老师也需要指导:真实目标抑制了自我蒸馏所施加的正则化。
知识蒸馏是一个经典的程序,其中一个神经网络与原始目标一起在另一个网络的输出上进行训练,以便在架构之间转移知识。在自我蒸馏的特殊情况下,网络架构是相同的,已经被观察到可以提高泛化的准确性。在本文中,我们考虑了在核回归设置中自我蒸馏的迭代变体,其中连续的步骤包含了模型输出和地面真实目标。这使得我们能够提供第一个关于在自我蒸馏过程中使用加权真实目标的重要性的理论结果。我们的重点是用适合蒸馏的加权均方误差目标函数来拟合非线性函数的训练数据,但要符合模型参数的’2正则化。我们表明,通过自蒸馏得到的任何这样的函数都可以直接计算为初始拟合的函数,而且无限蒸馏步骤产生的优化问题与原始的放大正则化问题相同。此外,我们为每一步的加权参数的最佳选择提供了一个封闭式的解决方案,并展示了如何为深度学习有效地估计这个加权参数,与网格搜索相比,大大降低了计算要求。
…
自我蒸馏的想法是将训练好的模型的输出与原始目标一起作为新的目标,从头开始重新训练同一个模型。我们把这称为自我蒸馏的一个步骤,人们可以为多个蒸馏步骤迭代这个程序(见图1)。经验表明,这个过程通常比仅仅在原始目标上训练的模型具有更好的概括性,并在验证数据上取得更高的预测性能,尽管训练期间没有提供额外的信息(Furlanello等人,2018;Ahn等人,2019;Y ang等人,2018)。
图1:初始训练后两步的自我蒸馏说明,我们使用符号f(τ)=f(·,ˆβ(τ))。详见第3节。
现代深度神经网络通常在过度参数化的体制下进行训练,可训练的参数数量高度超过训练样本的数量。在简单的一阶方法(如梯度下降)下,这样的大型网络可以适应任何目标,但为了很好地泛化,这种过度拟合通常是不可取的(Zhang等人,2017;Nakkiran等人,2020)。因此,在训练过程中通常会施加某种类型的正则化,以避免过拟合。一个常见的选择是在我们的目标函数中添加l2-正则化项,这已被证明与早期停止的梯度下降训练有可比性(Yao等人,2007)。然而,在超参数化制度的理论研究中,正则化经常被忽视,但最近的结果显示,通过神经切线核(NTK),宽神经网络和核脊回归之间存在联系(Lee等人,2019,2020;Hu等人,2019)。我们在C节中简要阐述了这种联系,这促使我们在第5节中设置问题并与深度学习建立联系。
…
据我们所知,很少有论文从严格的理论角度研究知识蒸馏,而那些研究的论文则对设置进行了强有力的假设。Phuong和Lampert(2019)在蒸馏过程中忽略了地面真实目标,并进一步假设了线性模型。Mobahi等人(2020)研究了自蒸馏在希尔伯特空间设置的核脊回归模型中,教师在真实目标上进行训练,而学生(以及随后的迭代)只在教师的预测上进行训练,而没有接触到真实目标。他们表明,自蒸馏会逐渐限制用于表示解决方案的基础函数的数量,从而最终导致解决方案的欠拟合。在本文中,我们以Mobahi等人(2020)的理论结果为基础,但我们将加权的真实目标纳入自我蒸馏程序中,我们允许权重取决于自我蒸馏步骤,并展示了这如何极大地影响自我蒸馏的行为和效果。
我们的贡献,通过理论分析,我们表明:
1.任何蒸馏步骤的解决方案都可以很容易地被计算为初始拟合的函数,无限多的自蒸馏步骤(有固定的蒸馏权重)对应于解决通常的核脊回归问题,对于非零权重有一个特定的放大的正则化参数。
2.对于固定的蒸馏权重,自蒸馏会在每个蒸馏步骤中放大正则化,而真实目标会抑制自蒸馏解决方案的稀疏化和正则化,确保任何数量的蒸馏步骤的解决方案都不会为零。
3.最佳蒸馏权重对于核脊回归来说有一个封闭式的解决方案,与网格搜索相比,可以有效地估计神经网络。
我们所有结果的证明可以在补充材料A中找到,复制我们在第4.5节的例子和B节的结果的代码可以在github.com/Kennethborup/self_distillation找到。
3.1核脊回归的自我稀释
为了避免过度拟合我们的训练数据,我们将对我们的权重施加一个正则化项,从而研究核脊回归函数f∈F映射f:X→Y,以构建一个最接近真实的底层数据生成图的解决方案,并对来自该底层图的新的未见过的数据进行良好的泛化。我们在核脊回归的设置中考虑了自蒸馏;即考虑(自蒸馏)目标函数:
其中,α∈[0,1],λ>0,y1,y2∈Rn,f(X,β)=ϕ(X)β。(1)中的目标是两个目标不同的均方误差(MSE)目标函数的加权和,以及对模型权重的L2-规则化。
对(1)的最小化,即对β的最小化是直接的,得到的是最小化器:
这个解决方案也可以看作是对Representer定理(Schölkopf等人,2001)的直接应用。让y(0)def= y,即原始目标,并递归定义为步骤τ≥1。
对于固定的α(τ) ∈ [0, 1]。注意,根据定义,初始步骤(τ=1)对应于标准训练,因此与α(1)无关。自我蒸馏法将来自该初始模型对X的预测值y(1)的加权平均数和真实目标y作为目标。这个程序按照(3)-(5)中的定义重复进行,我们得到了图1中所示的自蒸馏程序。注意,特殊情况下α(τ)=0和α(τ)=1分别对应于仅对上一步的预测进行训练,以及仅对原始目标进行训练。因此,α(τ)=1通常不值得关注,因为其解等于经典的核脊回归,而且自振在这种情况下不起作用。我们经常会考虑等权重的特殊情况,α(2) = … = α(τ) = α,如果α = 0,这相当于Mobahi等人(2020)在一个稍有不同的设置中所研究的设置。因此,下面的一些结果可以被看作是Mobahi等人(2020)对阶梯式和非零α的概括。
在这一节中,我们介绍了我们对有限和无限多蒸馏步骤的主要结果,以及最佳α(τ)的闭合形式的解决方案,还有一个说明性的例子,强调了所选择的(α(t))序列对解决方案的影响。
4.1有限的自蒸馏步骤
我们的第一个结果来自于简单的计算,即任何有限数量的蒸馏步骤后得到的预测结果可以直接表示为y和初始拟合时计算的核矩阵K的函数(τ = 1)。
理论4.1
由于(6)和(7)只用K、(K+λIn)-1和κ(x,X)表示,我们能够计算出对训练数据以及任何x∈Rd的预测,只需基于初始拟合(τ=1),而不需要任何额外的拟合。因此,尽管K、κ(x, X),特别是(K + λIn)-1的计算(可能)要求很高,但在获得后,我们可以通过定理4.1中的方程直接计算出任何蒸馏步骤。此外,步骤τ的预测可以被看作是两个经典的脊回归解决方案的加权组合,分别基于原始目标和步骤τ-1的预测目标。然而,为t=2, …,τ选择适当的α(t)是不容易的。, τ的适当的α(t)是不难的。我们在第4.3节和第4.4节中探讨这些动态。首先,我们使用定理4.1来分析自蒸馏逐步强加给解决方案的正则化。
4.2有效稀疏化自蒸馏的方法
我们现在表明,我们可以将解表示为基函数的加权和,当我们增加τ时,这个基会稀疏化,而且稀疏化的程度也取决于α的选择。Mobahi等人(2020)对τ≥1的固定α(τ)=0的特殊情况证明了类似的稀疏化结果,特别是,我们的(13)概括了他们论文中的方程(47)。
使用对称矩阵K的光谱分解法,我们令K=VDVT,其中V∈Rn×n是一个正交矩阵,K为行特征向量,D∈Rn×n是一个非负对角矩阵,相关的特征值在对角线上。插入对角线化后,得到:
通过使用(6)和(9)的直接计算,我们可以得出:
…(计算过程见原文)
定理4.2
…
因此,解决方案f(·, ˆβ(τ))可以表示为一些基础函数的加权和,其中基础函数是正交变换和缩放的基础p(x)的组成部分,而z是一个正交变换的目标矢量。现在假设α(2) = … = α(τ) = α,在本节的其余部分,任何τ≥2。在下文中,我们将说明当α<1时,B(τ)是如何随着每个蒸馏步骤而有效地稀疏化的,从而也有效地稀疏化了解f(-, ˆβ(τ))。定理4.2不仅提供了B(τ)的递归公式,而且还表明B(τ)的每个对角线元素都在[0, 1]中,并且在τ中严格递减,这反过来意味着自蒸馏过程会逐渐缩小基函数的系数。利用定理4.2,我们现在可以证明,不仅B(τ)在τ中减少,而且B(τ)中较小的元素比较大的元素收缩得更快,这一点我们将在定理下面详细说明。
定理4.3
…
如果我们考虑D的一对对角线,其中dk>dj,那么对于α=0,[B(τ)]k,k/[B(τ)]j,j的分数在τ中是严格增加的,这是因为括号内的(14)的r.h.s.严格大于1,因此,随着τ的增加,对应于小特征值的对角线收缩的速度比大特征值的对角线快。然而,对于α∈(0, 1),我们不能确保这种行为,但是在步骤τ,我们能够通过使用(15)来预测步骤τ+1的行为。因此,当我们在蒸馏过程中包括地面真实目标时,我们并没有在每个蒸馏步骤中持续增加正则化,而是有可能得到一个不再稀疏化的解决方案。我们现在把注意力转向如何以最佳方式挑选α(τ)的问题,并发现如果我们放松权重被限制在区间[0, 1]的条件,就可以做到这一点。
4.3封闭式最佳加权参数
回顾一下,˜X∈Rm×d是验证输入的矩阵,˜y∈Rm是验证目标的向量。如果我们允许α(τ)∈R,我们可以在每一步τ找到一个最优的α(τ)(它是λ的一个非微观函数),用α*(τ)表示。
定理4.4
…
由于˜y(1)和˜y(τ) α=0都不依赖于α(τ)的选择,我们可以像算法1中提出的那样递归地计算α*(τ),其中α*(τ)有(16)中的封闭形式。结合第4.2节的对角线化结果,我们可以有效地计算出解。这应该与在[0, 1]上用g个等距值对α进行网格搜索进行比较,以便近似计算出最优的α,如果对每个τ≥2的步骤序列使用相同的α,则需要g(τ-1)+1个模型拟合(如果α在各蒸馏步骤中不固定,则需要g(τ-1))。然而,根据算法1,只需进行2(τ - 1) + 1次模型拟合,就可以得到精确的最优值,而不是近似值。在第5节中,我们将算法1应用于深度学习环境中的近似α*(τ)。
算法1…
4.4无限次的自我蒸馏步骤
我们现在证明,如果我们以固定的α(即α(2) = … = α(τ) = α)进行无限次的蒸馏步骤(τ → ∞),那么解决方案将解决经典的核脊回归问题,如果α>0,则有一个放大的正则化参数(通过α-1)。请注意,当α=0和τ→∞时,(6)和(7)得出预测y(∞)和f(x,ˆβ(∞))对于任何x∈Rp都会塌陷到零解,这是由Mobahi等人(2020)所预期的。
定理4.5
…
我们的结果从理论上解释了为什么要把α(τ)作为一个可调节的超参数来微调自振对特定问题施加的正则化量,并且可以以最佳方式选择核脊回归。在下文中,我们提供了一个说明性的例子,在第5节中,我们使用算法1的改编来估计深度学习的最佳加权参数。
4.5说明性的例子
…
图2.六个步骤的自我蒸馏,(a)零极限解(虚线),(b)非零极限解(虚线),和(c)最佳步长α*(τ)训练实例用×表示。
如图2a的情况(a)所示,自我蒸馏施加的正则化最初提高了解决方案的质量,但最终过度正则化,解决方案与数据不匹配,最终将收敛到零解决方案。使用α>0(见图2b),更具体地说,α=0.25,减少了强加的正则化,增加了蒸馏过程的稳定性;也就是说,每个蒸馏步骤之间的解决方案差异要小很多。这允许在迭代蒸馏步骤中对解决方案进行更密集的探索,增加α可以减少两个连续步骤的解决方案之间的差异,但也减少了可能的解决方案的空间,因为极限f(-, ˆβ(∞))迅速接近初始解决方案f(-, ˆβ(1))。 然而,对于τ>2,选择逐步优化的α* (τ) 可以对解决方案产生微小的变化,而且一个蒸馏步骤就已经很有效。此外,对于τ≥3,所有的α?(τ)都近似相等,蒸馏过程已经达到了平衡。
…
以下实验的目的是在一个简单的深度学习环境中对上述理论分析进行经验评估。在(16)中,当f(-, ˆβ(τ))是一个(自我蒸馏的)核脊回归时,我们找到了α*(τ)的封闭形式。对于神经网络来说,无法找到闭合形式的解决方案,但最近的结果表明,(非常)宽的神经网络可以被看作是具有神经切核的核脊回归解决方案(Jacot等人,2018;Arora等人,2019;Lee等人,2019,2020)。
…
5.1实验
我们在CIFAR-10(Krizhevsky和Hinton,2009)上用ResNet-50(He等人,2016)网络进行自我蒸馏,并进行了少量预处理和增强。该模型在每一步都是随机初始化的14,并根据上述情况用估计的最佳参数ˆα(τ)或所有步骤的固定α进行训练。我们在每个蒸馏步骤中使用最后一次迭代训练的网络权重来进行下一步的训练,而不考虑在训练的早期是否出现了更好的模型。我们的模型被训练为固定的75个epoch,每个实验在11个蒸馏步骤链上用4个不同的随机种子重复进行,对应于α∈{0.0, 0.1, . . , 0.9}和ˆα(τ),第一个模型在所有链上的初始化是相同的。在第τ步报告的准确性是基于将训练和验证预测Y(τ)和f( ˜X, ˆβ(τ))与原始训练和验证目标;Y和˜Y进行比较。
图5:在CIFAR-10上用ResNet-50模型对五个蒸馏步骤进行训练和验证的准确性。比较了t=2 . . . τ的固定α(t)和每一步用ˆα(t)估计最佳权重。τ,以及在每个步骤中用ˆα(t)估计最佳权重。实验重复四次,报告了平均值(和阴影中的最大/最小值)。
在本文中,我们从理论上论证了在用核脊回归进行自我蒸馏时,用真实目标对教师输出进行加权的重要性,以及最佳加权参数的封闭形式解决方案。我们证明了任何(可能是无限的)蒸馏步骤的解决方案可以直接从初始蒸馏步骤中计算出来,并且无限多步骤的自我蒸馏对应于具有放大正则化参数的经典核脊回归解决方案。我们从经验和理论上表明,加权参数α决定了自我蒸馏所施加的正则化量,并在一个简单的深度学习环境中实证支持我们的结果。