【深度】自監督學習,如何從數據困境中拯救深度學習?

2021-02-20 中國自動化學會

大規模標註的數據集的出現是深度學習在計算機視覺領域取得巨大成功的關鍵因素之一。然而監督式學習過於依賴大規模標註數據集,數據集的收集和人工標註需耗費大量的人力成本。自監督模型解決了這一難題,它能夠從大規模未標記數據中學習圖像特徵,而無需使用任何人工標註數據。

每個深度學習實踐者都認同的一件事是:深度學習模型是數據低效的。

1、數據低效的深度學習模型

讓我們首先考慮計算機視覺中的主流分類任務。以 ImageNet 資料庫為例,它包含 1000 個不同類別的130 萬張圖像,其中的每一個圖像都有人工標註的標籤。

ImageNet 無疑是現在深度學習復興的基石之一,這源於 2012 年 Krizhevsky 等人所著的論文《Imagenet Classification with Deep Convolutional Neural Networks》。

在這篇文章中, 卷積網絡模型首次大幅度超越了當時最先進的模型。它是在所有的對比模型中唯一一個基於卷積神經網絡的解決方案。此後,卷積神經網絡變得無處不在。

在深度學習之前,研究人員一直認為 ImageNet 挑戰非常困難,其主要原因是 ImageNet 數據集突出的變化性。即便只是找到能覆蓋 ImageNet 中各種犬類的手工特徵就已經很不容易。

然而,通過深度學習,我們很快意識到,大量的數據導致了 ImageNet 如此困難,同時實際上也是使深度學習如此有效的秘訣。

雖然如此,通過多年的深度學習研究,我們知道了大型資料庫用於訓練精確模型的必要性已成為一個非常重要的問題。並且需要低效的人工標註數據成為一個更大的問題。

而且在當前的深度學習應用中,數據的問題無處不在。以 DeepMind 的 AlphaStar 模型為例。

來源:《AlphaStar : Mastering the Real-Time Strategy Game StarCraft II》

AlphaStar 深度學習系統使用監督學習和強化學習來操作《星際爭霸2》。在訓練期間,AlphaStar 僅從遊戲終端上觀看遊戲畫面。DeepMind 研究人員使用可並行訓練大量智能體的分布式策略訓練模型。每個智能體都至少觀看過 200 年的實時《星際爭霸》錄像(不間斷)。通過像職業選手一樣的訓練,AlphaStar 取得了在官方遊戲伺服器中的排名超過了99.8%的活躍玩家的巨大成功。

雖然其中使用了各種通用性的技術來訓練系統,但成功構建 AlphaStar(或任何其他 RL 智能體)的真正關鍵是使用了大量數據。實際上最佳的強化學習算法需要進行大量試驗才能達到人類水平,這與我們人類的學習方式正好相反。

結果,強化學習在具有大量可用數據的受限且定義明確的場景上取得了巨大成功。相關閱讀可以查看 DeepMind 《Rainbow: Combining Improvements in Deep Reinforcement Learning》這篇論文。

如果讓最好的 RL 方法玩某個 Atari 遊戲,它需要一共玩近100個小時(1080萬幀),才能達到和專業人類玩家相同的表現水平。儘管時長最近有所改進,但100小時似乎仍然太多。

來源:《 Rainbow: Combining Improvements in Deep Reinforcement Learning》

有關 AlphaStar 的更多信息,可以查看這篇文章:

雖然我可以給大家再舉幾個例子,但我想這兩句話足以說明我的意思:

目前深度學習基於大規模數據,當滿足所需環境和約束條件時,這些系統就會產出給人驚喜的結果。但在一些特殊情況下,它們也會完全失效。

讓我們回到 ImageNet 分類問題:ImageNet 資料庫的人類識別錯誤率約為5.1%,而目前最先進的深度學習 top-5 準確性約為1.8%。

因此我們可以完美地證明:深度學習在  ImageNet  這項任務上已經比人類做的更好。但是真的是這樣嗎?

如果是這樣的話,我們怎麼解釋如下的問題呢?

來源:《 Attacking Machine Learning with Adversarial Examples》

我們可以將這些在網際網路上非常流行的對抗樣本(adversarial examples)看作是設計用於誤導機器學習模型的優化任務。相關閱讀可以查看下面這篇文章:

這個想法很簡單:

