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