0
本文作者: 楊曉凡 | 2019-05-28 15:03 |
雷鋒網(wǎng) AI 科技評論按:對機(jī)器學(xué)習(xí)工程師們來說,最經(jīng)常遇到的狀況之一就是能輕松收集到一大堆數(shù)據(jù),但是卻只有非常有限的資源做數(shù)據(jù)標(biāo)注。每個(gè)遇到這種尷尬處境的人都只能冷靜下來,把他們的狀況總結(jié)成簡潔明了的「有監(jiān)督數(shù)據(jù)不多,但未標(biāo)注數(shù)據(jù)有很多」,然后在查閱論文之后按圖索驥找到一類看似可行的方案:半監(jiān)督學(xué)習(xí)(semi-supervised learning)。
然后接下來事情就開始走樣了。
一直以來,半監(jiān)督學(xué)習(xí)都是機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)的一個(gè)大坑,每個(gè)嘗試想從里面撈到好處的工程師最終都只能對傳統(tǒng)的、老式的數(shù)據(jù)標(biāo)注增加更多的理解而已。不同的問題里可能會(huì)有不同的表現(xiàn),但是最終大同小異,我們來看下面這張圖:
當(dāng)標(biāo)注數(shù)據(jù)不多的時(shí)候,半監(jiān)督學(xué)習(xí)確實(shí)可以帶來一定的性能提升。但是實(shí)際使用的時(shí)候你就會(huì)發(fā)現(xiàn),那些提升只能幫你把模型表現(xiàn)從「糟糕透了、不可接受」提高到「稍微好了那么一點(diǎn)、但還是沒辦法使用」而已。說到底,如果你的標(biāo)注數(shù)據(jù)規(guī)模較小,以至于半監(jiān)督學(xué)習(xí)可以起到幫助的話,那同時(shí)也說明你的分類器表現(xiàn)仍然在一個(gè)很差的水平,沒法實(shí)際使用。
除此之外,半監(jiān)督學(xué)習(xí)也需要一些額外的資源代價(jià),而且使用了半監(jiān)督學(xué)習(xí)的方法面對更多的標(biāo)注數(shù)據(jù)的時(shí)候,性能增長曲線會(huì)比有監(jiān)督學(xué)習(xí)更平緩;原因之一是無標(biāo)注數(shù)據(jù)可能會(huì)帶來偏倚(見 MITPress-%20SemiSupervised%20Learning.pdf 第四節(jié))。在深度學(xué)習(xí)早期曾經(jīng)流行過一種半監(jiān)督學(xué)習(xí)做法,首先在未標(biāo)注數(shù)據(jù)上學(xué)習(xí)一個(gè)自動(dòng)編碼器,然后在有標(biāo)注數(shù)據(jù)上進(jìn)行微調(diào)(fine-tune)?,F(xiàn)在已經(jīng)幾乎沒有人這么做了,因?yàn)榇蠹彝ㄟ^無數(shù)的實(shí)驗(yàn)發(fā)現(xiàn),通過自動(dòng)編碼器學(xué)習(xí)到的表征會(huì)影響到精細(xì)調(diào)節(jié)階段增加的有標(biāo)注數(shù)據(jù)帶來的性能提升幅度,而且是起到限制作用。有趣的是,即便今天我們已經(jīng)大幅度改進(jìn)了生成式方法,這仍然沒能讓這個(gè)模式變得更好使;這很可能是因?yàn)?,做出一個(gè)好的生成式和模型和做出一個(gè)好的分類器畢竟不是一回事。所以結(jié)果是,今天的工程師們做微調(diào)的時(shí)候,他們是在監(jiān)督學(xué)習(xí)的基礎(chǔ)上做微調(diào)的(即便對于語言模型也一樣,學(xué)習(xí)文本其實(shí)是一種自監(jiān)督學(xué)習(xí)過程) —— 從實(shí)用角度講,從其他有監(jiān)督預(yù)訓(xùn)練模型上做遷移學(xué)習(xí)的效果比從無監(jiān)督學(xué)習(xí)模型上做遷移的效果好太多了。
所以,一個(gè)一定要嘗試半監(jiān)督學(xué)習(xí)的機(jī)器學(xué)習(xí)工程師很可能會(huì)走上這樣一條路徑:
因?yàn)閿?shù)據(jù)少,所以模型的表現(xiàn)糟透了。我們試試半監(jiān)督學(xué)習(xí)吧(畢竟這還有點(diǎn)技術(shù)含量,標(biāo)數(shù)據(jù)太枯燥了);
你看,準(zhǔn)確率提升了吧!不過數(shù)字還是挺低的,看來我們還是得多標(biāo)一些數(shù)據(jù)
標(biāo)數(shù)據(jù)畢竟還是有用的,我多標(biāo)好幾倍數(shù)據(jù)以后半監(jiān)督學(xué)習(xí)模型的表現(xiàn)又提升了一些。不過我有點(diǎn)好奇,我都標(biāo)了這么多數(shù)據(jù)了,直接用監(jiān)督學(xué)習(xí)會(huì)怎么樣
實(shí)踐證明,有這么多數(shù)據(jù)以后,監(jiān)督學(xué)習(xí)還是更簡單直接,效果也更好。那我們?yōu)樯恫灰婚_始就多標(biāo)注點(diǎn)數(shù)據(jù)呢,花了那么多時(shí)間精力試了半監(jiān)督學(xué)習(xí)結(jié)果還是用不上……
如果你比較幸運(yùn)的話,你的問題有可能會(huì)有這樣一條性能曲線:
在這種情況下,在某一個(gè)數(shù)據(jù)規(guī)模之內(nèi)半監(jiān)督學(xué)習(xí)的效果會(huì)好一些,確實(shí)提高了數(shù)據(jù)使用效率。但以我的經(jīng)驗(yàn),首先很難達(dá)到這樣的狀況;其次,半監(jiān)督學(xué)習(xí)的提升總是不多的,學(xué)術(shù)論文里刷刷分還行,對實(shí)際應(yīng)用來說影響很小,如果考慮到使用的方法的復(fù)雜性和多使用的計(jì)算資源的話,還是不如直接多標(biāo)點(diǎn)數(shù)據(jù)的投入產(chǎn)出比比較好。
不過別急,咱們這篇文章的標(biāo)題不是「悄悄來臨的半監(jiān)督學(xué)習(xí)革命」嗎?
如今有件事是微微讓人興奮的,那就是半監(jiān)督學(xué)習(xí)的性能提升曲線逐漸變成了這個(gè)樣子:
這就會(huì)產(chǎn)生真正的區(qū)別了。首先,這個(gè)曲線符合了所有人對于半監(jiān)督學(xué)習(xí)的期待:更多的數(shù)據(jù)就有更好的性能,而且對于同樣的有標(biāo)注數(shù)據(jù),性能總是比監(jiān)督學(xué)習(xí)方法更好;即便是數(shù)據(jù)量足夠大、監(jiān)督學(xué)習(xí)已經(jīng)能夠發(fā)揮出好的效果的范圍內(nèi),半監(jiān)督學(xué)習(xí)也仍然有提升。而且,為了達(dá)到這些提升所需要額外付出的計(jì)算復(fù)雜度和資源也已經(jīng)很小了。這個(gè)「魔法般的區(qū)域」的起始點(diǎn)更低,而且不受到數(shù)據(jù)規(guī)模限制。
所以發(fā)生了什么呢?很多方面都有了新的改進(jìn),比如很多很聰明的方法為數(shù)據(jù)做自我標(biāo)注,以及新的表示損失的方法,讓損失和數(shù)據(jù)中的噪聲以及自我標(biāo)注可能帶來的偏倚之間相互協(xié)調(diào)。這兩篇論文是近期改進(jìn)的典型例子,而且也能引領(lǐng)你瀏覽更多相關(guān)的論文:
MixMatch: A Holistic Approach to Semi-Supervised Learning
MixMatch:一種半監(jiān)督學(xué)習(xí)的整體性方法
論文摘要:半監(jiān)督學(xué)習(xí)方法的提出是為了更好地利用未標(biāo)注的數(shù)據(jù),減輕對于大規(guī)模標(biāo)注數(shù)據(jù)集的依賴;如今也證明了這是一種強(qiáng)有力的學(xué)習(xí)范式。在這篇論文中,作者們把當(dāng)前不同任務(wù)中的做法為半監(jiān)督學(xué)習(xí)做了統(tǒng)一,得到了一種新的算法,MixMatch,它的工作方式是通過 MixUp 猜測數(shù)據(jù)擴(kuò)增方法產(chǎn)生的無標(biāo)簽樣本的低熵標(biāo)簽,并把無標(biāo)簽數(shù)據(jù)和有標(biāo)簽數(shù)據(jù)混合起來。作者們通過實(shí)驗(yàn)表明 MixMatch 在多種不同的數(shù)據(jù)集、多種不同的有標(biāo)簽數(shù)據(jù)規(guī)模中都能以很大幅度領(lǐng)先此前的所有方法。比如,在 CIFAR 數(shù)據(jù)集上、只有 250 個(gè)標(biāo)簽的情況下,作者們把錯(cuò)誤率降低到了之前方法的 1/4,在 STL-10 數(shù)據(jù)集上也降低到了之前方法的一半。作者們也展示了 MixMatch 可以在差分隱私的使用目的下,在準(zhǔn)確率和隱私保護(hù)之間取得好得多的平衡。最后,作者們進(jìn)行了對照實(shí)驗(yàn),分析了 MixMatch 方法中的哪些組件最為關(guān)鍵。
Unsupervised Data Augmentation
無監(jiān)督數(shù)據(jù)擴(kuò)增
論文摘要:面對渴求大量數(shù)據(jù)的深度學(xué)習(xí),數(shù)據(jù)擴(kuò)增方法可以緩和一部分需求,但數(shù)據(jù)擴(kuò)增方法往往只應(yīng)用在有監(jiān)督學(xué)習(xí)設(shè)定中,帶來的提升也較為有限。在這篇論文中,作者們提出了一種在半監(jiān)督學(xué)習(xí)設(shè)定中,把數(shù)據(jù)擴(kuò)增方法運(yùn)用在未標(biāo)注數(shù)據(jù)上的新方法。他們的方法,無監(jiān)督數(shù)據(jù)擴(kuò)增 UDA,會(huì)鼓勵(lì)模型面對未標(biāo)注數(shù)據(jù)和擴(kuò)增過的未標(biāo)注數(shù)據(jù)時(shí)產(chǎn)生一致的預(yù)測。與此前使用高斯噪聲和 dropout 噪聲的方法不同,UDA 有一些小的調(diào)整,它借助目前最先進(jìn)的數(shù)據(jù)擴(kuò)增方法產(chǎn)生了難度更高、更真實(shí)的噪聲。這些小調(diào)整讓 UDA 在六種語言任務(wù)、三種視覺任務(wù)中都帶來了顯著的表現(xiàn)提升,即便使用到的有標(biāo)注數(shù)據(jù)集非常小。比如,在 IMDb 數(shù)據(jù)集的分類測試中,UDA 只使用 20 個(gè)標(biāo)簽就得到了比此前最好的方法在 25,000 個(gè)有標(biāo)簽數(shù)據(jù)上訓(xùn)練更好的結(jié)果。在標(biāo)準(zhǔn)的半監(jiān)督學(xué)習(xí)測試(CIFAR-10,4000 個(gè)標(biāo)簽;以及 SVHN,1000 個(gè)標(biāo)簽)中,UDA 擊敗了此前所有的方法,而且把錯(cuò)誤率降低了至少 30%。UDA 在大規(guī)模數(shù)據(jù)集上也有好的表現(xiàn),比如在 ImageNet 上,只需要額外增加 130 萬張無標(biāo)簽圖像,相比此前的方法,UDA 也可以繼續(xù)提升首位和前五位命中率。
在半監(jiān)督學(xué)習(xí)的整個(gè)世界得到革新之后,大家也開始意識(shí)到半監(jiān)督學(xué)習(xí)可能在機(jī)器學(xué)習(xí)的隱私問題方面可能能夠大有作為。比如使用在 PATE 中(有監(jiān)督數(shù)據(jù)是需要保護(hù)的隱私數(shù)據(jù),帶有強(qiáng)隱私保護(hù)能力的學(xué)生模型只能通過無標(biāo)簽數(shù)據(jù)訓(xùn)練)。有能力保護(hù)隱私的知識(shí)蒸餾方法也是聯(lián)邦學(xué)習(xí)的關(guān)鍵組成部分之一,而聯(lián)邦學(xué)習(xí)的效果就是高效的分布式學(xué)習(xí),它不需要模型接觸全部的用戶數(shù)據(jù),而且?guī)в袛?shù)學(xué)上強(qiáng)有力的隱私保護(hù)。(了解更多可以參見雷鋒網(wǎng) AI 科技評論此前關(guān)于 差分隱私保護(hù) PATE 以及 聯(lián)邦學(xué)習(xí) 的文章)
如今,在真實(shí)使用場景中考慮半監(jiān)督學(xué)習(xí)已經(jīng)重新成為了一件很有價(jià)值的事情。以前的研究者們對半監(jiān)督學(xué)習(xí)的不屑態(tài)度如今要受到挑戰(zhàn),這也說明了這個(gè)領(lǐng)域內(nèi)技術(shù)水平發(fā)展之快。這些趨勢出現(xiàn)確實(shí)還沒有多久,我們也還需要觀察這些方法能夠經(jīng)得住時(shí)間的考驗(yàn)。但是,如果常用的機(jī)器學(xué)習(xí)工具和范式能從這些新進(jìn)展中獲得大的進(jìn)步的話,這無疑是十分誘人的。
via towardsdatascience.com,雷鋒網(wǎng) AI 科技評論編譯
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。