作者:Amit Chaudhary
編譯:ronghuaiyang
導讀
圖解半監督的各種方法的關鍵思想。
計算機視覺的半監督學習方法在過去幾年得到了快速發展。目前最先進的方法是在結構和損失函數方面對之前的工作進行了簡化,以及引入了通過混合不同方案的混合方法。
在這篇文章中,我會通過圖解的方式解釋最近的半監督學習方法的關鍵思想。
1、自訓練
在該半監督公式中,對有標簽數據進行訓練,并對沒有標簽的數據進行偽標簽預測。然后對模型同時進行 ground truth 標簽和偽標簽的訓練。

a. 偽標簽
Dong-Hyun Lee[1]在 2013 年提出了一個非常簡單有效的公式 —— 偽標簽。
這個想法是在一批有標簽和沒有標簽的圖像上同時訓練一個模型。在使用交叉熵損失的情況下,以普通的監督的方式對有標簽圖像進行訓練。利用同一模型對一批沒有標簽的圖像進行預測,并使用置信度最大的類作為偽標簽。然后,通過比較模型預測和偽標簽對沒有標簽的圖像計算交叉熵損失。

總的 loss 是有標簽和沒有標簽的 loss 的加權和。

為了確保模型已經從有標簽的數據中學到了足夠的知識,在最初的 100 個 epoch 中,αt 被設置為 0。然后逐漸增加到 600 個 epochs,然后保持不變。

b. Noisy Student
Xie 等[2]在 2019 年提出了一種受知識蒸餾啟發的半監督方法“Noisy Student”。
關鍵的想法是訓練兩種不同的模型,即“Teacher”和“Student”。Teacher 模型首先對有標簽的圖像進行訓練,然后對沒有標簽的圖像進行偽標簽推斷。這些偽標簽可以是軟標簽,也可以通過置信度最大的類別轉換為硬標簽。然后,將有標簽和沒有標簽的圖像組合在一起,并根據這些組合的數據訓練一個 Student 模型。使用 RandAugment 進行圖像增強作為輸入噪聲的一種形式。此外,模型噪聲,如 Dropout 和隨機深度也用到了 Student 模型結構中。

一旦學生模型被訓練好了,它就變成了新的老師,這個過程被重復三次。
2、一致性正則化
這種模式使用的理念是,即使在添加了噪聲之后,對未標記圖像的模型預測也應該保持不變。我們可以使用輸入噪聲,如圖像增強和高斯噪聲。噪聲也可以通過使用 Dropout 引入到結構中。

a. π-model
該模型由Laine 等[3]在 ICLR 2017 年的一篇會議論文中提出。
關鍵思想是為標記數據和未標記數據創建兩個隨機的圖像增強。然后,使用帶有 dropout 的模型對兩幅圖像的標簽進行預測。這兩個預測的平方差被用作一致性損失。對于標記了的圖像,我們也同時計算交叉熵損失。總損失是這兩個損失項的加權和。權重 w(t)用于決定一致性損失在總損失中所占的比重。

b. Temporal Ensembling
該方法也是由Laine 等[4]在同一篇論文中提出的。它通過利用預測的指數移動平均(EMA)來修正模型。
關鍵思想是對過去的預測使用指數移動平均作為一個觀測值。為了獲得另一個觀測值,我們像往常一樣對圖像進行增強,并使用帶有 dropout 的模型來預測標簽。采用當前預測和 EMA 預測的平方差作為一致性損失。對于標記了的圖像,我們也計算交叉熵損失。最終損失是這兩個損失項的加權和。權重 w(t)用于決定稠度損失在總損失中所占的比重。

c. Mean Teacher
該方法由Tarvainen 等[5]提出。泛化的方法類似于 Temporal Ensembling,但它對模型參數使用指數移動平均(EMA),而不是預測值。
關鍵思想是有兩種模型,稱為“Student”和“Teacher”。Student 模型是有 dropout 的常規模型。教師模型與學生模型具有相同的結構,但其權重是使用學生模型權重的指數移動平均值來設置的。對于已標記或未標記的圖像,我們創建圖像的兩個隨機增強的版本。然后,利用學生模型預測第一張圖像的標簽分布。利用教師模型對第二幅增強圖像的標簽分布進行預測。這兩個預測的平方差被用作一致性損失。對于標記了的圖像,我們也計算交叉熵損失。最終損失是這兩個損失項的加權和。權重 w(t)用于決定稠度損失在總損失中所占的比重。

