一、问题与挑战
- 大规模人脸识别在很多领域得以应用,这些系统大多依赖于复杂、参数量多的深度神经网络来实现,计算量大,复杂度高。需要高性能、有并行计算能力的特殊硬件才能执行,不适用于移动设备或嵌入式系统
- 现有的知识蒸馏方法专注于闭集问题下的精度和压缩比,以“测试类别与训练类别是固定的”为前提,不适用于开集任务
- 现有知识蒸馏方法大多数都才去teacher和student的特征间L2距离,要求特征进行精确匹配(exact match),会导致student过正则化,不稳定
二、解决方法/创新
- 提出了新的Teacher-Student Framework,即ShrinkTeaNet,以学习出轻量级、高精度、少参数的人脸识别网络
- 提出了Angular Dstillation Loss,以teacher net的特征方向以及样本分布为知识蒸馏到student中,使student更加灵活地提取特征,同时可以处理那些测试集中的未见类别,适用于开集任务
三、背景/介绍
模型压缩的目的是学习出轻量级网络,该网络能在精度和速度之间达到平衡,主要有两类方法:
- Network Pruning 网络剪枝:分析并去除heavy network中存在的冗余度,包括三个阶段:
(1)训练大规模模型(Over-Parameterized);
(2)基于某些准则为训练好的大模型进行剪枝;
(3)为剪枝网络进行微调,以达到高性能; - Knowledge Dstillation 知识蒸馏:学习出一个轻量级网络,它可以模仿复杂网络(teacher)的行为,达到与之相似的效果。从teacher中转移有用的信息给student,可以使student更加灵活、有效地训练。
★ 一般做法:最小化teacher和student提取的特征间的L2距离,这就使二者的特征达到“精确匹配”,不适用于开集任务
★ Hinton提出,由teacher预测的类别概率之间的隐藏关系更有信息价值,因此teacher的预测结果会作为student的soft label,和ground truth label一起作为student训练的监督信息
Hinton的文章"Distilling the Knowledge in a Neural Network"首次提出了知识蒸馏(暗知识提取)的概念,通过引入与教师网络(teacher network:复杂、但推理性能优越)相关的软目标(soft-target)作为total loss的一部分,以诱导学生网络(student network:精简、低复杂度)的训练,实现知识迁移(knowledge transfer)
————————————————
版权声明:本文为CSDN博主「Law-Yao」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接
一般知识蒸馏模型:
T
T
T和
S
S
S分别表示teacher model 和student model的从图像域到特征域的映射函数,
T
i
T_i
Ti和
S
i
S_i
Si表示中间层的子函数
模型蒸馏的目的是从
T
T
T中将知识蒸馏到能力有限的
S
S
S中,使
S
S
S可以嵌入与
T
T
T相似的隐藏空间。该目标可以通过在
S
S
S的训练过程中逐步比较二者的输出来实现。
①
g
i
t
(
⋅
)
g_i^t(·)
git(⋅)和
g
i
s
(
⋅
)
g_i^s(·)
gis(⋅)表示特征的转换函数,使teacher和student的特征表示一致,通常是恒等变换或
1
∗
1
∗
C
o
n
v
1*1*Conv
1∗1∗Conv ,这个函数控制了前一直是的比例
②
d
(
⋅
,
⋅
)
d(·,·)
d(⋅,⋅)表示对
T
T
T和
S
S
S特征差异的度量函数,隐含定义了要从
T
T
T转移到
S
S
S的知识
四、本文提出
用KD方法来学习适用于开集人脸识别的轻量级网络,需要从两个方面去考虑:
(1)蒸馏知识的表示;
(2)如何在teacher和student之间有效地迁移知识
1.从Teacher超球面蒸馏知识
对闭集问题,
(1)用L2距离计算
T
T
T和
S
S
S特征间的相似度差异。对于能力有限的
S
S
S,这种约束相当于对每个
F
i
s
F_i^s
Fis进行正则化,会导致过正则化,且
S
S
S的学习过程会变得艰难:
(2)用
T
T
T的预测概率作为
S
S
S的soft label,仅适于test classes和train classes固定一致的闭集问题。对开集问题来说,这种
T
T
T的预测概率作为知识,没有很大的价值。
对开集问题,由于test classes未在training中定义过,因此每个类别的样本分布和类间间隔(margin)成为更有意义的知识。Teacher中样本间的角度差异和样本在Teacher超球面上的分布对student更有用。因此,本文提出将teacher的角度信息作为知识蒸馏到student中。
Softmax Loss Revisit
如果对
W
c
W_c
Wc和
F
n
s
F_n^s
Fns都进行L2归一化,那么他们之间的角度就成为唯一的分类标准,最小化softmax loss意味着让样本与所属class表示的角度差异达到最小
Feature Direction as Distilled Knowledge
前面提到利用
T
T
T学习到的角度信息作为知识,其实就是指特征的方向(用角度来表示),让
S
S
S的特征方向与
T
T
T一致,就可以学习到相似的样本分布,使得特征可以在隐藏空间中,分布在任意半径的超球面上。为
S
S
S的学习过程提供了一定的自由度,去解释
T
T
T的知识。本文定义为Angular Distillation Loss:
The Transformation Function
本文方法中,
T
T
T和
S
S
S的变换函数分别为恒等变换和
1
∗
1
∗
C
o
n
v
1*1*Conv
1∗1∗Conv,保证不丢失重要的图像信息:
g
n
t
(
F
n
t
)
=
F
n
t
g_n^t(F_n^t) = F_n^t
gnt(Fnt)=Fnt
g
n
s
(
F
n
s
)
=
H
n
s
:
R
h
n
∗
w
n
∗
m
n
s
−
>
R
h
n
∗
w
n
∗
m
n
t
g_n^s(F_n^s) = H_n^s : R^{h_n*w_n*m_n^s} -> R^{h_n*w_n*m_n^t}
gns(Fns)=Hns:Rhn∗wn∗mns−>Rhn∗wn∗mnt
Geometric Interpretation
前面说过,如果分别对特征和类别表示进行归一化,那么softmax中唯一的分类标准就是特征与类别表示之间的夹角。
Figure1(a):给定一个高性能的复杂网络,他学习出的样本分布中,不同类别间的决策边界具有很大的间隔
Figure1(b):如果让student网络自己训练,那么它产生的类决策边界的减小,没有足够的判别性将不同类别的identity给分开
Figure1(c):用teacher的特征方向做指导,student可以做出更好的决策边界,使不同类别间具有较大的间隔
2. 从中间层进行知识蒸馏
设
S
S
S的输入是问题,输出的特征分布是答案,则中间过程的特征
F
i
s
F_i^s
Fis可以视为
S
S
S对解决过程的中间理解或解释。为了让
S
S
S更好地“理解”解决过程,
T
T
T应该向
S
S
S展示:什么是好的特征表示,以及 当前特征是否足以得到后续步骤的特征分布
因此,
T
T
T可以再中间各层就对
S
S
S进行监督,有效地更正
S
S
S,使
S
S
S的学习过程更加高效:
在中间层进行知识蒸馏,本文用各层
F
i
t
F_i^t
Fit和
F
i
t
F_i^t
Fit之间的角度差异,来验证
F
i
s
F_i^s
Fis的优劣。
3. 用于人脸识别的ShrinkTeaNet
分别从中间各层以及最后的结果进行知识蒸馏,因此本文ShrinkTeaNet的总目标函数如下:
下图是ShrinkTeaNet的知识蒸馏框架:
五、实验结果
1.数据集
MS-Celeb-1M: 5.8M photos from 85K identities
Labeled Faces in the Wild (LFW) : 13,233 in-the-wild facial images of 5749 subjects.
MegaFace : 1 million images of 690K subjects, the probe set consists of
100K photos from 530 identities.
Celebrities Frontal-Profifile : 7000 matching pairs from 500 subjects
AgeDB : 4 testing age groups, each group consists of 10 splits of 600 matching pairs from 440 subjects.
IJB-B and IJB-C : IJC-B provides 12115 templates with 10270 positive matches and 8M negative matches, IJB-C, further provides 23124 templates with 19557 positive and 15639K negative matching pairs.
2.实现细节
Face Detection: MTCNN
Image Size: 112 * 112
Teacher Model: ResNet-100
Student Model: MobileNetV1/V2, MobileFaceNet
3.结果对比
Small-scale Protocols
Megaface Protocol
IJB-B and IJB-C Protocols
五、总结
- 本文提出了一个新的Teacher-Student Framework,即ShrinkTeaNet。适用于开集人脸识别任务
- 还提出了Angular Distillation Loss,在中间和最后的嵌入阶段进行知识蒸馏,使student以较为松弛的方式来吸收teacher超球面样本分布的知识。在开集问题下,即使测试类别在训练阶段未见,这种知识也可以得到灵活的应用。