论文阅读(8):ShrinkTeaNet: Million-scale Lightweight Face Recognition via Shrinking Teacher-Student Net

在这里插入图片描述

1、问题与挑战html

  1. 大规模人脸识别在不少领域得以应用,这些系统大多依赖于复杂、参数量多的深度神经网络来实现,计算量大,复杂度高。须要高性能、有并行计算能力的特殊硬件才能执行,不适用于移动设备或嵌入式系统
  2. 现有的知识蒸馏方法专一于闭集问题下的精度和压缩比,以“测试类别与训练类别是固定的”为前提,不适用于开集任务
  3. 现有知识蒸馏方法大多数都才去teacher和student的特征间L2距离,要求特征进行精确匹配(exact match),会致使student过正则化,不稳定

2、解决方法/创新web

  1. 提出了新的Teacher-Student Framework,即ShrinkTeaNet,以学习出轻量级、高精度、少参数的人脸识别网络
  2. 提出了Angular Dstillation Loss,以teacher net的特征方向以及样本分布为知识蒸馏到student中,使student更加灵活地提取特征,同时能够处理那些测试集中的未见类别,适用于开集任务

3、背景/介绍
    模型压缩的目的是学习出轻量级网络,该网络能在精度和速度之间达到平衡,主要有两类方法:网络

  1. Network Pruning 网络剪枝:分析并去除heavy network中存在的冗余度,包括三个阶段:
            (1)训练大规模模型(Over-Parameterized);
            (2)基于某些准则为训练好的大模型进行剪枝;
            (3)为剪枝网络进行微调,以达到高性能;
  2. 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 版权协议,转载请附上原文出处连接及本声明。
原文连接app

通常知识蒸馏模型:
在这里插入图片描述     T T S S 分别表示teacher model 和student model的从图像域到特征域的映射函数, T i T_i S i S_i 表示中间层的子函数
在这里插入图片描述
    模型蒸馏的目的是从 T T 中将知识蒸馏到能力有限的 S S 中,使 S S 能够嵌入与 T T 类似的隐藏空间。该目标能够经过在 S S 的训练过程当中逐步比较两者的输出来实现。
    ① g i t ( ) g_i^t(·) g i s ( ) g_i^s(·) 表示特征的转换函数,使teacher和student的特征表示一致,一般是恒等变换或 1 1 C o n v 1*1*Conv ,这个函数控制了前一直是的比例
    ② d ( , ) d(·,·) 表示对 T T S S 特征差别的度量函数,隐含定义了要从 T T 转移到 S S 的知识框架

4、本文提出
    用KD方法来学习适用于开集人脸识别的轻量级网络,须要从两个方面去考虑:
(1)蒸馏知识的表示;
(2)如何在teacher和student之间有效地迁移知识
1.从Teacher超球面蒸馏知识
    对闭集问题
(1)用L2距离计算 T T S S 特征间的类似度差别。对于能力有限的 S S ,这种约束至关于对每一个 F i s F_i^s 进行正则化,会致使过正则化,且 S S 的学习过程会变得艰难:ide

在这里插入图片描述(2)用 T T 的预测几率做为 S S 的soft label,仅适于test classes和train classes固定一致的闭集问题。对开集问题来讲,这种 T T 的预测几率做为知识,没有很大的价值。
    对开集问题,因为test classes未在training中定义过,所以每一个类别的样本分布和类间间隔(margin)成为更有意义的知识。Teacher中样本间的角度差别和样本在Teacher超球面上的分布对student更有用。所以,本文提出将teacher的角度信息做为知识蒸馏到student中。svg

Softmax Loss Revisit在这里插入图片描述
    若是对 W c W_c F n s F_n^s 都进行L2归一化,那么他们之间的角度就成为惟一的分类标准,最小化softmax loss意味着让样本与所属class表示的角度差别达到最小函数

Feature Direction as Distilled Knowledge
    前面提到利用 T T 学习到的角度信息做为知识,其实就是指特征的方向(用角度来表示), S S 的特征方向与 T T 一致,就能够学习到类似的样本分布,使得特征能够在隐藏空间中,分布在任意半径的超球面上。为 S S 的学习过程提供了必定的自由度,去解释 T T 的知识。本文定义为Angular Distillation Loss:
在这里插入图片描述
The Transformation Function
    本文方法中, T T S S 的变换函数分别为恒等变换和 1 1 C o n v 1*1*Conv ,保证不丢失重要的图像信息:性能

g n t ( F n t ) = F n t g_n^t(F_n^t) = F_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 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} 学习

Geometric Interpretation
在这里插入图片描述
    前面说过,若是分别对特征和类别表示进行归一化,那么softmax中惟一的分类标准就是特征与类别表示之间的夹角。
    Figure1(a):给定一个高性能的复杂网络,他学习出的样本分布中,不一样类别间的决策边界具备很大的间隔
    Figure1(b):若是让student网络本身训练,那么它产生的类决策边界的减少,没有足够的判别性将不一样类别的identity给分开
    Figure1(c):用teacher的特征方向作指导,student能够作出更好的决策边界,使不一样类别间具备较大的间隔

2. 从中间层进行知识蒸馏
    设 S S 的输入是问题,输出的特征分布是答案,则中间过程的特征 F i s F_i^s 能够视为 S S 对解决过程的中间理解或解释。为了让 S S 更好地“理解”解决过程, T T 应该向 S S 展现:什么是好的特征表示,以及 当前特征是否足以获得后续步骤的特征分布
    所以, T T 能够再中间各层就对 S S 进行监督,有效地更正 S S ,使 S S 的学习过程更加高效:
在这里插入图片描述
    在中间层进行知识蒸馏,本文用各层 F i t F_i^t F i t F_i^t 之间的角度差别,来验证 F i s F_i^s 的优劣。

3. 用于人脸识别的ShrinkTeaNet
    分别从中间各层以及最后的结果进行知识蒸馏,所以本文ShrinkTeaNet的总目标函数以下:
在这里插入图片描述
下图是ShrinkTeaNet的知识蒸馏框架
在这里插入图片描述
在这里插入图片描述
5、实验结果
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
在这里插入图片描述

5、总结

  1. 本文提出了一个新的Teacher-Student Framework,即ShrinkTeaNet。适用于开集人脸识别任务
  2. 还提出了Angular Distillation Loss,在中间和最后的嵌入阶段进行知识蒸馏,使student以较为松弛的方式来吸取teacher超球面样本分布的知识。在开集问题下,即便测试类别在训练阶段未见,这种知识也能够获得灵活的应用。