這一波深度學(xué)習(xí)的發(fā)展,以2006年Hinton發(fā)表Deep Belief Networks的論文為起點(diǎn),到今年已經(jīng)超過了10年。從過往學(xué)術(shù)界和產(chǎn)業(yè)界對新技術(shù)的追捧周期,超過10年的是極少數(shù)。從深度學(xué)習(xí)所屬的機(jī)器學(xué)習(xí)領(lǐng)域來看,到底什么樣的方向能夠支撐這個領(lǐng)域繼續(xù)蓬勃發(fā)展下去,讓學(xué)術(shù)界和產(chǎn)業(yè)界都能持續(xù)投入和產(chǎn)出,就目前來看,半監(jiān)督學(xué)習(xí)是一個很有潛力的方向。
機(jī)器學(xué)習(xí)范式的發(fā)展
傳統(tǒng)機(jī)器學(xué)習(xí)的解決路徑可以表示為:
ML Solution = ML expertise + Computation + Data
其中ML expertise是機(jī)器學(xué)習(xí)專家,負(fù)責(zé)特征工程、機(jī)器學(xué)習(xí)模型設(shè)計和最終的訓(xùn)練,是整個機(jī)器學(xué)習(xí)解決方案效果的關(guān)鍵因素。Computation是計算能力,代表具體選擇什么的硬件去承載專家設(shè)計的優(yōu)化方案。這個部分一般來說窮有窮的打法,富有富的策略:以CTR預(yù)估為例,小廠設(shè)備不多,資源不足,那么可能GBDT就是一個不錯的選擇;大廠的話,資源相對富裕,那么各種DNN就上來了。Data無論做什么業(yè)務(wù),或多或少也都有一些,C端產(chǎn)品的話,上線后總會有用戶反饋可以做為label;B端產(chǎn)品的話,以我曾經(jīng)搞過的圖片識別為例,定向爬蟲和人工標(biāo)注也能弄到有標(biāo)簽樣本。Data總會有,無外乎多少的區(qū)別。
這里就存在一個問題,Computation和Data即便有了,也不一定有很匹配的人來把整個事情串聯(lián)運(yùn)用起來,發(fā)揮最終的價值。21世紀(jì),最貴的是人才;為什么貴?因?yàn)橄∪薄S谑谴蠹揖驮谙耄懿荒馨褭C(jī)器學(xué)習(xí)問題的解決路徑改為:
New ML Solution = 100x Computation + 100x Data
簡而言之,就是用更多地Computation和Data代替人的作用。100x Computation替代人工模型設(shè)計,這兩年也得到了長足的發(fā)展,這就是AutoML。狹義的來看AutoML,NAS和Meta Learning在學(xué)術(shù)界工業(yè)界都有不錯的進(jìn)展。尤其是NAS,2017年Zoph和Le發(fā)表的Neural Architecture Search with Reinforcement Learning作為引爆點(diǎn),快速形成了一個火爆的研究領(lǐng)域,主要思路是通過RNN controller來sample神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練這個網(wǎng)絡(luò)結(jié)構(gòu),以這個網(wǎng)絡(luò)結(jié)構(gòu)的指標(biāo)作為RL的reward優(yōu)化這個controller,讓這個controller能夠sample出更有效的網(wǎng)絡(luò)結(jié)構(gòu)。
Controller訓(xùn)練過程
這個領(lǐng)域后續(xù)還有一些列出色的工作,但由于不是今天討論的重點(diǎn),暫且按下不表,有時間再寫一篇關(guān)于NAS的從認(rèn)知到實(shí)踐。
100x Data聽上去就是一個很有誘惑力的事情,因?yàn)楦嗟臄?shù)據(jù),往往意味著更好的效果。以最近異常火爆的BERT和GPT2,都被認(rèn)為是大力出奇跡的暴力美學(xué)典范。大量的數(shù)據(jù)帶來效果提高了人們對當(dāng)前AI的認(rèn)知邊界,GPT2生成的文本就是一個很好的例子。但是數(shù)據(jù)規(guī)模的擴(kuò)大,往往意味著某方面成本的提升。廣告CTR預(yù)估,100x的樣本要么是DAU增長了100倍,要么是出了100x的廣告(估計會被用戶打死的),都不太真實(shí);圖片的人工標(biāo)注增長100x即便金錢成本能接受,時間成本也太長,猜想ImageNet如果1億標(biāo)注樣本,估計CV的發(fā)展還會有更多的爆發(fā)點(diǎn)。
在談半監(jiān)督學(xué)習(xí)的進(jìn)展前,我們先看看另一個機(jī)器學(xué)習(xí)方向在解決數(shù)據(jù)不足和數(shù)據(jù)稀疏上的努力。
Multi-Task Learning
Multi-Task Learning是指不同的任務(wù)之間通過共享全部或者部分模型參數(shù),相互輔助,相互遷移,共同提高的機(jī)器學(xué)習(xí)方法。實(shí)際使用過程中,Multi-Task Learning由于多個任務(wù)共享參數(shù),還能帶來Serving Cost的下降,在學(xué)術(shù)界和工業(yè)界都有不少相關(guān)工作,并且在一些數(shù)據(jù)上取得了不錯的進(jìn)展。
Multi-Task Learning由于不同任務(wù)之間可以相互輔助學(xué)習(xí),往往數(shù)據(jù)稀疏的任務(wù)能夠從數(shù)據(jù)豐富的任務(wù)收益,得到提高,同時數(shù)據(jù)豐富任務(wù)還不怎么受影響或者微弱提升。這在一定程度上緩解了數(shù)據(jù)量的需求。
最近幾年比較好的Multi-Task Learning工作,首先讓我比較有印象的是Cross-stitch。Cross-stitch通過在Multi-Task的表達(dá)學(xué)習(xí)中,通過權(quán)重轉(zhuǎn)換矩陣 alpha_{AB} 或者 alpha_{BA} 直接獲得另一個任務(wù)的中間表示信息,這種方案在效果上比傳統(tǒng)的Shared Bottom靈活,也減少了模型參數(shù)被某一個任務(wù)完全主導(dǎo)的風(fēng)險。
Cross-stitch子結(jié)構(gòu)
后來的ESSM跟Cross-stitch有異曲同工之妙,只是將任務(wù)的學(xué)習(xí)方向改為單向:pCVR單向從pCTR中學(xué)習(xí),以滿足業(yè)務(wù)上的邏輯因果關(guān)系。
ESSM學(xué)習(xí)框架
Multi-Task Learning最近比較有意思的工作,SNR應(yīng)該算一個,思路主要收到Mixture-of-Expert的啟發(fā)(Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer:這篇文章背后的思想其實(shí)是Google解決大規(guī)模機(jī)器學(xué)習(xí)的新思路,完全值得開篇另述!),不同的任務(wù)走不同的網(wǎng)絡(luò)路由,即不同的任務(wù)會由不同的Experts組合預(yù)估,而Experts總量固定,在不同任務(wù)間是部分共享的。對比Cross-stitch,每個任務(wù)都必須使用另外任務(wù)的信息,這種網(wǎng)絡(luò)架構(gòu)設(shè)計,使得不同任務(wù)的Expert既有獨(dú)立又有共享。具體的獨(dú)立和共享方式,每個任務(wù)通過模型訓(xùn)練學(xué)習(xí)得到,比較好的平衡了任務(wù)的獨(dú)立性和共通性。SNR還使用了稀疏路由的思想,使得每個任務(wù)在保證效果的前提下經(jīng)過最少的Experts,降低計算量。
Multi-Task Learning在學(xué)術(shù)界和工業(yè)界都獲得了不俗的成績,但是也有一個要命的短板,需要另外一個數(shù)據(jù)豐富且能夠?qū)W習(xí)比較好的任務(wù)幫忙。這個要求限制了Multi-Task Learning發(fā)揮的空間,因?yàn)楹芏嗲闆r下,不僅沒有其他任務(wù),僅有的任務(wù)label也很匱乏,于是半監(jiān)督學(xué)習(xí)就有了用武之地。
半監(jiān)督學(xué)習(xí)
半監(jiān)督學(xué)習(xí)通常情況下,只有少量的有l(wèi)abel數(shù)據(jù),但是可以獲得大量的無label數(shù)據(jù),在這種情況下希望能夠獲得跟監(jiān)督學(xué)習(xí)獲得相似甚至相同的效果。半監(jiān)督學(xué)習(xí)的歷史其實(shí)已經(jīng)也比較久遠(yuǎn)了,2009年Chapalle編著的Semi-Supervised Learning,就對其定義和原理做了詳細(xì)介紹。在計算力隨著深度學(xué)習(xí)的熱潮快速發(fā)展的同時,大量的label貧困任務(wù)出現(xiàn),于是半監(jiān)督學(xué)習(xí)也越來越重要。
半監(jiān)督學(xué)習(xí)近兩年最有亮點(diǎn)的工作當(dāng)屬發(fā)表在EMNLP'2018的Phrase-Based & Neural Unsupervised Machine Translation,大幅提升了半監(jiān)督機(jī)器機(jī)器翻譯的SOTA。
翻譯訓(xùn)練過程示意
在整個訓(xùn)練過程中,B)先對其兩種語言的work級別翻譯,然后C)針對兩種語言分別學(xué)一個Language Model,獲得語言分布,最后D)再根據(jù)語言分布反復(fù)使用Back-Translation在已知的少量句對上翻譯獲得最終模型。這種方案大幅提高了在對齊句對不多的語種之間的翻譯質(zhì)量,同時由于其novelty,獲得了EMNLP'2018的Best Paper Award,初讀此文時有一種眼前一亮的感覺。(盡管標(biāo)題叫Unsupervised Machine Translation,但是實(shí)際上利用到了部分label數(shù)據(jù),我更愿意將其歸類為Semi-Supervised Machine Translation。)
最近Google的研究人員又提出來一種新的半監(jiān)督訓(xùn)練方法MixMatch,這種方法號稱是Holistic的,綜合運(yùn)用了:A)distribution average; B)temperature sharpening; C)MixUp with labeled and unlabeled data. 其訓(xùn)練過程如下:
這個方法在CIFAR-10上只有250個label時能將錯誤率從38%降到11%,令人印象深刻。『江山代有才人出』,另一波Google的研究人員提出了UDA,在我看來這種方法更為徹底,也更加End-to-End。UDA主要利用數(shù)據(jù)分布的連續(xù)性和一致性,在輸入有擾動的情況下,輸出應(yīng)該保持穩(wěn)定,于是對于unlabeled data增加了一個損失函數(shù):
即有擾動和無擾動的unlabeled data的預(yù)估分布的KL距離應(yīng)該非常小,同時數(shù)據(jù)擾動用盡可能貼近任務(wù)本身的方法去做,比如圖像用AutoArgument,文本用上面提到的Back-Translation和Word Replacement。
UDA訓(xùn)練示意
UDA的效果在文本和圖像上都得到了很好地驗(yàn)證,大幅降低標(biāo)注數(shù)據(jù)不足情況下得錯誤率;更值得關(guān)注的一點(diǎn)是,即便在ImageNet這種標(biāo)注數(shù)據(jù)已經(jīng)非常多的情況下,再使用UDA依然能帶來效果的提升,說明UDA在數(shù)據(jù)分布擬合上具有很好地通用性。
結(jié)語
總體來看,半監(jiān)督機(jī)器學(xué)習(xí)無論是采用聚類、圖傳播、數(shù)據(jù)增強(qiáng)還是泛化學(xué)習(xí),主要依據(jù)的理論基礎(chǔ)都是labeled和unlabeled data在分布上的連續(xù)性和一致性,因此機(jī)器學(xué)習(xí)方法可以利用這點(diǎn)進(jìn)行有效的結(jié)構(gòu)化學(xué)習(xí),增強(qiáng)模型的表征能力,進(jìn)而很好地提高預(yù)測效果。雖然半監(jiān)督機(jī)器學(xué)習(xí)已經(jīng)取得了一些很好的結(jié)果,從近兩年ICML、ICLR和NeurIPS等會議看,相關(guān)工作也越來越多,但是還遠(yuǎn)沒有到CV中的ResNet和NLP中的BERT的水平,要實(shí)現(xiàn)100x Data真正發(fā)揮作用,還需要學(xué)術(shù)界和工業(yè)界共同努力。
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5513瀏覽量
121549 -
半監(jiān)督學(xué)習(xí)
+關(guān)注
關(guān)注
0文章
20瀏覽量
2561
原文標(biāo)題:新技術(shù)“紅”不過十年,半監(jiān)督學(xué)習(xí)為什么是個例外?
文章出處:【微信號:AItists,微信公眾號:人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論