呂昊遠,俞 璐,周星宇,鄧 祥
陸軍工程大學 通信工程學院,南京210007
+通信作者E-mail:haoyuan0130@163.com
隨著人們對于深度學習的研究熱情日益高漲,各種深度學習框架和網(wǎng)絡模型被相繼提出[1]。深度學習在很多領域都有著不錯的表現(xiàn),尤其是計算機視覺中取得突出的成果,在圖像分類、目標檢測、語義分割等各種任務中都達到了極佳性能[2]。
然而,深度神經(jīng)網(wǎng)絡的訓練質量受訓練集中有標記樣本數(shù)目的強烈影響。在實際的問題中,獲取數(shù)以萬計的有標記訓練樣本的代價是極其昂貴的,但對于無標記樣本卻很容易獲取,人們就用多種方式研究無標記樣本的使用。在此之中,基于少量有標記樣本和大量無標記樣本的半監(jiān)督學習(semisupervised learning)更適用于真實條件下的應用[3],近來已成為深度學習領域熱門的新方向。
半監(jiān)督學習是一種在不需要大量標記的情況下對大量數(shù)據(jù)進行模型訓練的強大方法。半監(jiān)督學習通過提供一種利用無標記數(shù)據(jù)的方法來減少對標記數(shù)據(jù)的需求[4]。由于無標記的數(shù)據(jù)通常可以用最少的人力獲得,因此半監(jiān)督學習帶來的任何性能提升通常都是低成本的。人們對于半監(jiān)督學習方法的研究熱情也與日俱增,提出了大量基于深度學習框架的半監(jiān)督學習方法。
在半監(jiān)督學習中,有一個最基本的前提假設是,在訓練過程中使用無標記的數(shù)據(jù)樣本是有益的(參見圖1 的具體說明)。它可以使標記較少的訓練更加健壯,甚至在某些情況下的學習效果超過有監(jiān)督學習[5]。

Fig.1 Schematic diagram of semi-supervision function圖1 半監(jiān)督作用示意圖
圖1 簡單說明了半監(jiān)督學習中使用未標記數(shù)據(jù)的好處。紅色和藍色圓圈代表不同類別的有標記數(shù)據(jù)點。灰色圓圈代表無標記的數(shù)據(jù)點。如果只有少量有標記樣本可用,只能對潛在的真實分布(實線)做出假設(虛線)。只有當考慮未標記的數(shù)據(jù)點并闡明決策邊界時,才能確定這種真正的分布。
通常認為半監(jiān)督學習的研究于1994 年由Shahshahani 和Landgrebe 提出[6]。半監(jiān)督學習在20 世紀末,21 世紀初隨著實際應用中對于使用無標記數(shù)據(jù)的巨大需求的涌現(xiàn)而快速發(fā)展。并且在較短的時間里,半監(jiān)督學習中基于分歧的方法、半監(jiān)督支持向量機、圖半監(jiān)督學習的代表性工作就取得了巨大的研究成果。本文只關注于基于深度神經(jīng)網(wǎng)絡的半監(jiān)督學習方法。
Hinton等在2006年提出了“深度學習”這一概念[7]。深度學習通過深度神經(jīng)網(wǎng)絡(deep neural networks,DNN)將底層的特征映射到高層,并且通過高層將特征抽象出來,從而發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。經(jīng)過十多年的不斷發(fā)展,深度學習在各個領域都有著重大突破。深度網(wǎng)絡也有著越來越強的函數(shù)表達能力和特征提取能力。
基于深度學習框架的半監(jiān)督學習是近幾年來提出的研究新思路,其可以理解為,在少量有標記數(shù)據(jù)和大量無標記數(shù)據(jù)混合成的訓練數(shù)據(jù)中使用的深度學習算法。通過幾年來的不斷研究,基于深度學習框架的半監(jiān)督學習算法已發(fā)展為三類。包括無標記數(shù)據(jù)預訓練網(wǎng)絡后用有標記數(shù)據(jù)對網(wǎng)絡進行微調;有標記數(shù)據(jù)訓練網(wǎng)絡,利用從網(wǎng)絡中得到的深度特征來做半監(jiān)督算法;端到端的半監(jiān)督深度模型[8]。
前兩類方法雖然都用到了有標記樣本和無標記樣本,但對于深度神經(jīng)網(wǎng)絡本身而言,它的訓練還是工作在有監(jiān)督學習的方式上。只有第三種方法,才是網(wǎng)絡本身的半監(jiān)督學習。本文也將圍繞這個主題闡述。
雖然半監(jiān)督學習方法不盡相同,但都有用到了一些最基本的共有思想,也可以理解為算法訓練中的一些技巧手段,包括損失函數(shù)類型和樣本集增強方式等。在本章中,將列舉這些常用的基本想法,并作簡要介紹。
1.1.1 KL 散度
Kullback-Leibler 散度(KL)是用來衡量同一個隨機變量的兩個不同分布之間的距離[9]。設p(x)、q(x)分別是離散隨機變量X的兩個概率分布,則p對q的相對熵是:

