目的:运用知识蒸馏方法解决低分辨率人脸识别问题。
方法:与原有知识蒸馏不同,在改进后的知识蒸馏中教师和学生模型的训练集变得不一样,教师模型的训练集保持不变,学生训练集是LR扩增的。因此,由于教师模型的训练集不变,因此无需再更新教师模型。只有学生模型需要在原教师的指导下进行训练。
作用:可以加快整个训练过程,尤其是对于大规模数据集
但是这种方法会引起一个问题,即:教师模型和学生模型的训练集不同,会增加两者的数据分布差异?
对此,本文限制输出之间的多核最大平均差异。
1、知识蒸馏的改进
原有知识蒸馏中会强制让教师模型和学生模型的输出相同,即:
式子中S代表学生网络,T代表教师网络,x代表训练样本。
但是由于缺乏监控场景中的LR训练数据,通常的方法是通过模拟LR图像来扩充现有训练集。如果LR-FR任务采用原有的知识提取方案,通常包括两个步骤:
(1)使用LR增广训练集更新教师权重。
(2) 在新教师模型的指导下,使用相同的训练集训练学生模型。
因此本文为了研究如何避免繁琐的教师模型再训练,并且仍然能够为LR-FR任务培训快速的学生模型。我们提出了一种改进的知识蒸馏方案,其中教师模型仍然使用原始的训练集,学生使用LR扩充的训练集。由于教师培训集不变,因此无需更新教师模型。我们只需要执行一个步骤,即在原教师的指导下训练快速学生模型。
我们的改进方案可以更快地获得LR-FR任务的小型学生模型,因为轻量级学生的训练要简单得多。该方案可表示为方程(2)。
∆ 表示用于数据扩充的LR方差。
然而在这过程中由于教师和学生模型使用不同的训练集,两个训练集之间的分布差异可能会影响精度。因此,我们采用域相似性度量多核最大均值差异(MK-MMD)作为损失函数,以减少域差异并提高性能。
2、原有知识蒸馏损失
在原有知识蒸馏中,我们可以将教师模型的表征能力转化为学生模型。在这里,我们使用不同损失函数的组合来实现这一思想。损失函数包括:软损失;硬损失;L2特征丢失。
这里我们将最终损失表示为Z,教师模型T的软标签可以定义为,其中是温度参数。同样,学生网络S的软标签是。
(1)软损失是和之间的交叉熵:
(2)硬损失是非软标签概率和真实标签y之间的交叉熵:
这里,H(.)表示交叉熵。
(3)对于表征学习,我们使用特征层作为表征来训练学生模型。表征损失实际上是特征L2损失:
这里和分布表示学生网络和教师网络的特征。
在这三种损失中,软损失可以通过使用软标签将知识从教师传递给学生,硬损失可以使学生发展自己的分类能力,表征学习可以提高成绩并加速收敛。这里,在计算L2损失之前,对特征进行归一化。总体损失可表示为方程(6),其中表示归一化特征的L2损失,λ1、λ2和λ3表示硬、软和归一化特征损失的权重。
3、改进后的知识蒸馏损失
(1)LR方差扩充原有数据集
在原始训练集上添加高斯模糊(高斯模糊可以通过使用高斯滤波器卷积每个像素来应用。高斯核的大小决定了缩小比例)。MTCNN用于检测和对齐112×96图像的人脸区域。在这些人脸图像中,随机选择40%的训练集作为LR样本进行降尺度。LR的尺寸包括8×8、12×12、16×16、20×20和30×30。
(2)MK-MMD(多核最大平均差异)
由于学生模型的训练集是LR扩充的,而教师模型的训练集保持不变,这就会增加学生模型和教师模型的差异。因此本文使用MK-MMD作为损失函数,以减少数据集差异,MMD被广泛用作测量两个域之间差异的分布距离。该方法如下式所示。
式中为一个显示映射函数,分布表示从教师和学生训练数据集中提取的两个独立的样本。将其展开,就变形为。
MMD使用核方法将向量投射到更高的维度,这里本文使用高斯核,其中表示数据集中样本对的平方距离之间平均值。而MK-MMD中将高斯分布方差设置为,这样就需要考虑五个高斯核。
(3)损失函数的改进
为了将MK-MMD度量集成到总体损失函数中,本文用归一化特征MK-MMD替换归一化特征L2 损失 。式中x和y分别表示教师和学生模型提取的特征。在本文的方法中,不是使用原始的x和y,而是将其使用的特征归一化为和,从而使它们具有相同的比例。
当然,本文也尝试将MK-MMD应用于软标签,但这会稍微影响准确性。因此,我们仅将MK-MMD用于规范化特征。
其中表示归一化特征的MK-MMD,表示硬、软和归一化特征MK-MMD损失的权重。
4、本文的网络结构
本文中,我们的教师模型是一个64层ResNet模型。对于学生培训的网络体系结构选择,有几种轻型网络体系结构可用,包括SqueezeNet、MobileNet和ShuffleNet、最先进的体系结构模型,包括DenseNet、Inception ResNet和Think \Deepher模型。然而本文得出结论,当学生网络具有类似的网络架构,但通道较少,深度更大时,更薄且更深的模型将产生最佳性能。在我们的工作中,我们采用了36层更薄的ResNet网络作为我们的学生模型,详细的网络架构如下图所示。
5、总结
本文提出了一种改进的LR-FR模型快速训练知识蒸馏方案。为了避免教师模型耗时的训练过程,我们保持教师模型的训练集不变,而只对学生模型的训练集添加LR增广。这可以使我们避免更新教师模型的权重,并且仍然能够训练LR-FR学生模型,这将减少整个训练过程的时间成本。只有在学生模型的训练集中添加LR增广,才能增加教师和学生训练输入之间的分布差异,这种差异可以通过最小化MK-MMD损失函数来减少。
结果表明,该方法在保持学生模型精度的前提下,可以将训练时间减少5倍左右。与教师模型相比,我们的学生模型可以实现3倍的加速,在CPU上运行只需35ms。改进后的方案还可以推广到其他数据方差,如光照、姿态等。