機器之心專欄
機器之心編輯部
本文介紹被機器學習頂級國際會議 AAAI 2023 接收的論文 《Improving Training and Inference of Face Recognition Models via Random Temperature Scaling》。論文創新性地從概率視角出發,對分類損失函數中的溫度調節參數和分類不確定度的內在關係進行分析,揭示了分類損失函數的溫度調節因子是服從 Gumbel 分布的不確定度變量的尺度係數。從而提出一個新的被叫做 RTS 的訓練框架對特徵抽取的可靠性進行建模。基於 RTS 訓練框架來訓練更可靠的識別模型,使訓練過程更加穩定,並在部署時提供一個對樣本不確定度的度量分值,以拒識高不確定的樣本,幫助建立更魯棒的視覺識別系統。大量的實驗表明 RTS 可以穩定訓練並輸出不確定度度量值來建立魯棒的視覺識別系統。
論文地址:https://arxiv.org/abs/2212.01015
開源模型:https://modelscope.cn/models/damo/cv_ir_face-recognition-ood_rts/summary
背景
不確定性問題:視覺識別系統在真實場景中通常會遇到多種干擾。例如:遮擋(裝飾物或者複雜的前景),成像模糊(焦點模糊或者運動模糊),極端光照(過曝或者曝光不足等)。可以把這些干擾都歸納為噪聲的影響,此外還有誤檢圖片,通常有貓臉或狗臉等,這些誤檢測的數據被稱作 out-of-distribution(OOD)數據。對於視覺識別來說,上述的噪聲和 OOD 數據都構成了不確定性的來源,受到影響的樣本會在基於深度模型提取的特徵上疊加不確定性,給視覺識別系統帶來干擾。例如若底庫圖被不確定干擾的樣本污染,會形成 「特徵黑洞」,給視覺識別系統帶來隱患。因此需要對表徵可靠性進行建模。
表徵可靠性建模相關工作
傳統多模型解法
傳統的在視覺識別鏈路中對可靠性進行控制的方法是通過一個獨立的質量模型完成的。典型的圖像質量建模的方式如下:
1、收集標註數據進行具體影響質量因素的標註,比如清晰度如何,有無遮擋以及姿態如何。
2、根據影響因素的標註 label 進行和 1~10 質量分的映射,分數越高對應的質量越好,具體示例可以參考下圖左側示例。
3、由前兩步操作得到質量分的標註後進行有序回歸訓練,從而在部署階段對質量分進行預測,如下圖右側示例。
獨立質量模型的方案在視覺識別的鏈路中需引入新的模型,且訓練依賴標註信息。
DUL
不確定度建模的方法有「Data Uncertainty Learning in Face Recognition」,把特徵建模為高斯分布均值和方差的加和,把包含不確定性的特徵送入之後的分類器進行訓練。從而可以在部署階段得到和圖像質量相關的不確定度的分值。
DUL 用加和的方式描述不確定度,噪聲估計值的尺度也和某一類數據的特徵分布緊密程度相關。如果數據分布是比較緊密的,那麼 DUL 估計出的噪聲的尺度也是比較小的。在 OOD 領域的工作指出,數據分布的密度對於 OOD 識別來說不是一個好的度量方式。
GODIN
OOD 領域的工作「Generalized odin: Detecting out-of-distribution image without learning from out-of-distribution data」用聯合概率分布的形式處理 OOD 數據,分別用兩個獨立的分支 h(x) 和 g(x) 估計分類概率值和溫度調節值。
由於溫度值被建模為概率值,範圍被限制在 0-1 之間,對溫度沒有進行更好的建模。
方法
針對上述問題和相關工作,本文從概率視角出發,對分類損失函數中的溫度調節因子和不確定度之間的關聯進行分析,提出了 RTS 訓練框架。
基於概率視角對溫度調節因子進行分析
首先對溫度調節因子和不確定度之間的關聯進行分析。
設不確定度是符合標準 Gumbel 分布的隨機變量,則概率密度函數可以寫為
,累積分布函數為
,分類為 k 類的概率值為:
將
帶入上式可以得到:
可以看到,分類為 k 類的概率值就是符合 softmax 函數的分值,同時我們可以用一個 t 來調節不確定度的尺度,即
,則符合標準 Gumbel 分布:
可以看到,此時分類為 k 類的概率值就是符合帶溫度調節值為 t 的 softmax 函數的分值。
對溫度進行建模
對溫度建模的約束在訓練中用下述的正則項實現
訓練方式
整體的算法整理為:
更多詳細的分析和理論證明請參見論文。
結果
在訓練階段,訓練數據只包含 face 訓練數據的。誤檢測的貓臉和狗臉的 OOD 數據,用來在測試時驗證對 OOD 數據的識別效果和測試說明 OOD 樣本不確定度在訓練過程中不同階段的動態過程。
訓練階段
我們畫出了 in-distribution 數據(face)和 out-of-distribution 數據(誤檢測為 face 的貓臉和狗臉)在不同 epoch 數的不確定度分值,從下圖可以看到初始階段所有樣本的不確定度分值都分布在較大值的附近,隨著訓練的進行,OOD 樣本的不確定性逐漸升高,face 數據的不確定度逐漸降低,且 face 質量越好,不確定度就越低。通過設置閾值可以區分 ID 數據和 OOD 數據,且通過不確定度的分值反應圖像質量。
為了說明在訓練階段對噪聲訓練數據的魯棒性。本文對訓練集施加不同比例的噪聲,基於不同比例噪聲訓練數據的模型識別效果如下表,可以看到 RTS 對基於噪聲數據的訓練也能得到較好的識別效果。
部署階段
下圖表明在部署階段 RTS 框架得到的不確定度分值和 face 質量呈現高相關性
同時在 benchmark 上繪製了去掉低質量樣本之後的錯誤匹配曲線。根據得到的不確定度分值,按照不確定度從高到底的順序把 benchmark 中不確定度較高的樣本去除,然後繪製剩下樣本的錯誤匹配曲線。從下圖可以看到,隨著過濾的不確定性較高的樣本越多,錯誤匹配是越少的,而去掉相同數量的不確定性樣本時,RTS 的錯誤匹配更少。
為了驗證不確定度分值對 OOD 樣本的識別效果,在測試時構建 in-distribution 數據集(face)和 out-of-distribution 數據集(誤檢測為 face 的貓臉和狗臉)。數據樣例如下。
我們從兩個方面來說明 RTS 的效果。首先繪製不確定度的分布圖,從下圖可以看到,RTS 方法對 OOD 數據具有較強的區分能力。
同時還繪製了 OOD 測試集上的 ROC 曲線,計算了 ROC 權限的 AUC 值,可以看到 RTS 的不確定度分值對 OOD 數據可以較好的識別。
通用識別能力
在 benchmark 上測試通用識別能力,RTS 在不影響 face 識別能力的基礎上增加了對 OOD 數據的識別能力。使用 RTS 算法可以在識別和 OOD 數據識別上取得一個均衡的結果。
應用
本文模型已在 modelscope 開源。另外給大家介紹下 CV 域上的開源免費模型,歡迎大家體驗、下載(大部分手機端即可體驗):
1.https://modelscope.cn/models/damo/cv_resnet50_face-detection_retinaface/summary
2.https://modelscope.cn/models/damo/cv_resnet101_face-detection_cvpr22papermogface/summary
3.https://modelscope.cn/models/damo/cv_manual_face-detection_tinymog/summary
4.https://modelscope.cn/models/damo/cv_manual_face-detection_ulfd/summary
5.https://modelscope.cn/models/damo/cv_manual_face-detection_mtcnn/summary
6.https://modelscope.cn/models/damo/cv_resnet_face-recognition_facemask/summary
7.https://modelscope.cn/models/damo/cv_ir50_face-recognition_arcface/summary
8. https://modelscope.cn/models/damo/cv_manual_face-liveness_flir/summary
9.https://modelscope.cn/models/damo/cv_manual_face-liveness_flrgb/summary
10.https://modelscope.cn/models/damo/cv_manual_facial-landmark-confidence_flcm/summary
11.https://modelscope.cn/models/damo/cv_vgg19_facial-expression-recognition_fer/summary
12.https://modelscope.cn/models/damo/cv_resnet34_face-attribute-recognition_fairface/summary