在實際的圖像分類問題中,假如p(x)是目標真實的分布,而q(x)是預測得來的分布,為了讓這兩個分布盡可能相同,就需要最小化KL 散度。
1.1.2 交叉熵
交叉熵(cross entropy,CE)是一種常見的圖像分類損失函數(shù)。被廣泛用于有標記數(shù)據(jù)的有監(jiān)督學習。其用來測定給定的數(shù)據(jù)集中,有標記樣本的預測標記值和其真實標記值之間的誤差[10]。

式中,P是所有類的概率分布;H為概率分布的熵;KL 為Kullback-Leibler 散度。分布P可以近似于神經(jīng)網(wǎng)絡的輸出f(x)或給定的標簽z。交叉熵是f(x)和z之間的熵和KL 散度的總和。一般來說,對于獨熱編碼(one-hot)標記z,熵H(Pz)為0。
1.1.3 均方誤差
對于數(shù)據(jù)集中的兩樣本,均方誤差(mean-square error,MSE)是其經(jīng)過神經(jīng)網(wǎng)絡的標記預測值之間的距離度量。與之前的誤差函數(shù)相比,MSE不是基于概率論測量差異,而是使用輸出向量的歐式距離[11]。

這個度量的最小化可以使兩個輸出相互收縮。這個距離度量也可以用于f(x)和f(y)的任何中間輸出(特征空間)[12]。由此可見,使用MSE 不需要用到樣本標記,因此MSE 方法可以廣泛地使用在無標記樣本數(shù)據(jù)的一致性正則中。
1.1.4 熵最小化
通過最小化熵(EntMin)來銳化半監(jiān)督學習中的輸出預測。對于圖像x,它們基于特定的神經(jīng)輸出f(x)對所有概率分布的Pf(x)最小化熵為H(Pf(x)),實際表現(xiàn)為在圖像分類問題中,基于熵最小化的思想,通常在給定平均預測量的基礎上,應用銳化函數(shù)來減小標記分布的熵[13],如圖2 所示。不過這種熵最小化只會增強神經(jīng)網(wǎng)絡的預測,不能單獨使用。
1.2.1 偽標記