d. Virtual Adversarial Training
該方法由Miyato 等[6]提出。利用對抗性攻擊的概念進行一致性正則化。
關鍵的想法是生成一個圖像的對抗性變換,這將改變模型的預測。為此,首先,拍攝一幅圖像并創建它的對抗變體,使原始圖像和對抗圖像的模型輸出之間的 KL 散度最大化。
然后按照前面的方法進行。我們將帶標簽/不帶標簽的圖像作為第一個觀測,并將在前面步驟中生成的與之對抗的樣本作為第二個觀測。然后,用同一模型對兩幅圖像的標簽分布進行預測。這兩個預測的 KL 散度被用作一致性損失。對于標記了的圖像,我們也計算交叉熵損失。最終損失是這兩個損失項的加權和。采用加權偏置模型來確定一致性損失在整體損失中所占的比重。

e. Unsupervised Data Augmentation
該方法由Xie 等[7]提出,適用于圖像和文本。在這里,我們將在圖像的上下文中理解該方法。
關鍵思想是使用自動增強創建一個增強版本的無標簽圖像。然后用同一模型對兩幅圖像的標簽進行預測。這兩個預測的 KL 散度被用作一致性損失。對于有標記的圖像,我們只計算交叉熵損失,不計算一致性損失。最終的損失是這兩個損失項的加權和。權重 w(t)用于決定稠度損失在總損失中所占的比重。

3、混合方法
這個范例結合了來自過去的工作的想法,例如自我訓練和一致性正則化,以及用于提高性能的其他組件。
a. MixMatch
這種整體方法是由Berthelot 等[8]提出的。
為了理解這個方法,讓我們看一看每個步驟。
i. 對于標記了的圖像,我們創建一個增強圖像。對于未標記的圖像,我們創建 K 個增強圖像,并對所有的 K 個圖像進行模型預測。然后,對預測進行平均以及溫度縮放得到最終的偽標簽。這個偽標簽將用于所有 k 個增強。

ii. 將增強的標記了的圖像和未標記圖像進行合并,并對整組圖像進行打亂。然后取該組的前 N 幅圖像為 W~L~,其余 M 幅圖像為 W~U~。

iii. 現在,在增強了的有標簽的 batch 和 W~L~之間進行 Mixup。同樣,對 M 個增強過的未標記組和 W~U~中的圖像和進行 mixup。因此,我們得到了最終的有標簽組和無標簽組。

iv. 現在,對于有標簽的組,我們使用 ground truth 混合標簽進行模型預測并計算交叉熵損失。同樣,對于沒有標簽的組,我們計算模型預測和計算混合偽標簽的均方誤差(MSE)損失。對這兩項取加權和,用 λ 加權 MSE 損失。、

b. FixMatch
該方法由Sohn 等[9]提出,結合了偽標簽和一致性正則化,極大地簡化了整個方法。它在廣泛的基準測試中得到了最先進的結果。
如我們所見,我們在有標簽圖像上使用交叉熵損失訓練一個監督模型。對于每一幅未標記的圖像,分別采用弱增強和強增強方法得到兩幅圖像。弱增強的圖像被傳遞給我們的模型,我們得到預測。把置信度最大的類的概率與閾值進行比較。如果它高于閾值,那么我們將這個類作為標簽,即偽標簽。然后,將強增強后的圖像通過模型進行分類預測。該預測方法與基于交叉熵損失的偽標簽的方法進行了比較。把兩種損失合并來優化模型。

不同方法的對比
下面是對上述所有方法之間差異的一個高層次的總結。

在數據集上的評估
為了評估這些半監督方法的性能,通常使用以下數據集。作者通過僅使用一小部分(例如:(40/250/4000/10000 個樣本),其余的作為未標記的數據集。

結論
我們得到了計算機視覺半監督方法這些年是如何發展的概述。這是一個非常重要的研究方向,可以對該行業產生直接影響。
英文原文:https://amitness.com/2020/07/semi-supervised-learning/