0
大規(guī)模標(biāo)注的數(shù)據(jù)集的出現(xiàn)是深度學(xué)習(xí)在計算機視覺領(lǐng)域取得巨大成功的關(guān)鍵因素之一。然而監(jiān)督式學(xué)習(xí)過于依賴大規(guī)模標(biāo)注數(shù)據(jù)集,數(shù)據(jù)集的收集和人工標(biāo)注需耗費大量的人力成本。自監(jiān)督模型解決了這一難題,從大規(guī)模未標(biāo)記數(shù)據(jù)中學(xué)習(xí)圖像特征,無需使用任何人工標(biāo)注數(shù)據(jù)。
每個深度學(xué)習(xí)實踐者都認同的一件事是:深度學(xué)習(xí)模型數(shù)據(jù)低效。
讓我們首先考慮計算機視覺中的主流分類任務(wù)。以 ImageNet 數(shù)據(jù)庫為例,它包含 1000 個不同類別的130 萬張圖像,對于每一個圖像中都有一個人工標(biāo)注的標(biāo)簽。
ImageNet 無疑是現(xiàn)在深度學(xué)習(xí)復(fù)興的基石之一。 ImageNet 起源于 2012 年 Krizhevsky 等人所著的論文《Imagenet Classification with Deep Convolutional Neural Networks》。
在這篇文章中, 卷積網(wǎng)絡(luò)模型首次大幅度超越了當(dāng)時最先進的模型。它是在所有的對比模型中唯一一個基于卷積神經(jīng)網(wǎng)絡(luò)的解決方案。此后,卷積神經(jīng)網(wǎng)絡(luò)變得無處不在。
在深度學(xué)習(xí)之前,研究人員一直認為 ImageNet 挑戰(zhàn)非常困難,其主要原因是 ImageNet 數(shù)據(jù)集突出的變化性。即便只是找到能覆蓋 ImageNet 中各種犬類的手工特征就已經(jīng)很不容易。
然而,通過深度學(xué)習(xí),我們很快意識到大量的數(shù)據(jù)導(dǎo)致了 ImageNet 如此困難,同時實際上也是使深度學(xué)習(xí)如此有效的秘訣。
雖然如此,通過多年的深度學(xué)習(xí)研究,我們知道了大型數(shù)據(jù)庫用于訓(xùn)練精確模型的必要性已成為一個非常重要的問題。并且需要低效的人工標(biāo)注數(shù)據(jù)成為一個更大的問題。
而且在當(dāng)前的深度學(xué)習(xí)應(yīng)用中,數(shù)據(jù)的問題無處不在。以 DeepMind 的 AlphaStar 模型為例。
圖1 圖片來源:《AlphaStar : Mastering the Real-Time Strategy Game StarCraft II》
AlphaStar 深度學(xué)習(xí)系統(tǒng)使用監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)來操作《星際爭霸2》。在訓(xùn)練期間,AlphaStar 僅從游戲終端上觀看游戲畫面。DeepMind 研究人員使用可并行訓(xùn)練大量智能體的分布式策略訓(xùn)練模型。每個智能體都至少觀看過 200 年的實時《星際爭霸》錄像(不間斷)。 通過像職業(yè)選手一樣的訓(xùn)練,AlphaStar 取得了在官方游戲服務(wù)器中的排名超過了99.8%的活躍玩家的這一巨大成功。
雖然其中使用了各種通用性的技術(shù)來訓(xùn)練系統(tǒng),但成功構(gòu)建 AlphaStar(或任何其他 RL 智能體)的真正關(guān)鍵是使用了大量數(shù)據(jù)。實際上最佳的強化學(xué)習(xí)算法需要進行大量試驗才能達到人類水平,這與我們?nèi)祟惖膶W(xué)習(xí)方式正好相反。
結(jié)果,強化學(xué)習(xí)在具有大量可用數(shù)據(jù)的受限且定義明確的場景上取得了巨大成功。相關(guān)閱讀可以查看 DeepMind 《Rainbow: Combining Improvements in Deep Reinforcement Learning》這篇論文:
如果讓最好的 RL 方法玩某個 Atari 游戲,它需要一共玩近100個小時(1080萬幀),才能達到和專業(yè)人類玩家相同的表現(xiàn)水平。盡管時長最近有所改進,但100小時似乎仍然太多。
圖2 圖片來源:《 Rainbow: Combining Improvements in Deep Reinforcement Learning》
有關(guān) AlphaStar 的更多信息,可以查看這篇文章:
雖然我可以給大家再舉幾個例子,但我想這2句話足以說明我的意思:
目前深度學(xué)習(xí)基于大規(guī)模數(shù)據(jù),當(dāng)滿足所需環(huán)境和約束條件時,這些系統(tǒng)就會產(chǎn)出給人驚喜的結(jié)果。但在一些特殊情況下,它們也會完全失效。
讓我們回到 ImageNet 分類問題: ImageNet 數(shù)據(jù)庫的人類識別錯誤率約為5.1%,而目前最先進的深度學(xué)習(xí) top-5 準(zhǔn)確性約為1.8%。
因此我們可以完美地證明:深度學(xué)習(xí)在 ImageNet 這項任務(wù)上已經(jīng)比人類做的更好。但是真的是這樣嗎?
如果是這樣的話,我們怎么解釋這些問題呢?
圖3 圖片來源:《 Attacking Machine Learning with Adversarial Examples》
我們可以將這些在互聯(lián)網(wǎng)上非常流行的對抗樣本(adversarial examples)看作是設(shè)計用于誤導(dǎo)機器學(xué)習(xí)模型的優(yōu)化任務(wù)。相關(guān)閱讀可以查看下面這篇文章:
文章地址:https://openai.com/blog/adversarial-example-research/
這個想法很簡單:
我們?nèi)绾巫尫诸惼鲗⒁郧皻w類為“熊貓”的圖像歸類為“長臂猿”?
我們可以簡單地認為被精心設(shè)計的輸入樣本導(dǎo)致了 ML 模型分類錯誤。
圖4:圖片來源:《One Pixel Attack for Fooling Deep Neural Networks》
正如我們所見,優(yōu)化效果好到我們(用肉眼)無法察覺到真實圖像(左)和對抗圖像(右)之間的差異。實際上,造成分類錯誤的噪聲不是任何類型的已知信號。相反它是經(jīng)過精心設(shè)計用于發(fā)現(xiàn)模型中的隱藏誤差。并且最近的研究表明:在某些情況我們只需要改變1個像素,就可以 成功誤導(dǎo)最好的深度學(xué)習(xí)分類器,詳細討論可以查看這篇論文:
在這一點上,我們可以看到問題開始相互疊加。 我們不僅需要大量樣本來學(xué)習(xí)新任務(wù),還需要確保我們的模型學(xué)習(xí)正確的表征。
油管視頻:https://www.youtube.com/watch?v=piYnd_wYlT8
我們看到深度學(xué)習(xí)系統(tǒng)失敗時產(chǎn)生了一個有趣的討論:為什么 我們?nèi)祟惒粫p易被對抗樣本誤導(dǎo)呢?
有的人說當(dāng)我們需要掌握一項新任務(wù)時,我們實際上并沒有從頭開始學(xué)習(xí)它。 相反,我們使用了我們一生中積累的許多先驗知識。
圖6 牛頓發(fā)現(xiàn)萬有引力定律
我們了解重力及其含義,知道如果讓炮彈和羽毛從同一起點落下,由于兩個物體的空氣阻力不同,炮彈將先到達地面;知道物體不能漂浮在空中;了解有關(guān)世界運作方式的常識。 我們知道如果我們自己的父親有孩子,他或她將是自己的兄弟姐妹;知道如果我們讀了一篇文章說某人出生于 1900 年代,那么他/她可能不再活著,因為我們(通過觀察世界)知道人們的壽命通常不會超過 120 歲。
我們了解事件之間的因果關(guān)系。最神奇的是我們實際上很早就學(xué)會了許多高級概念。實際上,我們僅用6~7個月就學(xué)會了重力和慣性等概念,而在這個時期我們與世界的互動幾乎為0!
圖7 圖片來源:《Early Conceptual Acquisition in Infants [from Emmanuel Dupoux].》, Yann LeCun講義
從這種意義上講,有人可能會說將算法性能與人類能力進行比較是``不公平的''-。
Yann LeCun 在關(guān)于自監(jiān)督學(xué)習(xí)的研究中,認為至少有3種獲取知識的方法。
(1)通過觀察
(2)通過監(jiān)督(大部分來自家長和老師)
(3)通過強化反饋
圖8 :人類通過生活獲得不同知識的來源。通過觀察/互動、監(jiān)督和反饋來學(xué)習(xí)
但是如果以嬰兒為例,那么這個年齡與外界的互動幾乎沒有。 盡管如此,嬰兒還是成功建立了物理世界的直覺模型。 因此像重力這樣的高級知識只能通過純粹的觀察來學(xué)習(xí)——至少,我還沒有看到任何父母教一個6個月大的嬰兒物理。
直到我們長大一些掌握語言并開始上學(xué)時,監(jiān)督和互動(帶有反饋)才變得更加重要。 但更重要的是,當(dāng)我們處于生命的這些階段時,我們已經(jīng)建立了一個魯棒性的模型世界。 這可能是人類比當(dāng)前機器更高效處理數(shù)據(jù)的主要原因之一。
正如 LeCun 所說,強化學(xué)習(xí)就像蛋糕上的櫻桃。 監(jiān)督學(xué)習(xí)是錦上添花,而自監(jiān)督學(xué)習(xí)才是蛋糕!
圖9 圖片來源:Yann LeCun(https://drive.google.com/drive/folders/0BxKBnD5y2M8NUXhZaXBCNXE4QlE)
自監(jiān)督學(xué)習(xí)系統(tǒng)學(xué)會通過輸入的其他部分預(yù)測輸入的一部分。
—— LeCun
自監(jiān)督學(xué)習(xí)源于無監(jiān)督學(xué)習(xí), 解決從未標(biāo)記的數(shù)據(jù)中學(xué)習(xí)語義特征的問題。本文中我們最關(guān)心的是在計算機視覺領(lǐng)域的自我監(jiān)督。
通常的方法是通過設(shè)計一個“名義任務(wù)”將無監(jiān)督的問題轉(zhuǎn)換為有監(jiān)督的任務(wù)。 通常,名義任務(wù)不會有什么新的產(chǎn)出,它的目的是使網(wǎng)絡(luò)學(xué)習(xí)如何從數(shù)據(jù)中捕獲有用的特征。
名義任務(wù)與常見的監(jiān)督問題有相似之處。
我們知道監(jiān)督訓(xùn)練需要標(biāo)注。轉(zhuǎn)而變成通常需要人工標(biāo)注者的不斷努力。 但在許多情況下,標(biāo)注非常昂貴或無法獲得。 我們也知道學(xué)習(xí)模型天生需要數(shù)據(jù),這導(dǎo)致大規(guī)模的標(biāo)注數(shù)據(jù)集已成為學(xué)習(xí)模型進一步發(fā)展的主要壁壘之一。
同樣,自監(jiān)督學(xué)習(xí)也需要標(biāo)注來訓(xùn)練名義任務(wù)。然而與名義任務(wù)的關(guān)鍵不同在于:用于名義任務(wù)的標(biāo)注(偽標(biāo)注)的特征是不同的。
實際上對于自監(jiān)督訓(xùn)練,偽標(biāo)簽僅來自數(shù)據(jù)特征本身。
換句話說偽數(shù)據(jù)不需要人工標(biāo)注。 確實,自我學(xué)習(xí)和監(jiān)督學(xué)習(xí)之間的主要區(qū)別在于標(biāo)注的來源。
(1)如果標(biāo)注來自標(biāo)注者(像大多數(shù)數(shù)據(jù)集一樣),則這是一項監(jiān)督任務(wù)。
(2)如果標(biāo)注是從數(shù)據(jù)中獲取,那么在這種情況下我們可以自動生成它們,則這是一項自監(jiān)督學(xué)習(xí)。
最近的研究提出了許多名義任務(wù)。最常見的有:
(1)圖片旋轉(zhuǎn)(Rotation)
(2)圖像拼接(Jigsaw puzzle )
(3)圖像著色(Image Colorization)
(4)圖像修復(fù)(Image inpainting)
(5)用 GANs 生成圖像/視頻(Image/Video Generation using GANs)
如果想要了解更多關(guān)于每個 pretext 任務(wù)的介紹,可以查看《Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey》這篇論文:
圖10:圖片來源:《Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey》
在自監(jiān)督的訓(xùn)練期間,我們挑戰(zhàn)網(wǎng)絡(luò)以學(xué)習(xí)名義任務(wù)。同樣,根據(jù)數(shù)據(jù)本身自動生成偽標(biāo)簽用來訓(xùn)練目標(biāo)。 訓(xùn)練結(jié)束后,我們通常將學(xué)習(xí)到的視覺特征作為知識轉(zhuǎn)譯給下游任務(wù)(downstream task)。
通常,下游任務(wù)可以是任何監(jiān)督問題。 目的是用自監(jiān)督特征改善下游任務(wù)的性能。
通常下游任務(wù)的最大問題是數(shù)據(jù)有限和過度擬合。這里,我們可以看到基于大型標(biāo)注數(shù)據(jù)庫(如 ImageNet )預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的普通遷移學(xué)習(xí)的相似性。但有一個關(guān)鍵的優(yōu)勢:通過自監(jiān)督訓(xùn)練,我們可以在難以置信的大型數(shù)據(jù)庫上對模型進行預(yù)訓(xùn)練而無需擔(dān)心人為標(biāo)簽。
此外, 名義任務(wù)和普通分類任務(wù)之間有一個細微差別。在純分類任務(wù)中,網(wǎng)絡(luò)學(xué)習(xí)表征是為了分離特征空間中的類。在自監(jiān)督學(xué)習(xí)中,名義任務(wù)通常會促使網(wǎng)絡(luò)學(xué)習(xí)更多的通用概念。
以圖像著色這一名義任務(wù)為例:為了擅長圖像著色,網(wǎng)絡(luò)必須學(xué)習(xí)通用用途的特征,這些特征解釋了數(shù)據(jù)集中對象的特征,包括物體的形狀、一般紋理、怕光、陰影、遮擋等。
總之,通過解決名義任務(wù),網(wǎng)絡(luò)將學(xué)習(xí)容易轉(zhuǎn)譯給學(xué)習(xí)新問題的語義特征。換句話說:我們的目標(biāo)是在進行監(jiān)督之前從未標(biāo)注的數(shù)據(jù)中學(xué)習(xí)有用的表征。
自監(jiān)督學(xué)習(xí)讓我們能夠沒有大規(guī)模標(biāo)注數(shù)據(jù)也能獲得優(yōu)質(zhì)的表征,反而我們可以使用大量的未標(biāo)注數(shù)據(jù)并且優(yōu)化預(yù)定義的 pretext 任務(wù)。然后我們可以使用這些特性來學(xué)習(xí)缺乏數(shù)據(jù)的新任務(wù)。
相關(guān)文獻可參考原文:https://towardsdatascience.com/self-supervised-learning-and-the-quest-for-reducing-labeled-data-in-deep-learning-db59a563e25b?gi=60c8260b84fc 雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。