Fig.2 Sharpening prediction label value圖2 預測標簽值的銳化
估計未知數(shù)據(jù)標記的一種簡單方法是使用偽標記,可以用深度網(wǎng)絡對無標記數(shù)據(jù)進行分類識別,并將預測值作為其數(shù)據(jù)標記[14]。這種自我實現(xiàn)的假設在實際的圖像分類任務中取得了非常好的效果。最新提出的方法都是基于這樣的核心思想,即通過自己網(wǎng)絡的預測來創(chuàng)建標記,然后作為有標記數(shù)據(jù)加入到訓練集中。
1.2.2 數(shù)據(jù)增強
深度學習任務中,訓練數(shù)據(jù)一定程度上決定了模型的好壞。在多數(shù)情況下,經(jīng)常面對著數(shù)據(jù)不夠多,質量不夠好的問題,而數(shù)據(jù)增強就是解決這一問題的有效方法[15]。本文將其分為傳統(tǒng)增強和強增強兩種方式。
傳統(tǒng)的數(shù)據(jù)增強方式又分為兩類,其中幾何變換選擇了圖像的一部分或者對像素進行了重分布,包括圖像的平移、翻轉、旋轉、裁剪、比例縮放等。顏色變換則改變了圖像本身的內容,常見的包括噪聲、模糊、顏色變換、擦除、填充等[16]。
強增強方式包括隨機裁剪(CutOut),這種增強會隨機選擇圖像的某個區(qū)域并掩蓋。自動增強(Auto-Augment)使用強化學習來自動創(chuàng)建有用的增強[17],其還有兩種變體方法,RandAugment 和CTAugment,非常適合缺少標記的半監(jiān)督環(huán)境[18]。除此之外,還有通過模型學習數(shù)據(jù)的分布,隨機生成與訓練數(shù)據(jù)集分布一致的圖片,代表方法為GAN 網(wǎng)絡。
mixup 是一種運用在計算機視覺中的對圖像進行混類增強的算法[19],它可以將不同類之間的圖像進行混合,從而擴充數(shù)據(jù)集。mixup 通過將圖像相互混合來創(chuàng)建新的凸形組合。再對相應標記的凸組合進行預測。研究表明,相應標記凸組合的預測對一般的監(jiān)督學習是有益的。
如圖3 所示,貓和狗的圖像被參數(shù)化混合在一起,標記也相應地參數(shù)化結合在一起。所示圖像取自STL-10 數(shù)據(jù)集。

Fig.3 Diagram of mixup圖3 mixup 的圖解
本文將基于半監(jiān)督深度學習的圖像分類方法分為四個類別,分別為多視圖訓練、一致性正則、多樣混合訓練以及與GAN 網(wǎng)絡相結合的半監(jiān)督學習。接下來將分別介紹各個類別,并舉出典型網(wǎng)絡模型進行分析比較。
多視圖訓練假設每個數(shù)據(jù)可以從不同的角度(view)進行分類,然后用這些從不同角度訓練出來的分類器再對無標記樣本進行分類,再選出認為可信的無標記樣本以及其偽標記加入訓練集中[6]。
在這種情況下,多視圖訓練的目標是學習獨特的預測函數(shù)為各視圖下的數(shù)據(jù)建模,并共同優(yōu)化所有用于提高泛化性能的功能。理想情況下,不同視圖的結果相互補充,不同的模型可以相互協(xié)作以提高彼此的性能。
2.1.1 Co-training
Co-training 有兩個模型,它們分別在數(shù)據(jù)集上訓練。每輪迭代中,如果兩個模型里的一個模型認為自己對樣本分類的置信度高,分類概率大于某個事先設好的閾值,這個模型就會為它生成偽標記,然后把它放入另一個模型的訓練集。簡而言之,一個模型會為另一個模型的輸入樣本提供標記[20]。
Qiao 等[21]提出了深度Co-training 結合半監(jiān)督學習的神經(jīng)網(wǎng)絡模型。不過其想法略有不同,沒有對同一個數(shù)據(jù)集訓練兩個模型,而是考慮到視圖差異約束。具體做法如圖4 所示,對于數(shù)據(jù)集,通過計算其對抗樣本從而派生出新的數(shù)據(jù)集。然后使用對方的對抗樣本訓練自己,從而很好地解決模型崩潰問題。
2.1.2 Tri-training
Chen 等[22]提出的Tri-training 網(wǎng)絡模型,如圖5 所示,首先對有標記示例集進行可重復取樣以獲得三個有標記訓練集,然后從每個訓練集產(chǎn)生一個分類器。在協(xié)同訓練過程中,各分類器所獲得的新標記示例都由其余兩個分類器協(xié)作提供。

Fig.4 Co-training algorithm flow圖4 Co-training 算法流程

