編者按:半監(jiān)督學(xué)習(xí)是近年來非常熱門的一個研究領(lǐng)域,畢竟機器學(xué)習(xí)模型的本質(zhì)是個“吃”數(shù)據(jù)的“怪獸”,雖然現(xiàn)實世界擁有海量數(shù)據(jù),但針對某個問題的標(biāo)記數(shù)據(jù)卻仍極度稀缺。為了用更少的標(biāo)記數(shù)據(jù)完成更多現(xiàn)實任務(wù),研究人員想出了這種從無標(biāo)記數(shù)據(jù)中提取數(shù)據(jù)結(jié)構(gòu)的巧妙做法。那么它能被用于現(xiàn)實任務(wù)嗎?今天論智帶來的是NIPS 2018收錄的一篇Google Brain論文:Realistic Evaluation of Semi-Supervised Learning Algorithms。
摘要
當(dāng)遇到標(biāo)簽有限或沒有足夠經(jīng)費請人標(biāo)記數(shù)據(jù)等問題時,半監(jiān)督學(xué)習(xí)(SSL)提供了一個強大的框架。近年來,基于深層神經(jīng)網(wǎng)絡(luò)的SSL算法在標(biāo)準(zhǔn)基準(zhǔn)測試任務(wù)中被證明是有用的。但是,我們認(rèn)為這些基準(zhǔn)測試并不能解決在應(yīng)用于實際任務(wù)時,這些算法將面臨的各種問題。
我們?yōu)橐恍V泛使用的SSL算法重新創(chuàng)建了統(tǒng)一實現(xiàn),并在一系列任務(wù)中對它們進行了測試。實驗發(fā)現(xiàn):那些不使用未標(biāo)記數(shù)據(jù)的簡單基線的性能通常被低估了;對于不同數(shù)量的標(biāo)記數(shù)據(jù)和未標(biāo)記數(shù)據(jù),SSL算法的敏感程度也不同;并且當(dāng)未標(biāo)記數(shù)據(jù)集中包含不屬于該類的數(shù)據(jù)時,網(wǎng)絡(luò)性能會大幅降低。
為了幫助指導(dǎo)SSL研究真正能適應(yīng)現(xiàn)實世界,我們公開了論文的統(tǒng)一重新實現(xiàn)和評估平臺。
簡介
無數(shù)實驗已經(jīng)證實,如果我們對大量數(shù)據(jù)進行標(biāo)記,那么深層神經(jīng)網(wǎng)絡(luò)就能在某些監(jiān)督學(xué)習(xí)任務(wù)上實現(xiàn)和人類相仿,甚至超人的表現(xiàn)。然而,這種成功是需要代價的。也就是說,為了創(chuàng)建大型數(shù)據(jù)集,我們往往要耗費大量的人力、財力和風(fēng)險在數(shù)據(jù)標(biāo)記上。因此對于許多現(xiàn)實問題,它們沒有足夠的資源來構(gòu)建足夠大的數(shù)據(jù)集,這就限制了深度學(xué)習(xí)的廣泛應(yīng)用。
解決這一問題的一種可行方法是使用半監(jiān)督學(xué)習(xí)框架。和需要標(biāo)記數(shù)據(jù)的監(jiān)督學(xué)習(xí)算法相比,SSL算法能從未標(biāo)記數(shù)據(jù)中提取數(shù)據(jù)結(jié)構(gòu),進而提高網(wǎng)絡(luò)性能,這降低了操作門檻。而最近的一些研究結(jié)果也表明,在某些情況下,即便給定數(shù)據(jù)集中的大部分?jǐn)?shù)據(jù)都遺失了標(biāo)簽,SSL算法也能接近純監(jiān)督學(xué)習(xí)的表現(xiàn)。
面對這些成功,一個自然而然的問題就是:SSL算法能否被用于現(xiàn)實世界的任務(wù)?在本文中,我們認(rèn)為答案是否定的。具體而言,當(dāng)我們選擇一個大型數(shù)據(jù)集,然后去除其中的大量標(biāo)簽對比SSL算法和純監(jiān)督學(xué)習(xí)算法時,我們其實忽略了算法本身的各種常見特征。
下面是我們的一些發(fā)現(xiàn):
如果兩個神經(jīng)網(wǎng)絡(luò)在調(diào)參上花費相同資源,那么用SSL和只用標(biāo)記數(shù)據(jù)帶來的性能差異會小于以往論文的實驗結(jié)論。
不使用未標(biāo)記數(shù)據(jù)的、高度正則化的大型分類器往往具有強大性能,這證明了在同一底層模型上評估不同SSL算法的重要性。
如果先在不同的標(biāo)記數(shù)據(jù)集上預(yù)訓(xùn)練模型,之后再在指定數(shù)據(jù)集上訓(xùn)練模型,它的最終性能會比用SSL算法高不少。
如果未標(biāo)記數(shù)據(jù)中包含與標(biāo)記數(shù)據(jù)不同的類分布,使用SSL算法的神經(jīng)網(wǎng)絡(luò)的性能會急劇下降。
事實上,小的驗證集會妨礙不同方法、模型和超參數(shù)設(shè)置之間的可靠比較。
評估方法改進
科研人員評估SSL算法一般遵循以下流程:首先,選擇一個用于監(jiān)督學(xué)習(xí)的通用數(shù)據(jù)集,刪去其中大多數(shù)數(shù)據(jù)的標(biāo)簽;其次,把保留標(biāo)簽的數(shù)據(jù)制作成小型數(shù)據(jù)集D,把未標(biāo)記數(shù)據(jù)整理成數(shù)據(jù)集DUL;最后,用半監(jiān)督學(xué)習(xí)訓(xùn)練一些模型,在未經(jīng)修改的測試集上檢驗它們的性能。
但下面是現(xiàn)有方法的缺陷及其改進:
P.1 一個共享的實現(xiàn)
現(xiàn)有SSL算法比較沒有考慮底層模型的一致性,這是不科學(xué)的。在某些情況下,同樣是簡單的13層CNN,不同實現(xiàn)會導(dǎo)致一些細(xì)節(jié),比如參數(shù)初始化、數(shù)據(jù)預(yù)處理、數(shù)據(jù)增強、正則化等,發(fā)生改變。不同模型的訓(xùn)練過程(優(yōu)化、幾個epoch、學(xué)習(xí)率)也是不一樣的。因此,如果不用同一個底層實現(xiàn),算法對比不夠嚴(yán)謹(jǐn)。
P.2 高質(zhì)量監(jiān)督學(xué)習(xí)基線
SSL的目標(biāo)是基于標(biāo)記數(shù)據(jù)集D和未標(biāo)記數(shù)據(jù)集DUL,使模型的性能比單獨用D訓(xùn)練出來的完全相同的基礎(chǔ)模型更好。雖然道理很簡單,但不同論文對于這個基線的介紹卻存在出入,比如去年Laine&Aila和Tarvainen&Valpola在論文中用了一樣的基線,雖然模型是一樣的,但它們的準(zhǔn)確率差竟然高達(dá)15%。
為了避免這種情況,我們參考為SSL調(diào)參,重新調(diào)整了基線模型,確保它的高質(zhì)量。
P.3 和遷移學(xué)習(xí)的對比
在實踐中,如果數(shù)據(jù)量有限,通常我們會用遷移學(xué)習(xí),把在相似大型數(shù)據(jù)集上訓(xùn)練好的模型拿過來,再根據(jù)手頭的小數(shù)據(jù)集進行“微調(diào)”。雖然這種做法的前提是存在那么一個相似的、夠大的數(shù)據(jù)集,但如果能實現(xiàn),遷移學(xué)習(xí)確實能提供性能強大的、通用性好的基線,而且這類基線很少有論文提及。
P.4 考慮類分布不匹配
需要注意的是,當(dāng)我們選擇數(shù)據(jù)集并刪去其中大多數(shù)數(shù)據(jù)的標(biāo)簽時,這些數(shù)據(jù)默認(rèn)DUL的類分布和D的完全一致。但這不合理,想象一下,假設(shè)我們要訓(xùn)練一個能區(qū)分十張人臉的分類器,但每個人的圖像樣本非常少,這時,你可能會選擇使用一個包含隨機人臉圖像的大型未標(biāo)記數(shù)據(jù)集來進行填充,那么這個DUL中的圖像就并不完全是這十個人的。
現(xiàn)有的SSL算法評估都忽略了這種情況,而我們明確研究了類分布相同/類分布不同數(shù)據(jù)之間的影響。
P.5 改變標(biāo)記和未標(biāo)記數(shù)據(jù)的數(shù)量
改變兩種數(shù)據(jù)的數(shù)量這種做法并不罕見,研究人員通常喜歡通關(guān)刪去不同數(shù)量的底層標(biāo)記數(shù)據(jù)來改變D的大小,但到目前為止,以系統(tǒng)的方式改變DUL確不太常見。這可以模擬兩種現(xiàn)實場景:一是未標(biāo)記數(shù)據(jù)集非常巨大(比如用網(wǎng)絡(luò)數(shù)十億未標(biāo)記圖像提高模型分類性能),二是未標(biāo)記數(shù)據(jù)集相對較小(比如醫(yī)學(xué)影像數(shù)據(jù),它們的成本很高)。
P.6 切合實際的小型驗證集
人為創(chuàng)建的SSL數(shù)據(jù)集往往有個特征,就是驗證集會比訓(xùn)練集大很多。比如SVHN的驗證集大約有7000個標(biāo)記數(shù)據(jù),許多論文在用這個數(shù)據(jù)集做研究時,往往只從原訓(xùn)練集里抽取1000個標(biāo)記數(shù)據(jù),但會保留完整驗證集。這就意味著驗證集是訓(xùn)練集的7倍,而在現(xiàn)實任務(wù)中,數(shù)據(jù)更多的集一般是會被作為訓(xùn)練集的。
實驗
這個實驗的目的不是產(chǎn)生state-of-art的結(jié)果,而是通過建立一個通用框架,對各種模型性能進行嚴(yán)格的比較分析。此外,由于我們使用的模型架構(gòu)和超參數(shù)調(diào)整方法和以前的論文很不一樣,它們也沒法和過去的工作直接比較,只能單獨列出。
上表是實用各SSL算法的模型在驗證集上的錯誤率,它們使用了同樣的底層模型——Wide ResNet,縱坐標(biāo)是監(jiān)督學(xué)習(xí)和各類常用的SSL算法:Π-Model, Mean Teacher, Virtual Adversarial Training, PseudoLabeling,以及Entropy Minimization。
需要注意的是,表格上部是前人的工作,下部是本文的成果,它們不能直接對比(本文模型使用的參數(shù)是上面的一半,所以性能會差一些)。但是,透過數(shù)據(jù)我們還是可以發(fā)現(xiàn):
結(jié)論1:Mean Teacher和VAT的表現(xiàn)總體不錯。
結(jié)論2:監(jiān)督學(xué)習(xí)模型和半監(jiān)督學(xué)習(xí)模型之間的性能差異并沒有其他論文中描述的那么大。
結(jié)論3:基于這個表格的數(shù)據(jù),我們用遷移學(xué)習(xí)訓(xùn)練了一個模型,發(fā)現(xiàn)它在CIFAR-10驗證集上的錯誤率是12%,這個結(jié)果比SSL算法更好。
上圖是各模型在CIFAR-10上的錯誤率,已知標(biāo)記訓(xùn)練集有6類圖像,每類圖像400個樣本。其中縱坐標(biāo)是錯誤率,橫坐標(biāo)是未標(biāo)記數(shù)據(jù)相對標(biāo)記數(shù)據(jù)的不同類分布占比,比如25%表示未標(biāo)記數(shù)據(jù)集中有1/4的類是標(biāo)記數(shù)據(jù)集上沒有的。陰影區(qū)是五次實驗標(biāo)準(zhǔn)差。
結(jié)論4:和不使用任何未標(biāo)記數(shù)據(jù)相比,如果我們在未標(biāo)記數(shù)據(jù)集中加入更多的額外類,模型的性能會降低。
結(jié)論5:SSL算法對標(biāo)記數(shù)據(jù)/未標(biāo)記數(shù)據(jù)的不同數(shù)據(jù)量很敏感。
上圖是各算法模型的平均驗證錯誤對比,使用的是10個大小不同的隨機采樣非重疊驗證集。實線是平均值,陰影是標(biāo)準(zhǔn)差,訓(xùn)練集是包含1000個標(biāo)記數(shù)據(jù)的SVHN。圖中的縱坐標(biāo)是錯誤率,橫坐標(biāo)是驗證集相對于訓(xùn)練集的大小,比如10%表示驗證集只包含100個標(biāo)記數(shù)據(jù)。
結(jié)論6:10%是個合適的比例,因此對于嚴(yán)重依賴大型驗證集做超參數(shù)調(diào)整的SSL算法,它們的實際適用性很有限,即便是交叉驗證也沒法帶來太多改善。
總結(jié)
通過上述實驗結(jié)果,我們已經(jīng)證實把SSL算法用于現(xiàn)實實踐暫時是不恰當(dāng)?shù)模敲唇窈笤撛趺丛u估它們呢?下面是一些建議:
在比較不同SSL算法時,使用完全相同的底層模型。模型結(jié)構(gòu)的差異,甚至是細(xì)節(jié),都會對最終結(jié)果產(chǎn)生很大影響。
仔細(xì)調(diào)整基線的在使用監(jiān)督學(xué)習(xí)和遷移學(xué)習(xí)時的準(zhǔn)確率,SSL的目標(biāo)應(yīng)該是明顯優(yōu)于完全監(jiān)督學(xué)習(xí)。
呈現(xiàn)數(shù)據(jù)中混有其他類數(shù)據(jù)時模型的性能變化,因為這是現(xiàn)實場景中很常見的現(xiàn)象。
報告性能時,測試不同標(biāo)記數(shù)據(jù)/未標(biāo)記數(shù)據(jù)量下的情況。理想情況下,即便標(biāo)記數(shù)據(jù)非常少,SSL算法也能從未標(biāo)記數(shù)據(jù)中提取到有用信息。因此我們建議將SVHN與SVHN-Extra相結(jié)合,以測試算法在大型未標(biāo)記數(shù)據(jù)中的性能。
不要在不切實際的大型驗證集上過度調(diào)參。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4779瀏覽量
101052 -
算法
+關(guān)注
關(guān)注
23文章
4629瀏覽量
93196 -
SSL
+關(guān)注
關(guān)注
0文章
126瀏覽量
25766
原文標(biāo)題:NIPS 2018入選論文:對深度半監(jiān)督學(xué)習(xí)算法的現(xiàn)實評價
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論