Improved Feature Distillation via Projector Ensemble基于多个投影器集成的知识蒸馏

NIPS2022| Improved Feature Distillation via Projector Ensemble

  • 论文链接:https://papers.nips.cc/paper_files/paper/2022/file/4ec0b6648bdf487a2f1c815924339022-Paper-Conference.pdf
  • 源码链接:https://github.com/chenyd7/PEFD

简介

已有的知识蒸馏方法可以大致分为基于logit,基于特征和基于相似度的方法。根据之前研究,与其他两种算法相比,基于特征的方法通常可以提取出更好的学生网络。

本文推测,模仿教师特征的过程为学生网络训练提供了更清晰的优化方向。尽管特征提取具有更好的性能,但缩小学生模型和教师模型特征空间之间差距仍然具有挑战性。为了提升学生模型特征学习能力,已经开发了各种通过设计更强大的目标函数并确定学生和教师模型层之间更有效的的连接的特征蒸馏方法。

本文发现,从学生模型到教师模型特征空间的特征投影过程在特征提取重起着关键作用,可以重新设计以提高性能。由于学生网络的特征维度并不总是有教师模型特征尺度相同,因此通常需要投影特征映射到公共空间重进行匹配。即使学生和教师网络特征维度相同,在学生网络上安装投影也能提高蒸馏性能。本文假设当最小化学生和教师模型特征差异是,添加投影进行蒸馏有助于缓解过拟合问题。此外受到添加投影进行特征提取有效性启发,提出了一个投影集合以进一步改进。直觉是具有不同初始化的投影会生成不同转换特征。因此根据集成学习理论,使用多个投影器有助于提高学生网络泛化能力。

本文方法

定义 S = { s 1 , s 2 , … , s i , … , s b } ∈ R d × b S=\{s_{1},s_{2},\ldots,s_{i},\ldots,s_{b}\}\in \mathbb{R}^{d\times b} S={ s1,s2,,si,,sb}Rd×b d d d b b b分别是特征维度和批大小。 T = { t 1 , t 2 , … , t i , … , t b } ∈ R m × b T=\{t_{1},t_{2},\ldots,t_{i},\ldots,t_{b}\}\in \mathbb{R}^{m\times b} T={ t1,t2,,ti,,tb}Rm×b。为了匹配教师与学生模型维度,需要一个投影器 g ( ⋅ ) g(\cdot) g()转换学生或教师特征。本文实验中发现,将投影器强加于教师效果较差,因为来自教师原始且信息量更大的特征分布会被破坏。因此在提出蒸馏框架中,训练时投影器添加在学生模型 g ( s i ) = σ ( W s i ) g(s_{i})=\sigma(Ws_{i}) g(si)=σ(Wsi),训练后被移除。

作为多任务学习的特征蒸馏

