從聊勝於無到可堪大用,半監督學習革命悄悄來臨
雷鋒網 AI 科技評論按:對機器學習工程師們來說,最經常遇到的狀況之一就是能輕鬆收集到一大堆數據,但是卻只有非常有限的資源做數據標註。每個遇到這種尷尬處境的人都只能冷靜下來,把他們的狀況總結成簡潔明了的「有監督數據不多,但未標註數據有很多」,然後在查閱論文之後按圖索驥找到一類看似可行的方案:半監督學習(semi-supervised learning)。
然後接下來事情就開始走樣了。
聽上去很美,踏上去是大坑一直以來,半監督學習都是機器學習領域內的一個大坑,每個嘗試想從裡面撈到好處的工程師最終都只能對傳統的、老式的數據標註增加更多的理解而已。不同的問題里可能會有不同的表現,但是最終大同小異,我們來看下面這張圖:
當標註數據不多的時候,半監督學習確實可以帶來一定的性能提升。但是實際使用的時候你就會發現,那些提升只能幫你把模型表現從「糟糕透了、不可接受」提高到「稍微好了那麼一點、但還是沒辦法使用」而已。說到底,如果你的標註數據規模較小,以至於半監督學習可以起到幫助的話,那同時也說明你的分類器表現仍然在一個很差的水平,沒法實際使用。
除此之外,半監督學習也需要一些額外的資源代價,而且使用了半監督學習的方法面對更多的標註數據的時候,性能增長曲線會比有監督學習更平緩;原因之一是無標註數據可能會帶來偏倚(見 MITPress-%20SemiSupervised%20Learning.pdf第四節)。在深度學習早期曾經流行過一種半監督學習做法,首先在未標註數據上學習一個自動編碼器,然後在有標註數據上進行微調(fine-tune)。現在已經幾乎沒有人這麼做了,因為大家通過無數的實驗發現,通過自動編碼器學習到的表徵會影響到精細調節階段增加的有標註數據帶來的性能提升幅度,而且是起到限制作用。有趣的是,即便今天我們已經大幅度改進了生成式方法,這仍然沒能讓這個模式變得更好使;這很可能是因為,做出一個好的生成式和模型和做出一個好的分類器畢竟不是一回事。所以結果是,今天的工程師們做微調的時候,他們是在監督學習的基礎上做微調的(即便對於語言模型也一樣,學習文本其實是一種自監督學習過程) ——從實用角度講,從其他有監督預訓練模型上做遷移學習的效果比從無監督學習模型上做遷移的效果好太多了。
所以,一個一定要嘗試半監督學習的機器學習工程師很可能會走上這樣一條路徑:
因為數據少,所以模型的表現糟透了。我們試試半監督學習吧(畢竟這還有點技術含量,標數據太枯燥了);
你看,準確率提升了吧!不過數字還是挺低的,看來我們還是得多標一些數據
標數據畢竟還是有用的,我多標好幾倍數據以後半監督學習模型的表現又提升了一些。不過我有點好奇,我都標了這麼多數據了,直接用監督學習會怎麼樣
實踐證明,有這麼多數據以後,監督學習還是更簡單直接,效果也更好。那我們為啥不一開始就多標註點數據呢,花了那麼多時間精力試了半監督學習結果還是用不上……
如果你比較幸運的話,你的問題有可能會有這樣一條性能曲線:
在這種情況下,在某一個數據規模之內半監督學習的效果會好一些,確實提高了數據使用效率。但以我的經驗,首先很難達到這樣的狀況;其次,半監督學習的提升總是不多的,學術論文里刷刷分還行,對實際應用來說影響很小,如果考慮到使用的方法的複雜性和多使用的計算資源的話,還是不如直接多標點數據的投入產出比比較好。
革命來臨不過別急,咱們這篇文章的標題不是「悄悄來臨的半監督學習革命」嗎?
如今有件事是微微讓人興奮的,那就是半監督學習的性能提升曲線逐漸變成了這個樣子:
這就會產生真正的區別了。首先,這個曲線符合了所有人對於半監督學習的期待:更多的數據就有更好的性能,而且對於同樣的有標註數據,性能總是比監督學習方法更好;即便是數據量足夠大、監督學習已經能夠發揮出好的效果的範圍內,半監督學習也仍然有提升。而且,為了達到這些提升所需要額外付出的計算複雜度和資源也已經很小了。這個「魔法般的區域」的起始點更低,而且不受到數據規模限制。
所以發生了什麼呢?很多方面都有了新的改進,比如很多很聰明的方法為數據做自我標註,以及新的表示損失的方法,讓損失和數據中的雜訊以及自我標註可能帶來的偏倚之間相互協調。這兩篇論文是近期改進的典型例子,而且也能引領你瀏覽更多相關的論文:
MixMatch: A Holistic Approach to Semi-Supervised Learning
MixMatch:一種半監督學習的整體性方法
https://arxiv.org/abs/1905.02249
論文摘要:半監督學習方法的提出是為了更好地利用未標註的數據,減輕對於大規模標註數據集的依賴;如今也證明了這是一種強有力的學習範式。在這篇論文中,作者們把當前不同任務中的做法為半監督學習做了統一,得到了一種新的演算法,MixMatch,它的工作方式是通過 MixUp 猜測數據擴增方法產生的無標籤樣本的低熵標籤,並把無標籤數據和有標籤數據混合起來。作者們通過實驗表明 MixMatch 在多種不同的數據集、多種不同的有標籤數據規模中都能以很大幅度領先此前的所有方法。比如,在 CIFAR 數據集上、只有 250 個標籤的情況下,作者們把錯誤率降低到了之前方法的 1/4,在 STL-10 數據集上也降低到了之前方法的一半。作者們也展示了 MixMatch 可以在差分隱私的使用目的下,在準確率和隱私保護之間取得好得多的平衡。最後,作者們進行了對照實驗,分析了 MixMatch 方法中的哪些組件最為關鍵。
Unsupervised Data Augmentation
無監督數據擴增
https://arxiv.org/abs/1904.12848
論文摘要:面對渴求大量數據的深度學習,數據擴增方法可以緩和一部分需求,但數據擴增方法往往只應用在有監督學習設定中,帶來的提升也較為有限。在這篇論文中,作者們提出了一種在半監督學習設定中,把數據擴增方法運用在未標註數據上的新方法。他們的方法,無監督數據擴增 UDA,會鼓勵模型面對未標註數據和擴增過的未標註數據時產生一致的預測。與此前使用高斯雜訊和 dropout 雜訊的方法不同,UDA 有一些小的調整,它藉助目前最先進的數據擴增方法產生了難度更高、更真實的雜訊。這些小調整讓 UDA 在六種語言任務、三種視覺任務中都帶來了顯著的表現提升,即便使用到的有標註數據集非常小。比如,在 IMDb 數據集的分類測試中,UDA 只使用 20 個標籤就得到了比此前最好的方法在 25,000 個有標籤數據上訓練更好的結果。在標準的半監督學習測試(CIFAR-10,4000 個標籤;以及 SVHN,1000 個標籤)中,UDA 擊敗了此前所有的方法,而且把錯誤率降低了至少 30%。UDA 在大規模數據集上也有好的表現,比如在 ImageNet 上,只需要額外增加 130 萬張無標籤圖像,相比此前的方法,UDA 也可以繼續提升首位和前五位命中率。
在半監督學習的整個世界得到革新之後,大家也開始意識到半監督學習可能在機器學習的隱私問題方面可能能夠大有作為。比如使用在 PATE 中(有監督數據是需要保護的隱私數據,帶有強隱私保護能力的學生模型只能通過無標籤數據訓練)。有能力保護隱私的知識蒸餾方法也是聯邦學習的關鍵組成部分之一,而聯邦學習的效果就是高效的分散式學習,它不需要模型接觸全部的用戶數據,而且帶有數學上強有力的隱私保護。(了解更多可以參見雷鋒網 AI 科技評論此前關於 差分隱私保護 PATE以及聯邦學習的文章)
如今,在真實使用場景中考慮半監督學習已經重新成為了一件很有價值的事情。以前的研究者們對半監督學習的不屑態度如今要受到挑戰,這也說明了這個領域內技術水平發展之快。這些趨勢出現確實還沒有多久,我們也還需要觀察這些方法能夠經得住時間的考驗。但是,如果常用的機器學習工具和範式能從這些新進展中獲得大的進步的話,這無疑是十分誘人的。
via towardsdatascience.com,雷鋒網 AI 科技評論編譯
※普渡大學鄧新燕副教授蜂鳥機器人研究即將登上ICRA2019舞台,同步開源蜂鳥模擬環境
※一文縱覽 Vision-and-Language 領域最新研究與進展
TAG:雷鋒網 |