我們如何讓分類器將以前歸類為「熊貓」的圖像歸類為「長臂猿」?

我們可以簡單地認為被精心設計的輸入樣本導致了 ML 模型分類錯誤。

來源:《One Pixel Attack for Fooling Deep Neural Networks》

正如我們所見,優化效果好到我們(用肉眼)無法察覺到真實圖像(左)和對抗圖像(右)之間的差異。實際上,造成分類錯誤的噪聲不是任何類型的已知信號。相反它是經過精心設計用於發現模型中的隱藏誤差。並且最近的研究表明:在某些情況我們只需要改變1個像素,就可以成功誤導最好的深度學習分類器,詳細討論可以查看這篇論文:

在這一點上,我們可以看到問題開始相互疊加。我們不僅需要大量樣本來學習新任務,還需要確保我們的模型學習正確的表徵。

油管視頻:https://www.youtube.com/watch?v=piYnd_wYlT8

我們看到深度學習系統失敗時產生了一個有趣的討論:為什麼 我們人類不會輕易被對抗樣本誤導呢?

2、建立和利用先驗知識

有的人說當我們需要掌握一項新任務時,我們實際上並沒有從頭開始學習它。相反,我們使用了我們一生中積累的許多先驗知識。

牛頓發現萬有引力定律

我們了解重力及其含義,知道如果讓炮彈和羽毛從同一起點落下,由於兩個物體的空氣阻力不同,炮彈將先到達地面;知道物體不能漂浮在空中;了解有關世界運作方式的常識。我們知道如果我們自己的父親有孩子,他或她將是自己的兄弟姐妹;知道如果我們讀了一篇文章說某人出生於 1900 年代,那麼他/她可能不再活著,因為我們(通過觀察世界)知道人們的壽命通常不會超過 120 歲。

我們了解事件之間的因果關係。最神奇的是我們實際上很早就學會了許多高級概念。實際上,我們僅用6~7個月就學會了重力和慣性等概念,而在這個時期我們與世界的互動幾乎為0!

來源:《Early Conceptual Acquisition in Infants [from Emmanuel Dupoux].》, Yann LeCun講義

從這種意義上講,有人可能會說將算法性能與人類能力進行比較是「不公平的」。

Yann LeCun 在關於自監督學習的研究中,認為至少有3種獲取知識的方法。

(1)通過觀察

(2)通過監督(大部分來自家長和老師)

(3)通過強化反饋

論文地址:https://www.facebook.com/epflcampus/videos/1960325127394608

人類通過生活獲得不同知識的來源。通過觀察/互動、監督和反饋來學習

但是如果以嬰兒為例,那麼這個年齡與外界的互動幾乎沒有。儘管如此,嬰兒還是成功建立了物理世界的直覺模型。因此像重力這樣的高級知識只能通過純粹的觀察來學習——至少,我還沒有看到任何父母教一個6個月大的嬰兒物理。

直到我們長大一些掌握語言並開始上學時,監督和互動(帶有反饋)才變得更加重要。但更重要的是,當我們處於生命的這些階段時,我們已經建立了一個魯棒性的模型世界。這可能是人類比當前機器更高效處理數據的主要原因之一。

正如 LeCun 所說,強化學習就像蛋糕上的櫻桃。監督學習是錦上添花,而自監督學習才是蛋糕!