近期方法,SRRL和CID组合基于特征和基于logit损失提升性能。由于蒸馏方法对超参数和教师-学生组合敏感,额外的目标将增加系数调整的训练成本。为了缓解这个问题,本文特征蒸馏简单使用方向对齐(Direction Alignment, DA)损失:
L D A = 1 2 b ∑ i = 1 b ∣ ∣ g ( s i ) ∣ ∣ g ( s i ) ∣ ∣ 2 − t i ∣ ∣ t i ∣ ∣ 2 ∣ ∣ 2 2 = 1 − 1 b ∑ i = 1 b < g ( s i ) , t i > ∣ ∣ g ( s i ) ∣ ∣ 2 ∣ ∣ t i ∣ ∣ 2 \mathcal{L}_{DA} = \frac{1}{2b}\sum_{i=1}^{b}||\frac{g(s_{i})}{||g(s_{i})||_{2}}-\frac{t_{i}}{||t_{i}||_{2}}||_{2}^{2}=1-\frac{1}{b}\sum_{i=1}^{b}\frac{<g(s_{i}),t_{i}>}{||g(s_{i})||_{2}||t_{i}||_{2}} LDA=2b1i=1b∣∣∣∣g(si)2g(si)∣∣ti2ti22=1b1i=1b∣∣g(si)2∣∣ti2<g(si),ti>
本文假设没有投影器的学生网络训练过程可以被视作为在相同特征空间的多任务学习(蒸馏和分类任务)。此时学生特征倾向于过拟合教师特征,从而降低分类判别力。这里用两种测量方法验证这一假设。一个是测量学生和教师特征的差异:
M D A = 1 − 1 b ∑ i = 1 b < s i , t i > ∣ ∣ s i ∣ ∣ 2 ∣ ∣ t i ∣ ∣ 2 \mathcal{M}_{DA} = 1 - \frac{1}{b}\sum_{i=1}^{b}\frac{<s_{i},t_{i}>}{||s_{i}||_{2}||t_{i}||_{2}} MDA=1b1i=1b∣∣si2∣∣ti2<si,ti>
显然,由于学生特征会直接与教师特征交互,因此在不同种子中,没有投影器的学生MDA性能显著差于有投影器的学生模型。然而通过研究学生特征空间中类别间余弦相似度,发现在没有投影器的情况下提取学生特征判别力较小。类间余弦相似度:
M B C = 1 b ∑ i = 1 b ∑ j = 1 c i < s i , s j > c i ∣ ∣ s i ∣ ∣ 2 ∣ ∣ s j ∣ ∣ 2 \mathcal{M}_{BC} = \frac{1}{b}\sum_{i=1}^{b}\sum_{j=1}^{c_{i}}\frac{<s_{i},s_{j}>}{c_{i}||s_{i}||_{2}||s_{j}||_{2}} MBC=b1i=1bj=1cici∣∣si2∣∣sj2<si,sj>
相似度统计如图2(b)所示。可以看出,与没有投影器的学生网络相比,有投影器的学生网络产生了更多的判别特征。图中所示,在没有投影器情况下,学生模型往往会过度拟合在教师的特征空间。由于分类和蒸馏在同一个特征空间中执行。由于分类和蒸馏任务是在同一个特征空间中执行,因此生成的特征对于分类来说不太可区分。

基于投影器集成的特征蒸馏改进算法

上述分析表明,投影器可以提高学生模型蒸馏性能。受此启发,提出了集成投影器进行进一步改进。使用多个投影器有两个动机。首先,具有不同初始化的投影器提供不同转换特征,这有利于学生的可推广性。其次,由于使用ReLU函数使投影器能够执行非线性特征提取时投影的学生特征可能包含0,而教师模型由于CNN中常用的平均池化层操作不太可能为0。也就是说,在单个投影层情况下,教师和学生模型之间特征分布差距很大,因此使用集成学习是训练误差和泛化能力之间实现良好平衡的自然方式。
L M D A = 1 − 1 b ∑ i = 1 b < f ( s i ) , t i > ∣ ∣ f ( s i ) ∣ ∣ 2 ∣ ∣ t i ∣ ∣ 2 \mathcal{L}_{MDA} = 1 - \frac{1}{b}\sum_{i=1}^{b}\frac{<f(s_{i}),t_{i}>}{||f(s_{i})||_{2}||t_{i}||_{2}} LMDA=1b1i=1b∣∣f(si)2∣∣ti2<f(si),ti>
f ( s i ) = 1 q ∑ k = 1 q g k ( s i ) f(s_{i}) = \frac{1}{q}\sum_{k=1}^{q}g_{k}(s_{i}) f(si)=q1k=1qgk(si) q q q是投影器数量。学生模型损失函数即蒸馏损失 L M D A \mathcal{L}_{MDA} LMDA和分类损失 L C E \mathcal{L}_{CE} LCE组合。

猜你喜欢

转载自blog.csdn.net/qgh1223/article/details/130724222