監督學習(Supervised Learning)
我們知道模型訓練的目的其實是學習一個預測函數,在數學上,這可以刻畫成一個學習從資料(X) 到標註(y) 的映射函數。監督學習就是一種最常用的模型訓練方法,其效果的提升依賴於大量的且進行了很好標註的訓練數據,也就是所謂的大量標籤數據 ((X,y))。但是標註數據往往需要大量的人力物力等等,因此效果提升的同時也會帶來成本過高的問題。在實際應用中經常遇到的情況是有少量標註數據和大量未標註數據,由此引出的半監督學習也越來越引起科學工作者的注意。
半監督學習(Semi-Supervised Learning)
半監督學習同時對少量標註資料和大量未標註資料進行學習,其目的是藉助無標籤資料來提升模型的精確度。例如self-training 就是一種很常見的半監督學習方法,其具體流程是對於標註資料(X, y) 學習資料從X 到y 的映射,同時利用學習得到的模型對未標註資料X 預測出一個偽標籤,透過對偽標籤資料(X, )進一步進行監督學習來幫助模型進行更好的收斂與精確度提升。
核心解決問題
現有的半監督學習框架無標籤資料的利用大致可以分為兩種,一是全部參與訓練,二是用一個固定的閾值卡出置信度較高的樣本進行訓練(比如FixMatch)。由於半監督學習對未標註資料的利用依賴於目前模型預測的偽標籤,所以偽標籤的正確與否會為模型的訓練帶來較大的影響,好的預測結果有助於模型的收斂與對新的模式的學習,差的預測結果會幹擾模型的訓練。所以我們認為:不是所有的無標籤樣本都是必須的!
這篇論文創新地提出用動態閾值(dynamic threshold)的方式篩選無標籤樣本進行半監督學習(semi-supervised learning,SSL)的方法,我們改造了半監督學習的訓練框架,在訓練過程中對無標籤樣本的選擇策略進行了改進,透過動態變化的閾值來選擇更有效的無標籤樣本進行訓練。 Dash 是一個通用策略,可以輕鬆與現有的半監督學習方法整合。實驗方面,我們在 CIFAR-10, CIFAR-100, STL-10 和 SVHN 等標準資料集上充分驗證了其有效性。理論方面,論文從非凸優化的角度證明了 Dash 演算法的收斂性質。
Fixmatch 訓練框架
#在引出我們的方法 Dash 之前,我們介紹一下 Google 提出的 FixMatch 演算法,一種利用固定閾值選擇無標籤樣本的半監督學習方法。 FixMatch 訓練框架是先前的 SOTA 解決方案。整個學習框架的重點可以歸納為以下幾點:
1、對於無標籤資料經過弱資料增強(水平翻轉、偏移等)得到的樣本透過目前的模型得到預測值
2、對於無標籤資料經過強資料增強(RA or CTA)得到的樣本透過目前的模型得到預測值
#3、以具有高置信度的弱資料增強的結果,透過one hot 的方式形成偽標籤,然後用 和X 經過強資料增強得到的預測數值 進行模型的訓練。
fixmatch 的優點是用弱增強資料進行偽標籤的預測,增加了偽標籤預測的準確性,並在訓練過程中以固定的閾值0.95(對應loss 為0.0513 ) 選取高置信度(閾值大於等於0.95,也就是loss 小於等於0.0513)的預測樣本產生偽標籤,進一步穩定了訓練過程。
Dash 訓練框架
#針對全部選擇偽標籤和用固定閾值選擇偽標籤的問題,我們創新地提出用動態閾值來進行樣本篩選的策略。即動態閾值 是隨 t 衰減的
#式中 C=1.0001,是有標籤資料在第一個 epoch 之後 loss 的平均值,我們選擇那些的無標籤樣本參與梯度回傳。下圖展示了不同值下的閾值 的變化曲線。可以看到參數 控制了閾值曲線的下降速率。 的變化曲線類似模擬訓練模型時損失函數下降的趨勢。
下圖比較了訓練過程中的FixMath 和Dash 選擇的正確樣本數和錯誤樣本數隨訓練進行的變化情況(使用的資料集是cifar100)。從圖中可以很清楚地看到,比較 FixMatch,Dash 可以選取更多正確 label 的樣本,同時選擇較少的錯誤 label 的樣本,最終有助於提高訓練模型的精確度。
我們的演算法可以總結為如下 Algorithm 1。 Dash 是一個通用策略,可以輕鬆與現有的半監督學習方法整合。為了方便,在本文的實驗中我們主要將 Dash 與 FixMatch 整合。更多理論證明詳見論文。
我們在半監督學習常用資料集:CIFAR-10,CIFAR-100,STL-10和SVHN 上進行了演算法的驗證。結果分別如下:
#可以看到我們的方法在多個實驗設定上都取得了比SOTA 更好的結果,其中需要說明的是針對CIFAR-100 400label 的實驗,ReMixMatch 用了data align 的額外trick 取得了更好的結果,在Dash 中加入data align 的trick 之後可以取得43.31% 的錯誤率,低於ReMixMatch 44.28% 的錯誤率。
實際面向任務域的模型研發過程中,該半監督 Dash 框架經常會被應用到。接下來跟大家介紹下我們研發的各個網域上的開源免費模型,歡迎大家體驗、下載(大部分手機端即可體驗):
以上是達摩院開源半監督學習框架Dash,刷新多項SOTA的詳細內容。更多資訊請關注PHP中文網其他相關文章!