計算機視覺中的半監(jiān)督學習(2013-2020)
在過去的幾年中,計算機視覺的半監(jiān)督學習方法一直在迅速發(fā)展。當前最先進的方法正在簡化體系架構和損失函數(shù)方面的現(xiàn)有工作,或者通過混合不同的公式來引入混合方法。
在這篇文章中,我將通過圖表來說明最近提出的有關半監(jiān)督學習方法的關鍵思想。
1. 自訓練
在這種半監(jiān)督的策略中,模型在標記的數(shù)據(jù)上訓練,并用于預測未標記數(shù)據(jù)的偽標記。然后,在真實標簽和偽標簽上同時訓練模型。

a. 偽標簽
Dong-Hyun Lee 在 2013 年提出了一種非常簡單有效的策略,稱為偽標簽。
想法是同時在一批帶標簽和未帶標簽的圖像上訓練模型。以通常的監(jiān)督方式在帶標簽圖像上使用帶有交叉熵損失來訓練模型。使用同一模型來預測一批未標記圖像的標記,并將最大置信度類別用作偽標記。然后,通過比較模型預測和未標記圖像的偽標記來計算交叉熵損失。

總的損失是標記和未標記損失項的加權和,
為確保模型已從標記數(shù)據(jù)中充分學習,在最初的 100 個訓練步驟中

b. 帶噪學生
謝等人于 2019 年提出了一種受知識蒸餾啟發(fā)的半監(jiān)督方法,稱為帶噪學生。
關鍵思想是訓練兩個獨立的模型,分別稱為教師和學生。首先在標記的圖像上訓練教師模型,然后將其用于推斷未標記圖像的偽標記。這些偽標簽可以采用最可靠的類別,可以是軟標簽,也可以轉換為硬標簽。然后,將標記和未標記的圖像組合在一起,并在此組合數(shù)據(jù)上訓練學生模型。使用 RandAugment 作為輸入噪聲的形式來增強圖像。而且,模型噪聲(例如 Dropout 和隨機深度)被合并到學生模型體系結構中。

訓練好學生模型后,它將成為新老師,并重復此過程三遍。
2. 一致性正則化
該范例使用的想法是,對未標記圖像的模型預測在添加噪聲后也應保持一致。我們可以使用輸入噪聲,例如圖像增強和高斯噪聲。噪聲也可以使用 Dropout 來納入體系架構中。

a. π 模型
關鍵思想是為標記和未標記的數(shù)據(jù)創(chuàng)建兩個隨機增強圖像。然后,使用帶 dropout 項的模型來預測這兩個圖像的標簽。這兩個預測的差平方用作一致性損失。對于標記圖像,我們還計算了交叉熵損失。總損失是這兩個損失項的加權和。權重

b. 時域集成
關鍵思想是將過去預測的指數(shù)移動平均值用作一個視圖。為了獲得另一個視圖,我們像往常一樣放大圖像,并使用帶有 dropout 的模型來預測標簽。當前預測和 EMA 預測的差平方用作一致性損失。對于標記圖像,我們還計算了交叉熵損失。最終損失是這兩個損失項的加權和。權重

c. 平均老師
關鍵思想是擁有兩個模型,分別稱為學生和老師。學生模型是帶有 dropout 的常規(guī)模型。教師模型與學生模型具有相同的體系架構,但是其權重是使用學生模型的權重的指數(shù)移動平均值設置的。對于標記或未標記的圖像,我們創(chuàng)建圖像的兩個隨機增強版本。然后,將學生模型用于預測第一張圖像的標簽分布。并且,教師模型用于預測第二增強圖像的標簽分布。這兩個預測的差平方用作一致性損失。對于標記圖像,我們還計算了交叉熵損失。最終損失是這兩個損失項的加權和。權重