Fig.5 Tri-training algorithm flow圖5 Tri-training 算法流程
具體來說,如果兩個分類器對同一個未標記示例的預測相同,則該示例就被認為具有較高的標記置信度,并在標記后被加入第三個分類器的有標記訓練集。
多視圖訓練的缺點也比較明顯,算法中需要多個深度模型,訓練過程相對復雜,并且靠經(jīng)驗設計。其中Tri-training 算法中的偽標簽需要進行多次預測,也會加重計算負擔。
因為在半監(jiān)督學習中,無標記數(shù)據(jù)沒有自己的類別標記,所以就研究出了無需標記信息的一致性正則方法。一致性正則的主要思想就是,對于一個輸入,即使受到了細微的干擾,其預測都應該是一致的[23]。
應用在具體的半監(jiān)督算法中,最基本的思路是,對于有標記樣本,使用標準的交叉熵損失函數(shù)計算誤差,而對于無標記樣本,就需要使用一致性正則,比如最小均方誤差或者KL 散度等,具體到每一種算法的核心思想是沒有變化的,即最小化未標記數(shù)據(jù)與其擾動輸出兩者之間的距離,但計算輸出的形式上有很多變化。最后還需加入權重系數(shù),結合有監(jiān)督與無監(jiān)督兩部分損失,從而構建出總體的半監(jiān)督損失函數(shù)。
下面就闡述典型的基于一致性正則的半監(jiān)督學習方法。
2.2.1 π 模型和時序組合模型
Laine 和Aila[24]提出了兩種類似的半監(jiān)督學習方法模型,即圖6 展示的π 模型和時序組合模型[25]。這兩種方法都結合使用了有監(jiān)督的交叉熵損失和無監(jiān)督的最小均方損失。

Fig.6 Algorithm flow of π and temporal ensembling models圖6 π 模型與時序組合模型的算法流程
在這兩種方法中,無監(jiān)督一致性損失的第一個輸入都是來自隨機增強后的圖像的網(wǎng)絡輸出。而第二個輸入是不同的,在π 模型中是相同圖像的第二次增強,在時序組合模型中,是對先前迭代周期預測結果的指數(shù)移動平均(exponential moving average,EMA)。
π 模型的訓練過程中,每輪次的迭代需要網(wǎng)絡預測兩次,相比之下,時序組合模型的速度快了兩倍,而且更加穩(wěn)定。
2.2.2 平均教師模型
時序組合模型中,指數(shù)移動平均線每個時期只更新一次,這會使得網(wǎng)絡訓練效率較低。Tarvainen和Valpola[26]提出了一種半監(jiān)督學習的學生教師方法,繼承并進一步發(fā)展了π 模型和時序組合模型,也使用均方誤差作為兩個預測之間的一致性損失。
但創(chuàng)建這些預測不同,如圖7 所示[25],他們提議在每個更新步驟中使用基于學生模型平均權重的教師模型,有效解決了時序組合模型中將新信息融入預測的速度太慢的問題。并且經(jīng)過多次實驗表明,均方誤差是比KL 散度更好的一致性損失。
2.2.3 無監(jiān)督數(shù)據(jù)增強

Fig.7 Algorithm flow of mean teacher model圖7 平均教師模型的算法流程
前文中提到的幾個基于一致性正則的半監(jiān)督學習方法中,對于圖像增強部分主要采用簡單的隨機噪聲,Xie 等[27]提出了一種半監(jiān)督學習方法,圖8 展示的無監(jiān)督數(shù)據(jù)增強(unsupervised data augment,UDA)集中使用了最先進的數(shù)據(jù)增強。也結合有監(jiān)督損失和無監(jiān)督損失,有監(jiān)督損失為交叉熵,無監(jiān)督損失為輸出預測之間的KL 散度。這些輸出預測是基于原圖像和該圖像的增強版本。對于圖像分類,他們提出使用自動增強結合裁剪的增強方案。

