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

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

總的損失是標(biāo)記和未標(biāo)記損失項(xiàng)的加權(quán)和,
為確保模型已從標(biāo)記數(shù)據(jù)中充分學(xué)習(xí),在最初的 100 個(gè)訓(xùn)練步驟中

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

訓(xùn)練好學(xué)生模型后,它將成為新老師,并重復(fù)此過程三遍。
2. 一致性正則化
該范例使用的想法是,對(duì)未標(biāo)記圖像的模型預(yù)測(cè)在添加噪聲后也應(yīng)保持一致。我們可以使用輸入噪聲,例如圖像增強(qiáng)和高斯噪聲。噪聲也可以使用 Dropout 來納入體系架構(gòu)中。

a. π 模型
關(guān)鍵思想是為標(biāo)記和未標(biāo)記的數(shù)據(jù)創(chuàng)建兩個(gè)隨機(jī)增強(qiáng)圖像。然后,使用帶 dropout 項(xiàng)的模型來預(yù)測(cè)這兩個(gè)圖像的標(biāo)簽。這兩個(gè)預(yù)測(cè)的差平方用作一致性損失。對(duì)于標(biāo)記圖像,我們還計(jì)算了交叉熵?fù)p失。總損失是這兩個(gè)損失項(xiàng)的加權(quán)和。權(quán)重

b. 時(shí)域集成
關(guān)鍵思想是將過去預(yù)測(cè)的指數(shù)移動(dòng)平均值用作一個(gè)視圖。為了獲得另一個(gè)視圖,我們像往常一樣放大圖像,并使用帶有 dropout 的模型來預(yù)測(cè)標(biāo)簽。當(dāng)前預(yù)測(cè)和 EMA 預(yù)測(cè)的差平方用作一致性損失。對(duì)于標(biāo)記圖像,我們還計(jì)算了交叉熵?fù)p失。最終損失是這兩個(gè)損失項(xiàng)的加權(quán)和。權(quán)重

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

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

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

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

ii. 將標(biāo)記和未標(biāo)記的增強(qiáng)圖像批次整合,然后將整個(gè)組洗牌。然后,將該組的前 N 張圖像作為

iii. 接著,在標(biāo)記的批次和組

iv. 然后,對(duì)于帶標(biāo)簽的組,我們進(jìn)行模型預(yù)測(cè)并使用混合標(biāo)簽當(dāng) ground truth 來計(jì)算交叉熵?fù)p失。同樣,對(duì)于未標(biāo)記的組,我們使用混合偽標(biāo)記來計(jì)算模型預(yù)測(cè)并計(jì)算均方誤差(MSE)損失。對(duì)這兩項(xiàng)進(jìn)行加權(quán)求和,用

b. FixMatch
如圖所示,我們?cè)趲в薪徊骒負(fù)p失的標(biāo)記圖像上訓(xùn)練一個(gè)監(jiān)督模型。對(duì)于每個(gè)未標(biāo)記的圖像,應(yīng)用弱增強(qiáng)和強(qiáng)增強(qiáng)以獲得兩個(gè)圖像。弱增強(qiáng)圖像被傳遞到我們的模型中,我們得到了關(guān)于類的預(yù)測(cè)。將最置信度最高的類別的概率與閾值進(jìn)行比較。如果它高于閾值,那么我們將該類別作為偽標(biāo)簽。然后,將經(jīng)過強(qiáng)增強(qiáng)的圖像傳遞到我們的模型中,以獲取有關(guān)類的預(yù)測(cè)。使用交叉熵?fù)p失將此預(yù)測(cè)與偽標(biāo)記進(jìn)行比較。兩種損失都被合并,模型得到了優(yōu)化。

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

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

6. 結(jié)論
原文: Amit Chaudhary: https://amitness.com/2020/07/semi-supervised-learning/
參考文獻(xiàn)
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”