d. 虛擬對抗訓練
關鍵思想是生成圖像的一份對抗轉換,這也會改變模型的預測。為此,首先,創(chuàng)建圖像的對抗性變體,以使原始圖像的模型輸出與對抗性圖像之間的 KL 散度最大化。
然后,我們按照之前的方法進行操作。我們將帶有標簽/未標簽的圖像作為第一視圖,并將在先前步驟中生成的對抗示例作為第二視圖。然后,使用相同的模型來預測兩個圖像的標簽分布。這兩個預測的 KL 散度被用作一致性損失。對于標記圖像,我們還計算了交叉熵損失。最終損失是這兩個損失項的加權和。權重

e. 無監(jiān)督數(shù)據(jù)增強
關鍵思想是使用 AutoAugment 創(chuàng)建未標記圖像的增強版。然后,使用相同的模型來預測這兩個圖像的標簽。這兩個預測的 KL 散度被用作一致性損失。對于帶標簽的圖像,我們僅計算交叉熵損失,而不計算一致性損失。最終損失是這兩個損失項的加權和。權重

3. 混合方法
這類方法結合了以前工作中的想法,例如自訓練和一致性正則化,以及用于提高性能的其他內容。
a. 混搭?MixMatch
要了解這種方法,讓我們逐步完成每個步驟。
i. 對于標記的圖像,我們對其進行增強。對于未標記的圖像,我們創(chuàng)建 K 個增強版本,并獲取所有 K 個圖像的預測。然后,將預測結果取平均,然后應用 temperature scaling 以獲得最終的偽標簽。該偽標簽將用于所有 K 增強。

ii. 將標記和未標記的增強圖像批次整合,然后將整個組洗牌。然后,將該組的前 N 張圖像作為

iii. 接著,在標記的批次和組

iv. 然后,對于帶標簽的組,我們進行模型預測并使用混合標簽當 ground truth 來計算交叉熵損失。同樣,對于未標記的組,我們使用混合偽標記來計算模型預測并計算均方誤差(MSE)損失。對這兩項進行加權求和,用

b. FixMatch
如圖所示,我們在帶有交叉熵損失的標記圖像上訓練一個監(jiān)督模型。對于每個未標記的圖像,應用弱增強和強增強以獲得兩個圖像。弱增強圖像被傳遞到我們的模型中,我們得到了關于類的預測。將最置信度最高的類別的概率與閾值進行比較。如果它高于閾值,那么我們將該類別作為偽標簽。然后,將經過強增強的圖像傳遞到我們的模型中,以獲取有關類的預測。使用交叉熵損失將此預測與偽標記進行比較。兩種損失都被合并,模型得到了優(yōu)化。

如果想了解 FixMatch 的更多信息,請參閱論文。
4. 方法比較
下圖是上述所有方法之間的差異比較。

5. 通用評估數(shù)據(jù)集
為了評估這些半監(jiān)督方法的性能,通常使用以下數(shù)據(jù)集。作者通過僅使用整個數(shù)據(jù)集的一小部分(例如 40/250/4000/10000 個示例)作為標記并將其余部分視為未標記的數(shù)據(jù)集來模擬少數(shù)據(jù)數(shù)據(jù)集。

6. 結論
原文: Amit Chaudhary: https://amitness.com/2020/07/semi-supervised-learning/
參考文獻
Dong-Hyun Lee, “Pseudo-Label: The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks”
Qizhe Xie et al., “Self-training with Noisy Student improves ImageNet classification”
Samuli Laine et al., “Temporal Ensembling for Semi-Supervised Learning”
Antti Tarvainen et al., “Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results”
Takeru Miyato et al., “Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning”
Qizhe Xie et al., “Unsupervised data augmentation for consistency training”
Hongyi Zhang, et al. “mixup: Beyond Empirical Risk Minimization”
David Berthelot et al., “Mixmatch: A holistic approach to semi-supervised learning”
David Berthelot et al., “ReMixMatch: Semi-Supervised Learning with Distribution Alignment and Augmentation Anchoring”
Kihyuk Sohn et al., “FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence”