Fig.8 UDA model algorithm flow圖8 UDA 模型算法流程
研究表明,這種組合增強方法比以往單獨的裁剪或翻轉等方法獲得的性能更高。除了不同的增強方法外,他們還提出使用多種其他正則化方法以及訓練信號退火算法,可以在訓練過程中限制標記樣本的影響,有效防止過擬合。
UDA 還結合了熵最小化和偽標記的思想,但使用偽標記是過濾無監(jiān)督數(shù)據(jù)的異常值。
從局限性來講,UDA 方法中的強增強方式只運用在了圖像基準問題上。其他領域的研究還需要探求新的數(shù)據(jù)增強方式。
多樣混合方法試圖在一個框架中整合前文提到的半監(jiān)督學習的多種思想,從而集思廣益,在識別任務中獲得更好的性能。
2.3.1 MixMatch
MixMatch 同樣使用監(jiān)督損失和非監(jiān)督損失的組合。Berthelot 等[28]使用交叉熵作為監(jiān)督損失,使用預測和生成偽標記之間的最小均方誤差作為無監(jiān)督損失,他們提出了一種新的多次預測再銳化方法來提高偽標記的質量,這些偽標記是根據(jù)先前對增強圖像的多次預測而創(chuàng)建的(如圖9 所示)。并且創(chuàng)新之處在于,通過合并生成的標記,將mixup 算法擴展到半監(jiān)督學習。

Fig.9 Multi-prediction sharpening圖9 多預測銳化
如圖10 所示,x′和u′是經(jīng)過mixup 后得到的混合樣本,分別是標記數(shù)據(jù)和無標記數(shù)據(jù)。p和q為mixup 后分別對應的標記。有標記數(shù)據(jù)使用交叉熵,預測標記則使用均方誤差,最后將兩部分損失加權組合。

Fig.10 MixMatch model algorithm flow圖10 MixMatch 模型算法流程
2.3.2 FixMatch
FixMatch 是Google Brain 提出的一種多混合的半監(jiān)督學習方法[29](如圖11 所示),與MixMatch 方法不同的是,F(xiàn)ixMatch 使用交叉熵將弱增強(標準的翻轉和平移)和強增強(先使用RandAugment 或CTAugment,再使用CutOut 增強)的無標記數(shù)據(jù)進行比較計算損失。其巧妙之處在于一致性正則化使用的是交叉熵損失函數(shù),并且取得了不錯的效果。

Fig.11 FixMatch model algorithm flow圖11 FixMatch 模型算法流程
FixMatch 是在弱增強圖像與強增強圖像之間進行一致性計算,但其沒有使用兩種圖像的概率分布一致,而是將弱增強數(shù)據(jù)預測結果看作偽標簽(),再結合強增強數(shù)據(jù)的預測結果(),這樣就需要使用交叉熵進行一致性的計算。此外,F(xiàn)ixMatch 僅使用具有高置信度的未標記數(shù)據(jù)參與訓練。
多樣混合方法中,多種技術的組合實現(xiàn)了很好的圖像分類效果,但與此同時,模型結構、算法過程也更為復雜。
生成對抗網(wǎng)絡(generative adversarial networks,GAN)是Goodfellow 等[30]在2014 年提出的一種深度生成模型,可以廣泛地用于圖像視覺領域,在圖像領域有著突出的效果,生成高分辨率逼真的圖像,進行圖像修復、風格遷移等。在有標記樣本數(shù)目較少的情況下,就可以把半監(jiān)督思想與GAN 相結合,這種半監(jiān)督GAN 在圖像分類中取得很好的實驗表現(xiàn)。在本節(jié)中,先來概括GAN 的結構。
GAN 通過框架中兩個模塊生成器(generative model)和判別器(discriminative model)的互相博弈學習,從而最終產(chǎn)生相當好的輸出[31]。生成器和判別器可以用神經(jīng)網(wǎng)絡或者函數(shù)表示,如圖12 所示,用G表示生成器,D表示判別器。

