一、问题与挑战
- 大规模人脸识别在很多领域得以应用,这些系统大多依赖于复杂、参数量多的深度神经网络来实现,计算量大,复杂度高。需要高性能、有并行计算能力的特殊硬件才能执行,不适用于移动设备或嵌入式系统
- 现有的知识蒸馏方法专注于闭集问题下的精度和压缩比,以“测试类别与训练类别是固定的”为前提,不适用于开集任务
- 现有知识蒸馏方法大多数都才去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)
————————————————
版权声明:本文为优快云博主「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(⋅)