商湯提出低比特人臉識別模型量化訓練的新方法
導讀:在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上的實驗結果
與其他量化方法的兼容性