來源:Yann LeCun(https://drive.google.com/drive/folders/0BxKBnD5y2M8NUXhZaXBCNXE4QlE)

3、自監督學習

自監督學習系統學會通過輸入的其他部分預測輸入的一部分。

—— LeCun

自監督學習源於無監督學習, 解決從未標記的數據中學習語義特徵的問題。本文中我們最關心的是在計算機視覺領域的自我監督。

通常的方法是通過設計一個「名義任務」將無監督的問題轉換為有監督的任務。通常,名義任務不會有什麼新的產出,它的目的是使網絡學習如何從數據中捕獲有用的特徵。

名義任務與常見的監督問題有相似之處。

我們知道監督訓練需要標註。轉而變成通常需要人工標註者的不斷努力。但在許多情況下,標註非常昂貴或無法獲得。我們也知道學習模型天生需要數據,這導致大規模的標註數據集已成為學習模型進一步發展的主要壁壘之一。

同樣,自監督學習也需要標註來訓練名義任務。然而與名義任務的關鍵不同在於:用於名義任務的標註(偽標註)的特徵是不同的。

實際上對於自監督訓練,偽標籤僅來自數據特徵本身。

換句話說偽數據不需要人工標註。確實,自我學習和監督學習之間的主要區別在於標註的來源。

(1)如果標註來自標註者(像大多數數據集一樣),則這是一項監督任務。

(2)如果標註是從數據中獲取,那麼在這種情況下我們可以自動生成它們,則這是一項自監督學習。

最近的研究提出了許多名義任務。最常見的有:

(1)圖片旋轉(Rotation)

(2)圖像拼接(Jigsaw puzzle )

(3)圖像著色(Image Colorization)

(4)圖像修復(Image inpainting)

(5)用 GANs 生成圖像/視頻(Image/Video Generation using GANs)

如果想要了解更多關於每個 pretext 任務的介紹,可以查看《Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey》這篇論文:

來源:《Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey》

在自監督的訓練期間,我們訓練網絡從而來學習名義任務。同樣,根據數據本身自動生成偽標籤用來訓練目標。訓練結束後,我們通常將學習到的視覺特徵作為知識轉譯給下遊任務(downstream task)。

通常,下遊任務可以是任何監督問題。目的是用自監督特徵改善下遊任務的性能。

通常下遊任務的最大問題是數據有限和過度擬合。這裡,我們可以看到基於大型標註資料庫(如 ImageNet )預訓練卷積神經網絡的普通遷移學習的相似性。但有一個關鍵的優勢:通過自監督訓練,我們可以在難以置信的大型資料庫上對模型進行預訓練而無需擔心人為標籤。

此外, 名義任務和普通分類任務之間有一個細微差別。在純分類任務中,網絡學習表徵是為了分離特徵空間中的類。在自監督學習中,名義任務通常會促使網絡學習更多的通用概念。

以圖像著色這一名義任務為例:為了擅長圖像著色,網絡必須學習通用用途的特徵,這些特徵解釋了數據集中對象的特徵,包括物體的形狀、一般紋理、怕光、陰影、遮擋等。

總之,通過解決名義任務,網絡將學習容易轉譯給學習新問題的語義特徵。換句話說:我們的目標是在進行監督之前從未標註的數據中學習有用的表徵。

4、結論

自監督學習讓我們能夠沒有大規模標註數據也能獲得優質的表徵,反而我們可以使用大量的未標註數據並且優化預定義的 pretext 任務。然後我們可以使用這些特性來學習缺乏數據的新任務。

相關文獻可參考原文:https://towardsdatascience.com/self-supervised-learning-and-the-quest-for-reducing-labeled-data-in-deep-learning-db59a563e25b?gi=60c8260b84fc

地址:北京市海澱區中關村東路95號

郵編:100190

電話:010-82544542(綜合)

          010-62522472(會員)

          010-62522248(學術活動)

          010-62624980(財務)

傳真:010-62522248

郵箱:caa@ia.ac.cn

官方微信公眾號(英文)

名稱:CAA OFFICIAL

微信號:caaofficial

會員微信公眾號 

名稱:CAA會員服務 

微信號:caa-member

相關焦點

  • 如何使用半監督學習為結構化數據訓練出更好的深度學習模型
    本文將使用半監督學習來提高深度神經模型在低數據環境下應用於結構化數據時的性能。 本文最初發表於 Towards Data Science 博客,經原作者 Youness Mansar 授權,InfoQ 中文站翻譯並分享。
  • Python深度學習:為什麼要學習深度學習?
    更快的計算機處理器,日益廉價的內存以及層出不窮的新數據格式,使得任意規模的企業都能用深度學習來做數據分析。2.2 有監督學習和無監督學習深度學習使用多層機器學習模型對數據進行有監督學或無監督學習。模型中的不同層由非線性數據變換的多個階段組成,數據的特徵在相繼更高、更抽象的層表示。
  • 深度學習與統計力學(I) :深度學習中的基礎理論問題
    這種理論在深度學習中足以指導廣泛的工程設計選擇。儘管我們目前還遠遠沒有任何這樣成熟的理論,但最近出現的統計力學和深度學習一系列交叉工作已經開始為深度網絡如何學習和計算提供理論見解,還提出了由這些理論見解驅動的新的和改進的深度學習方法。我們對這些工作進行綜述,它們建立在統計力學和機器學習[11-15]之間長期而豐富的相互作用歷史的基礎上。
  • 數據太少怎麼辦?試試自監督學習
    接下來,讓我們一起看下,自監督學習到底有多厲害。自監督學習簡介在多數情況下,訓練神經網絡都應該從一個預訓練(pre-trained)模型開始,然後再對它進行微調。通過預訓練模型,可以比從頭開始訓練,節省1000倍的數據。
  • 如何解決少樣本困境?「文本增強+半監督學習」雙管齊下!
    本文將從「文本增強」和「半監督學習」這兩個角度出發,關注如何利用領域相關的未標註數據,解決少樣本困境。本文從「文本增強」和「半監督學習」這兩個角度出發,談一談如何解決少樣本困境。正式介紹之前,我們首先需要思考什麼才是一種好的解決少樣本困境的方案?本文嘗試給出了三個層次的評價策略,我們希望採取相關數據增強或弱監督技術後:1. 在少樣本場景下,比起同等標註量的無增強監督學習模型,性能有較大幅度的提升2.
  • 深度學習的發展方向: 深度強化學習!
    現在深度學習用得最多的就是有監督學習。有監督學習不妨理解成「有參考答案的學習」,它有一個特點,就是數據必須經過標識才能用於訓練。但現在海量的數據是未標識數據,且標識成本很高。很多研究人員,甚至包括有不少的大牛都在反思,琢磨深度學習是不是「錯了」。如果說人工智慧發展的正道在於模擬人類智能,那深度學習的這套學習模式可能走了歪路。舉一個例子,就是人類的小嬰兒學走路。
  • 2016深度學習統治人工智慧?深度學習十大框架
    IIya Sutskever:OpenAI 的研究部負責人 我們期待看到更深度的模型(Deeper Models),相比今天的模型,它們可以從更少的數據中學習,尤其是在非監督學習方面Sven Behnke:波恩大學全職教授,智能系統小組主任我期待深度學習技術,會在那些日益增多的多結構數據問題中得到應用。這會給深度學習帶來新的應用領域,包括機器人,數據挖掘和知識發現。
  • 重磅 | 伯克利《深度無監督學習》今日開課!雙語字幕獨家上線!
    豐富的課程內容本課程將涵蓋深度學習中不需要標註數據的兩個領域:深度生成模型和自監督學習。生成模型的最新進展使得對自然圖像、音頻波形和文本語料庫等高維原始數據進行真實建模成為可能。自監督學習的進步已經開始縮小監督表示學習和非監督表示學習之間的差距,本課程將涵蓋這些主題的理論基礎以及它們的新應用。論文涉及GAN、VAE、降噪、自回歸、強化學習、自監督學習等等,課程歷時15周完成。
  • 【大數據】學習深度學習的四個步驟
    一個手寫資源列表幫助你變成一個深度學習專家首先,如果你需要一些基本的信息或者令人信服的關於深度學習為什麼有非常大的影響,可以檢驗下面由Andrew Ng製作的視頻。v=n1ViNeWhC24 步驟1.學習深度學習的基本知識(可選的,但是建議你這樣做)由Andrew Ng的機器學習課程開始https://www.coursera.org/learn/machine-learning.他的課程提供了一些關於各種機器學習算法的介紹,更重要的是,一般的程序/機器學習的方法,包括數據預處理
  • 人工智慧 | 為什麼叫深度學習
    早期數據挖掘領域的機器學習和自然語言處理領域的方法側重於貪婪分層網絡訓練和自動編碼器這樣的無監督方法,但現在最先進的深度學習主要集中在如何使用反向傳播算法訓練深層(許多隱含層)的神經網絡模型上。在2013年的題為「 深度學習,自學習和無監督特徵學習 」的演講中,他將深度學習的概念描述為:使用大腦模擬,希望:——使學習算法更好,更易於使用。——在機器學習和AI方面取得革命性的進步。
  • 深度學習未來的三種範式
    深度學習的未來在於這三種學習模式,而且它們彼此之間密切相關:混合學習——現代深度學習方法如何跨越監督學習和非監督學習之間的邊界,以適應大量未使用的無標籤數據?複合學習——如何以創造性的方法將不同的模型或組件連接起來,以生成一個大於各部分之和的複合模型?
  • 科普 | 自監督視覺特徵學習
    它是無監督學習的一個分支,其最大特點是不依賴人工標註的數據標籤直接從原始數據中自動學習有區分度的特徵表示。自監督學習是一種將輸入數據本身作為監督信號的表示學習方法,與監督式學習、無監督學習一樣,屬於表示學習的範疇。儘管監督式學習這種範式能夠取得很好的效果,但它的優越性能依賴大量手工標註的數據,而獲取這些標註數據需要消耗大量的人力物力,以至於會有人開玩笑稱「有多少人工就有多少智能」。
  • MIS 074:機器學習和深度學習
    基於數據的機器學習是現代智能技術中的重要方法之一,研究從觀測數據(樣本)出發尋找規律,利用這些規律對未來數據或無法觀測的數據進行預測。根據學習模式將機器學習分類為監督學習、無監督學習和強化學習等。根據學習方法可以將機器學習分為傳統機器學習和深度學習。
  • 重磅|伯克利《深度無監督學習》2020春季新課來襲!
    【新智元導讀】OpenAI顧問、伯克利加州分校人工智慧實驗室主任、機器人學習實驗室主任攜其博士生,為大家貢獻一門長達4個月的深度無監督學習課程,該課程是深度無監督學習的優秀課程,涵蓋了許多當前的最新水平,尤其是該課程使用了最新的模型更新研究生級課程。最近因為疫情,缺乏防護且人員密集的學校成為了重災區。
  • 深度學習下一步如何發展?
    深度學習的成功主要歸功於三大因素——大數據、大模型、大計算。現在可以利用的數據特別是人工標註的數據非常多,使得我們能夠從數據中學到以前沒法學習的東西。另外技術上的發展使得訓練大模型成為了可能,例如上千層的深度神經網絡,這個在四年以前都覺得不能想像的事情,現在都已經發展成為現實,並且在產品中都有了很廣泛的使用。再就是大計算,從CPU到GPU,可獲取的計算資源越來越豐富。
  • 深度學習領域的數據增強
    它是克服訓練數據不足的有效手段,目前在深度學習的各個領域中應用廣泛。但是由於生成的數據與真實數據之間的差異,也不可避免地帶來了噪聲問題。為什麼需要數據增強深度神經網絡在許多任務中表現良好,但這些網絡通常需要大量數據才能避免過度擬合。遺憾的是,許多場景無法獲得大量數據,例如醫學圖像分析。數據增強技術的存在是為了解決這個問題,這是針對有限數據問題的解決方案。
  • 深度學習未來的三種方式
    來源:海豚數據科學實驗室深度學習的未來在於這三種學習模式,而且它們彼此之間密切相關:混合學習——現代深度學習方法如何跨越監督學習和非監督學習之間的邊界,以適應大量未使用的無標籤數據?複合學習——如何以創造性的方法將不同的模型或組件連接起來,以生成一個大於各部分之和的複合模型?簡化學習——出於性能和部署目的,如何減少模型的規模和信息流,同時保持相同或更強的預測能力?這種方式試圖跨越監督學習和非監督學習之間的界限。由於有標籤數據缺乏且成本高,所以常常在業務上下文中使用。
  • 圖像識別中的深度學習:挑戰、現狀和未來
    現在我們來回顧一下深度學習的的演變,從而深入地了解它是如何發展的、我們可以從中學到什麼以及未來應當如何發展。更多乾貨內容請關注微信公眾號「AI 前線」,(ID:ai-front) 那麼 ImageNet 挑戰賽的難點在哪裡呢?讓我們先從它的數據開始說起。
  • 深度學習筆記 | 第17講:深度生成模型之自編碼器(AutoEncoder)
    構建一個自編碼器需要兩部分:編碼器(Encoder)和解碼器(Decoder)。編碼器將輸入壓縮為潛在空間表徵,可以用函數f(x)來表示,解碼器將潛在空間表徵重構為輸出,可以用函數g(x)來表示,編碼函數f(x)和解碼函數g(x)都是神經網絡模型。
  • 深度學習:基於語境的文本分類弱監督學習
    深度學習:基於語境的文本分類弱監督學習 丁磊 發表於 2021-01-18 16:04:27 高成本的人工標籤使得弱監督學習備受關注。seed-driven 是弱監督學習中的一種常見模型。