Fig.12 GAN model structure圖12 GAN 模型結構
生成器G的目的是生成基于數(shù)據(jù)分布的pg,G的輸入為隨機噪聲z(例如高斯噪聲),z取樣于先驗分布pz(z)。判別器對輸入的數(shù)據(jù)進行判別,如果是真實數(shù)據(jù)則輸出1,否則的話,輸出為0。
2.4.1 半監(jiān)督學習GAN
標準的分類是有監(jiān)督的學習,模型通過最小化交叉熵損失,獲得最優(yōu)的網(wǎng)絡參數(shù)。Salimans[32]利用GAN 完成半監(jiān)督學習,面對K分類問題時,把GAN的判別器改為K+1 類的分類器,其中第K+1 類是異常類(生成器生成的假圖像)。
如圖13 所示,分類器接收到的圖像數(shù)據(jù)為三部分,有標記樣本(x,y)、無標記樣本x和G生成的假樣本G(z)。對于分類器而言,如果是有標記樣本,就進行標準的有監(jiān)督學習,學習任務是K分類問題;而對于無標記樣本和生成器生成的假樣本,分類器就需要將認為是假樣本的圖像分為第K+1 類,而將認為是真實樣本的分為前K類中的某一類,但不需要判定預測正確與否。綜上所述,分類器的損失函數(shù)由以上三部分構成。而生成器需要騙過分類器,即盡最大努力生成以假亂真的樣本,并且希望生成的假樣本被分類器判別為真(分為前K類中的某一類)。

Fig.13 SSL-GAN model structure圖13 SSL-GAN 模型結構
2.4.2 半監(jiān)督GAN
Odena[33]提出的半監(jiān)督GAN(semi-supervised GAN,SGAN)的網(wǎng)絡結構與上文的半監(jiān)督學習GAN 基本相似,所不同的是,SGAN 的想法更簡單明了,如圖14所示,分類器接受的圖像只包括有標記樣本(x,y)和生成的假樣本G(z)兩部分,并且在具體的實驗中,兩部分的數(shù)量比例相同。

Fig.14 SGAN model structure圖14 SGAN 模型結構
從缺點的角度看,半監(jiān)督GAN 網(wǎng)絡中,生成的是未帶有標記信息的隨機樣本,小樣本條件下會造成類別不均衡的問題,而且沒有用到前文中提到的一些基本技術,這也限制了此類方法的性能提升。
本章將分析前文提到的四類方法之間有哪些異同的思想,并且在幾個通用的圖像數(shù)據(jù)集上觀察這些方法的實驗結果表現(xiàn)。
表1 展示了不同的半監(jiān)督方法中包含著的不同思想,所有的√表示此方法中包含有這個思想,最后一列統(tǒng)計了此種方法包含的思想數(shù)目,最后一行統(tǒng)計了包含此種思想的方法數(shù)目,表中空白位表示方法中未包含這種思想。現(xiàn)在對于一些角標作出解釋:√s表示在所有的半監(jiān)督方法中,有監(jiān)督學習部分使用交叉熵損失;√s,u表示FixMatch 中有監(jiān)督與無監(jiān)督部分都使用交叉熵;√sharp表示MixMatch 通過對預測標簽進行銳化而最小化熵;√filter表示UDA 預測用于過濾無監(jiān)督數(shù)據(jù)的偽標記;√weak表示用到傳統(tǒng)的數(shù)據(jù)增強方式;√auto表示用到AutoAugment 強增強;√rand表示用到RandAugment 和CTAugment 強增強;√gan表示用到GAN 網(wǎng)絡生成分布一致的圖像。

