問題
主要解決的問題是自監督訓練中,偽標簽的質量問題。
方法
提出了一種基於迭代自訓練過程的UDA框架,將問題表示為隱藏變量損失最小化,可以通過在目標數據上交替生成偽標簽,並使用這些標簽重新訓練模型。
在自訓練的頂層,提出了一個新的類別平衡自訓練框架避免在偽標簽生成過程中大類的梯度主導,並引入空間先驗優化生成的偽標簽。
自訓練的方法是:根據在目標域高置信度的預測交替生成偽標簽,然后使用這些偽標簽和標注的源域數據微調網絡。注意:這個框架假設高置信度預測的目標樣本有更高的預測准確率。
使用自步學習的自監督訓練
同時學習模型參數和未標注數據的偽標簽是很困難的,因為很難保證偽標簽的正確性。
一個更好的策略是采取”easy-to-hard“的策略,即由易到難的步驟學習,這需要用到自步學習。
首先生成置信度較高偽標簽,希望他們是正確的,然后再考察那些置信度較低的偽標簽。
將問題描述為,同時優化模型參數和偽標簽:
。
k是一個控制忽略偽標簽的超參數。一個較大的k鼓勵使用更多的超參數。
交替采取下面兩個步驟訓練上式:
a. 固定\(w\),優化\(\hat{y}_{t,n}\);
b. 固定\(\hat{y}_{t,n}\),優化\(w\)。
優化步驟b其實是就是梯度下降法,優化步驟a是一個非線性整數規划問題:
偽標簽\(\hat{y}^{(c)*}_{t,n}\)為:
即如何選擇合適k,根據質量控制選擇偽標簽的比例。
類別平衡自監督訓練
對所有類別采用相同的k會導致類別不平衡,因此可以對每個類設置一個\(k_c\)。
自步學習過程設計
\(k\)和\(k_c\)的選擇:
\(k\)的選擇其實就是用模型將目標圖像過一遍,根據預測最高得分對每個像素進行一個排序。
而\(k_c\)就是不同類別的分開排序。
先設定p=20%,選擇前五分之一的偽標簽,然后以5%為一步,逐漸增加到50%。
空間先驗
就是將每個類別在圖像中的空間分布熱圖統計出來,然后乘在目標域圖像的概率圖上: