简介:
1、提出了一种桥蒸馏方法,将预训练在私有高分辨率人脸上的复杂人脸模型转化为用于低分辨率人脸识别的轻量级模型。
2、跨数据集的解析适应知识转移问题通过两步蒸馏来解决。
第一步:进行跨数据集蒸馏,将先验知识从私有高分辨率人脸转移到公共高分辨率人脸,并生成紧凑且有区别的特征。
第二步:进行分辨率自适应蒸馏,通过多任务学习将先验知识进一步传递给合成的低分辨率人脸。
?上图为桥蒸馏的动机。从私有高分辨率人脸到目标低分辨率人脸的直接知识转移可能很困难。因此,使用公共高分辨率和低分辨率人脸作为桥梁,通过交叉数据集蒸馏和分辨率自适应蒸馏明智地分步蒸馏和压缩知识。
1、相关工作?
1.1低分辨率人脸识别
A、幻觉类别(高分辨率脸部细节被显式推断,然后用于识别过程)
a、将低分辨率人脸拟合到非线性拉格朗日模型。
b、采用奇异值分解和稀疏表示来联合执行人脸幻觉和识别。
c、从低分辨率输入生成高度逼真的高分辨率人脸图像。
d、补充超分辨率和身份联合深度学习方法,该方法具有统一的端到端网络架构,用于解决低分辨率人脸识别问题。
e、GAN预训练方法和全卷积结构来改进人脸重新识别,并采用监督鉴别学习来探索低分辨率人脸识别。
B、嵌入类别(低分辨率计算中隐式编码高分辨率特征,以避免高分辨率重建)
a、将高分辨率和低分辨率的人脸投影到统一的特征空间中,以便它们可以直接匹配。
b、可以通过使用多维缩放、联合稀疏编码或交叉分辨率特征提取和融合、将高分辨率和低分辨率人脸的特征联合变换到统一空间来实现该范式。
从上面来看解决低分辨率人脸识别需要解决两个子问题:
(1)从高分辨率模型转移哪些知识;
(2)如何执行这种转移。
1.2知识蒸馏和迁移
定义:知识蒸馏将学习一种新的、更简单的学生模型,以模仿教师在某些约束条件下的行为,从而最大限度地保持性能并提高速度。
a、提炼一个大型教师模型来训练一个紧凑的学生网络,在更高的隐藏层选择与人脸识别最相关的神经元进行知识迁移。
b、利用交叉质量蒸馏学习识别低分辨率图像的模型。
c、通用蒸馏框架将蒸馏学习与特权信息结合起来。
d、类增量训练策略,通过呈现少量类并逐步添加新类,可以同时学习强分类器和数据表示。e、不遗忘学习方法,该方法仅使用新任务数据来训练网络,同时保留原始能力。
2、桥蒸馏方法框架
? ? ? ? ?该方法框架用于将现有的高分辨率模型转换为更简单的模型,预计在低分辨率识别中效果良好。该框架基本上遵循知识蒸馏的师生框架,但有两步蒸馏。复杂的教师模型首先在高分辨率人脸识别任务中进行训练,然后在低分辨率场景中提取为更简单的学生模型。框架引用了以下符号:
a、域:1)私有域是指用于训练教师模型的外部高分辨率私有人脸数据集,该通常较大 且不需要对框架可见;
? ? ? ? ? ? ?2)公有域是指公共人脸数据集,并用作通过适应和模仿教师知识学习简单学生模型的桥梁;
? ? ? ? ? ? ?3)目标域是指用于识别未看见的低分辨率人脸的部署场景。在不丧失一般性的情况下,我们假设目标域中的人脸分布是可观察的,但标签不可用。
b、教师模型:教师是现成的,并在上进行了预训练。当应用于一个新的数据集时,需要跨数据集传递预先学习的高分辨率知识,而不是从头开始重新训练模型。
假设:教师模型的形式为,由特征提取后端和softmax分类层组成。
因此,给定输入人脸图像,高级特征首先用表示,其通过以获得分类分数。这里表示模型参数。
c、学生模型:通过训练学生在公共数据集上模仿教师的行为,模型的复杂性大大降低。目标是获得一个优化的学生模型,该模型在低分辨率目标数据集上运行良好。和不共享身份,即。但私有数据集和目标数据集之间的分辨率也存在差异。因此,问题是如何正确地传递从中学习到的高分辨率知识,以便于使用对进行低分辨率识别,还需要同时解决分布和分辨率差异问题。
3、跨数据集蒸馏?
跨数据集蒸馏解决了应该从数据集中传递哪些知识这一子问题。它用于压缩和调整教师从学到的知识,使其适应,适应过程应考虑两个因素。
(1)应该保留从知识模型中学习到的高分辨率知识,同时有选择地增强这些知识,使其在信息系统上具有区分性,以便与教师一起从信息系统中提取正确的高分辨率信息。
(2)调整后的特征应该紧凑,以便学生可以用极其有限的资源模仿教师网络的知识。
? ? ? ?在丰富的高分辨率数据集上学习的教师模型通常对于从自己的数据集识别高分辨率人脸很强。这里表示输入的高分辨率人脸图像,是模型参数。
? ? ? ? 希望教师的知识可以转移到学生模型,然后区分输入的低分辨率l脸部图像来自数据集还是。假设也包含高分辨率的人脸,这样教师网络就可以学习高分辨率人脸的详细特征。我们使用符号和以分别表示高分辨率和低分辨率脸部图像。由于知识模型和信息系统可能具有不同的分布,首先将教师从知识模型中学到的知识调整为信息系统。调整过程应考虑两个因素。
(1)它应该保留从学习到的高分辨率知识,同时有选择地增强这些知识,使其在公共数据集上具有辨别力。
(2)适应的特征应该紧凑,以便学生模型可以用极其有限的计算资源模拟它们。
? ? ? ?因此将自适应函数实例化为一个小的子网络,其将高维特征映射到缩减的特征空间中。通过将此自适应模块插入教师模型,可以以数据驱动的方式学习最佳特征映射。
? ? ? ? ? ?给定适配特征,假设一个简单的softmax分类器识别公共数据集中的人脸效果良好。将表示为完全自适应模块,其中是其待学习的参数。
最小化损失函数为:
该损失函数是分类损失C和蒸馏损失D的平衡和,λ作为平衡权重。对于高分辨率公共人脸的分类,我们有:
蒸馏损失D强制调整特征以模仿原始特征在人脸分类上的行为。为此,我们首先在上微调教师的softmax层,获得,表示重新训练的层权重。我们可以将视为一个特征选择器,它保留了原始学习知识的鉴别成分,用于识别中的人脸。然后,蒸馏损失D如下所示:
其中,T是软化softmax输出的温度。蒸馏损失D使用交叉熵来近似软化教师的softmax特征,这确保了适应过程引入了从学习的额外教师知识。除了分类损失C给出的识别能力外,还保留了教师网络的知识。因此,经过调整的特征模拟了原始高分辨率特征的区别性选择的影响,但大大降低了维数。在训练自适应模块后,我们丢弃softmax层,仅保留自适应和缩减的特征作为训练学生模型的监督。
3、分辨率自适应蒸馏?
? ? ? ? 分辨率自适应蒸馏解决了如何从中进行知识转移的子问题。由于学生的能力较弱,模仿适应知识的特征层应足够深,模拟层(mimicking)最好插入到softmax分类的身份层之前。
将分为和,即低分辨率和高分辨率部分,并相应地将其参数分为和。对应于直到模拟层的主要特征分支,由其余层组成。使用以下目标训练学生模型:
其中人脸分类和特征回归组合在统一的多任务学习任务中。对于分类损失仍然采用交叉熵,但这次对来自公共数据集的退化低分辨率版本的人脸图像执行训练是:
其中D(I)表示从I退化的图像集。回归损失R定义为:
在训练之后,教师模型和适应模块被丢弃。在推理过程中,学生模型将低分辨率人脸图像作为输入,并根据任务输出其分类身份特征或标签。
4、方法细节
?教师模型:采用了两种最新的体系结构VGGFace2,CosFace,输入分辨率为112×112,嵌入特征维数为1024,并将其集成到教师模型中。VGGFace2在VGGFace2数据集[的海量高分辨率人脸图像上预训练,分辨率为224×224,而CosFace在CASIAWebFace数据集和大型私有数据集上预训练。
?学生模型:设计了一种轻量级架构。使用p×p, p={96,64,32,16}的各种分辨率来训练学生模型。该架构有十个卷积层、三个最大池化层和三个完全连接层,由ReLU非线性激活。在3×3个卷积层之间相交多个1×1卷积层,以节省存储效率和存储空间提高推理速度。建立两个跳跃连接以增强信息流。全局平均池化层用于进行最终预测。
自适应模块:将教师模型的softmax层之前的特征作为输入。它有两个完全连接的层,分别有512和128个单元。通过Xavier的方法初始化学生模型和自适应模块中的所有权重。在训练期间,首先在中的低分辨率人脸上对学生模型进行预训练,然后根据教师模型提取的高分辨率知识进行监督调整。通过不同因素对中的训练图像进行下采样,以模拟不同级别的退化。
5、总结?
1、提出了一种新的桥蒸馏方法来解决资源有限的低分辨率人脸识别任务。
2、该方法的核心是高效的师生框架,该框架依赖于新的跨数据集蒸馏和分辨率自适应蒸馏算法。
3、该算法首先调整教师模型以保留高分辨率细节的区分性,然后使用它们监督学生模型的训练。
|