Table 1 Basic thoughts used in different methods表1 不同方法采用的基本思想
本節(jié)中,在多種數(shù)據(jù)集上比較了所提到的半監(jiān)督方法。根據(jù)之前論文公開的結果,選擇了在多篇論文中使用的五個數(shù)據(jù)集進行比較。
MNIST 是手寫阿拉伯數(shù)字的標準數(shù)據(jù)集[34],一共包含0 到9 的10 類數(shù)字。數(shù)據(jù)集中有60 000 個訓練樣本和10 000 個測試樣本。這些數(shù)字已經(jīng)過尺寸標準化并位于圖像中心,圖像是固定大小28×28 像素,其值為0 到1。
CIFAR-10 和CIFAR-100 是眾多小型彩色圖像構成的大規(guī)模數(shù)據(jù)集[35],大小為32×32。這兩個數(shù)據(jù)集分別包含了屬于10 個或100 個類別的60 000 幅圖像。兩個數(shù)據(jù)集都提供了50 000 個訓練樣本和10 000 個測試樣本,且都為有標記數(shù)據(jù)。但本文的半監(jiān)督方法所呈現(xiàn)的結果是僅用訓練集中少量有標記樣本和一部分抹去標記的樣本進行訓練。
STL-10 是為無監(jiān)督和半監(jiān)督學習設計的數(shù)據(jù)集。數(shù)據(jù)集的創(chuàng)建受CIFAR-10 的啟發(fā),但提供的標簽較少。它提供了5 000 個有標記訓練樣本和8 000個有標記測試樣本[36]。然而,還提供了100 000 個無標記的示例圖像。這些無標記的樣本屬于訓練集和一些不同的類別。這些圖像是96×96 彩色圖像。
ILSVRC-2012 是ImageNet 的一個子集[37],訓 練集由120萬幅圖像組成,而驗證和測試集包括150 000幅圖像。這些圖像屬于1 000 個類別。所呈現(xiàn)的結果是僅用10%的標記來訓練,以表示半監(jiān)督情況。
表2 和表3 分別展示了當有標記樣本數(shù)為1 000和2 000 時,不同半監(jiān)督學習方法以及全監(jiān)督方法在MNIST、CIFAR-10 和CIFAR-100 數(shù)據(jù)集上的表現(xiàn),表格最左側一欄是不同的方法,右側三欄是前文中提到的三個數(shù)據(jù)集。表格內容展示的是識別準確率,表中空白位表示方法未在此數(shù)據(jù)集上進行實驗驗證。其中無標記樣本量是有標記樣本的三倍,每個方法的最終識別準確率都選取了最好的實驗結果??梢钥吹?,半監(jiān)督學習方法可以很好地利用無標記樣本的信息,在同等有標記樣本數(shù)據(jù)的情況下,識別準確率大幅度提升。
表4 展示了當有標記樣本數(shù)目為4 000 的識別結果。表中空白位表示方法未在此數(shù)據(jù)集上進行實驗驗證。根據(jù)表4,橫向比較可以發(fā)現(xiàn)在五個數(shù)據(jù)集中,CIFAR-10 的實驗效果最好,這是因為十分類問題中,類別數(shù)目較少且各類之中樣本數(shù)目均衡,并且圖像的分辨率較低,使得訓練也更加容易。縱向比較不同方法的識別結果,發(fā)現(xiàn)UDA、MixMatch和FixMatch取得了好的實驗結果,結合表1,這是因為三個方法中都結合了多種不同的思想,從而使得這些方法產(chǎn)生了很好的聯(lián)合反應。兩個GAN 方法在MNIST 上表現(xiàn)很好,這是因為數(shù)字的二值圖片特征比較好提取,生成器更容易學習到數(shù)據(jù)分布,從而推動分類器的性能提升。

Table 2 Recognition accuracy of 1000 labeled samples表2 1 000 個有標記樣本的識別準確率 %

Table 3 Recognition accuracy of 2000 labeled samples表3 2 000 個有標記樣本的識別準確率 %

