核心技术

秉承坚持原创的使命,具有完善的产学研体系,拥有多项核心技术能力,让 AI 赋能百业,实现众多行业领域突破创新和落地应用。

返回论文解读

商汤提出低比特人脸识别模型量化训练的新方法

2020-05-13 10:03

导读:在CVPR 2020 上,商汤身份认证团队首次提出了用于低比特人脸识别模型量化训练的旋转一致的余量损失函数(Rotation Consistent Margin Loss, RCM)。开集人脸识别区别于普通闭集分类任务,属于度量学习范畴,然而鲜有针对开集人脸识别的量化研究。该工作针对低比特人脸识别模型的量化,在特征空间重新定义了量化误差,并分析了量化误差对特征分布的影响,最终提出了旋转一致的余量损失函数。在多个人脸测试集上达到了SOTA结果。

动机

近年来深度卷积神经网络的出现极大地提升了人脸识别精度,促进人脸识别的大规模应用,如安防布控、人证比对、楼宇门禁、手机解锁等场景。然而过大的存储开销和推理时间,限制了复杂模型在端侧设备的部署。量化技术是解决该问题的有效方法之一。其核心思想是用低比特(如4bit)位宽表示网络权重(weights)和激活值(activations),从而同时降低存储和加速推理。然而将全精度的连续值映射为低比特表示的离散值的量化过程会引入量化误差。有许多关于缩小量化误差的方法被提出,然而都集中在普通闭集分类任务或目标检测任务。开集人脸识别,属于度量学习的范畴,理论上需要将相同ID的人映射到特征空间中的同一点,不同ID的人尽可能远离,其对量化误差更为敏感,量化造成的精度损失也更为严重。在图1中,(a)直观的展示了开闭集的量化过程;(b)定量对比了量化前后精度的变化;(c)对比了量化前后正对(ID相同的 不同照片)在特征空间中的夹角。

方法

针对上文所述开集人脸识别量化面临的挑战,本工作提出了用于低比特人脸识别模型量化训练的旋转一致的余量损失函数。

随着SphereFace、CosFace、ArcFace等工作的提出,人脸特征被认为分布于半径固定的超球表面,特征模长不再对识别产生影响。相似性度量也从l2距离转换为余弦相似度。基于此,本文将人脸识别模型的量化误差定义为全精度模型特征与对应量化模型输出特征之间的夹角,即

基于上述定义,本工作对量化误差进行了分析。我们使用ArcFace在CASIA-WebFace上训练了ResNet18,并分别量化至8、6和4bit。为了避免修改模型权重,此处采用的是post-training 量化方式。

基于上述实验,我们得到三个重要观察。

观察一:随着位宽的降低,类中心的量化误差急剧增大(如图2(a)所示)。此处,类中心定义为同一类中所有图像特征的均值。

分析一:较大的类中心误差说明个体的量化误差并非随机,而是朝着同一方向旋转,最终导致整个类的偏移。在MobileNetV2和VGG上进行了重复试验,以排除模型结构的影响。我们将类中心量化误差记为类误差(class error)。

 

观察二:量化前后,类间夹角均保持在90°(如图2(b)所示)。

分析二:稳定的类间分布说明量化误差并不减弱类间可分性。
 

观察三:量化后,类内散度增大,且位宽越小,散度越大(如图2(c)所示)。

分析三:类内散度的增加说明量化误差削弱了类内紧凑性。

基于上述分析与观察,本工作提出将一张图像的量化误差分解为类误差和个体误差,

以前的方法要么忽略量化误差——直接基于原有损失函数进行监督训练,要么尝试消除整个量化误差。一个自然的疑问是:提高量化模型精度等价于减少量化误差吗?基于上述分析,我们认为至少对于人脸识别任务,这种假设是不成立的。首先,虽然类误差的数值较大,但它表示类整体的移动,且量化后的类间可分性并未减弱。而个体误差则严重损害了类间紧凑性,是造成精度降低的主要原因。如果粗暴地尝试直接消除整个量化误差,则来自于类误差的监督会导致量化模型更加关注于将类整体移向全精度时的位置,而非重建类内紧凑性。

因此,本工作将个体误差作为余量(margin)引入原有人脸识别损失函数,提出旋转一致的余量损失函数(Rotation Consistent Margin Loss)

完整的训练流程如图所示:

实验结果

本方法在多个人脸测试集上取得了SOTA的结果。此外,本方法可以和其他量化方法相结合,进一步提升性能。

在LFW和YTF上的实验结果

在Megaface上的实验结果

在IJB-C上的实验结果

与其他量化方法的兼容性