論文基本情況
發表時間及刊物/會議:2022 CVPR
發表單位:西安電子科技大學, 香港中文大學,重慶郵電大學
問題背景
在大部分半監督學習方法中,一般而言,只有部分置信度高於提前設定的閾值的無標籤資料被利用。由此說明,大部分半監督方法沒有充分利用已有資料進行訓練。
論文創新點
設定了Adaptive Confidence Margin(自適應閾值)根據訓練規律動態調整閾值,充分利用所有的無標籤資料。
網路結構
具體的訓練步驟如下:
初始基本設定:
- 設定初始閾值,本文中,對於每個類別,閾值初始值為0.8。
- 本模型借鑑Mean Teacher的思想,引入老師模型(ema_model)。
- 訓練時有標籤和無標籤資料按1:1的比例輸入網路
- 模型backbone採用resent18,輸出最後一層類別概率分佈以及倒數第二層512維特徵向量。
學生網路:
對於有標籤資料:
有標籤圖片經過弱資料增強(WA)後進入模型,輸出結果和真值對比,利用交叉熵函式作為損失函式,計算有標籤損失\(L^s_{CE}\)。
對於無標籤資料:
無標籤圖片複製三份(a圖, b圖, c圖),其中兩份(a圖,b圖)經過弱資料增強(WA)後輸入模型,再將輸出的兩個概率分佈平均後得到最終的概率分佈。記所得概率分佈中的最大概率為\(f_{max}\),對應類別記作\(c\)。如果\(f_{max}\)大於此類別\(c\)對應閾值,則將\(c\)作為此類別的真實標籤,並將此類資料歸為子集I(含“真實標籤”);否則,將此類資料歸為子集II(無真實標籤)。
如果此圖片屬於子集I,則將c圖經過強資料增強(SA)後送入網路,和標籤\(c\)計算交叉熵損失\(L^u\)。
若此圖片屬於子集II,則\(L^u=0\)。並拼接a圖,b圖輸入模型後得到的兩個512特徵向量,首先根據公式8 計算兩個特徵向量的相似度,再根據公式9計算SupConLoss \(L^c\) (具體計算方法見論文Supervised Contrastive Learning)。
總損失函式為:
實驗中\(\lambda_1 = 0.5,\lambda_2=1,\lambda_3=0.1\)。
老師網路
學生模型根據損失函式更新模型引數後,老師網路在學生網路的基礎上使用指數平均移動的方式更新引數。之後,將有標籤資料輸入老師網路,得到概率分佈。
對於一個batch的資料,記最大概率對應標籤類別和真實類別相同的圖片為集合\(N_{st}\),記\(N^c_{st}\)為最大概率對應標籤類別和真實類別相同,且真實類別為\(c\)的圖片張數,記\(s_i\)為最大概率, \(\hat{y_i}\)為預測類別,按照以下公式計算一個類別的平均最大概率,記為\(T_c\)。
之後,考慮到置信值會隨著epoch數逐步提高,再根據以下公式計算當前epoch各個類別的閾值。
至此,一個iteration結束。
實驗
表1 固定閾值和我們方法的比較,在RAF-DB, SFEW資料集上的結果,其中FT 表示使用FixMatch方法時取固定閾值的具體值,
表2 RAF-DB, SFEW 和AffectNet三個資料集上我們的方法和其他優秀的半監督方法對比
圖3 自適應閾值調整方法,公式5中關於兩個引數的值的消融實驗
表3 使用WideResNet-28-2作為backbone在RAFDB上實驗結果
圖4 使用2D t-SNE 視覺化方法視覺化得到的特徵,從圖中可以看出,我們的方法對各類表情提取特徵的效果最好(不同類別的特徵重合度最小)。
表4 各個不同類別的資料集交叉驗證結果。以下結果為在RAF-DB上訓練,CK+資料集上進行測試所得結果