Table 4 Recognition accuracy of 4000 labeled samples表4 4 000 個有標記樣本的識別準確率 %
本章將討論三個主要趨勢,這些趨勢帶來了未來可能的研究機會。
隨著層出不窮的新半監(jiān)督學習方法的提出,半監(jiān)督學習和有監(jiān)督學習的差距越來越小,表現(xiàn)在前文提到的數(shù)據(jù)集中,半監(jiān)督方法可以利用不到有監(jiān)督方法1/10 的標記數(shù)據(jù)量,而達到較高的識別準確率。
因此可以預計,未來的研究將集中在使用所有標記中只有1%或更少的標記數(shù)據(jù)而獲得更好的結果。
在很多半監(jiān)督學習的論文中,由于作者的目的是用盡可能少的標記獲得最好的準確率,因此沒有做到集思廣益,一些基本的想法之間只有很少的重疊。不過在UDA、MixMatch、FixMatch 方法中,已經(jīng)將偽標簽、熵最小化和一致性正則等想法結合在一起,取得了很好的實驗結果。由此可見,想法結合是有益的,但仍然有許多合理的結合尚未探索,多種想法的結合是一個未來很有前途的研究方向。
根據(jù)圖像識別準確度可以看出,許多方法可以在CIFAR-10(簡單的低分辨率數(shù)據(jù)集)上有著90%以上的準確率,然而很少有方法能夠在ILSVRC-2012(高分辨率數(shù)據(jù)集)上達到較高的準確率。因此可得出結論,大多數(shù)方法都不能擴展到真實世界的圖像分類問題上。
取得較高識別準確率的數(shù)據(jù)集中,不同類別的圖像數(shù)目都相同,且不同類別之間差異明顯。并且標記數(shù)據(jù)和未標記數(shù)據(jù)來自同一分布。這種假設在許多實際應用中很難成立,其中一個常見的情況是,無標記數(shù)據(jù)包含有標記數(shù)據(jù)中未知的類別[41]。因此未來的研究需要解決這些實際問題,做到處理類別不平衡以及含有噪聲的有標記數(shù)據(jù),以及面對不同分布的數(shù)據(jù)集時,有著具有更強魯棒性的半監(jiān)督學習方法。
本文所提到的半監(jiān)督方法還是更多地與卷積神經(jīng)網(wǎng)絡以及生成對抗網(wǎng)絡相結合。不過在最新的研究中,已經(jīng)將半監(jiān)督思想結合在其他深度網(wǎng)絡模型方法,例如圖神經(jīng)網(wǎng)絡、自編碼器以及元學習、對比學習等。如何在更多的深度學習框架中結合半監(jiān)督學習也是亟待探索的重點。
半監(jiān)督深度學習方法應用于圖像分類問題中已經(jīng)取得了顯著的成績,而在其他領域,例如文本分類問題中也有著一定的成果[42],那在自然語言處理、視頻識別等問題中,是否也能有著優(yōu)良的性能表現(xiàn)仍然需要進一步研究。
有監(jiān)督的深度學習在很多應用領域已經(jīng)有著很好的性能表現(xiàn),但在實際問題中面臨著海量標記數(shù)據(jù)難以獲取的現(xiàn)狀,而有標記數(shù)據(jù)較少時模型訓練很容易出現(xiàn)過擬合現(xiàn)象?;谏疃染W(wǎng)絡的半監(jiān)督學習方法可以很好地使用少量的有標記數(shù)據(jù)和大量的無標記數(shù)據(jù),在圖像分類任務中取得非常好的實驗效果。本文提供了一個基于半監(jiān)督深度學習的圖像分類方法概述??偨Y了多種半監(jiān)督學習方法的差異、相似性以及組合效果,比較了不同方法在圖像分類中的實驗結果。并且分析討論了半監(jiān)督學習發(fā)展趨勢和可能的研究領域。
如何利用更少的標記數(shù)據(jù)而提升識別準確率,未來的研究可能會進一步減少所需標記的數(shù)量;而對于類別不平衡的問題,半監(jiān)督是否仍可以有著較高的識別準確率還有待實驗證實;實驗中已經(jīng)發(fā)現(xiàn)不同技術的結合有利于整體性能的提升,如何做到想法之間的重疊,也是未來可能的研究機會;另外,還需要研究與注意力機制[43]等更為復雜的卷積神經(jīng)網(wǎng)絡以及其他深度模型相結合[44]的半監(jiān)督方法。而且大多數(shù)半監(jiān)督學習算法的工作是在圖像基準上評估,未來的研究還需要探討在其他領域的有效性。