來源 | Jack Cui
責編 | 晉兆雨
眾所周知,機器學習大致可分為有監督學習和無監督學習。
自監督學習作為無監督學習的一個特例,可以理解它是一種沒有人工標註標籤的監督學習,即沒有人類參與的監督學習。
但標籤仍然存在,只不過標籤 是從輸入數據中生成的,通常是使用啟發式算法生成。
自監督學習的流行是勢在必然的。
在各種主流有監督學習任務都做到很成熟之後, 數據成了最重要的瓶頸。
從無標註數據中學習有效信息一直是一個很重要的研究課題,其中自監督學習提供了非常豐富的想像空間。
今天為大家帶來的是一位本科清華,博士港中文畢業的大佬,對於 自監督學習的一些思考。
如何定義自監督學習?
自監督學習是指用於機器學習的標註(ground truth)源於數據本身,而非來自人工標註。
如下圖,自監督學習首先屬於無監督學習,因此其學習的目標無需人工標註。其次,目前的自監督學習領域可大致分為兩個分支。
圖1,自監督學習和其他學習類型的關係
第一個是用於解決特定任務的自監督學習,例如場景去遮擋,以及自監督的深度估計、光流估計、圖像關聯點匹配等。
另一個分支則用於表征學習。有監督的表征學習,一個典型的例子是 ImageNet 分類。而無監督的表征學習中,最主要的方法則是自監督學習。
典型的方法包括:解決 Jigsaw Puzzles、運動傳播、旋轉預測,以及最近很火的MoCo 等等。
當然還有其他分類方法,比如根據數據也可以分為 video / image / language 的自監督學習。本文主要討論 image 上的自監督學習。
判斷一個工作是否屬於自監督學習,除了無需人工標註這個標準之外,還有一個重要標準,就是是否學到了新的知識。
舉個簡單的例子,例如 image inpainting 是否屬於自監督學習?
如果一篇 image inpainting 的論文,其主要目的是提升 inpainting 的效果,那麼它就不屬於自監督學習,雖然它無需額外標註。
但是如果它的目的是藉助 inpainting 這個任務來學習圖像的特徵表達,那麼它就是自監督學習(參考論文:Context Encoders [1])。
如下圖,以自監督表征學習為例,我們通常需要設計一個自監督的 proxy task,我們期望在解決這個 proxy task 的過程中,CNN 能學到一些圖像高級的語義信息。然後我們將訓練好的 CNN 遷移到其他目標任務,例如圖像語義分割、物體檢測等等。
圖2,典型的自監督表征學習流程
那麼,自監督的 proxy task 有哪些呢?如下圖舉了一些有代表性的例子,第一行中的思路是將圖像以某種方式破壞,然後用神經網絡來學習恢復原圖的過程,期望在此過程中能學到一些圖像語義信息。然而,將圖像破壞,可能帶來預訓練的 domain 和目標任務 domain 不一致的問題。第二行中的 proxy tasks 則代表了無需破壞原圖的自監督任務。第三行中的方法是利用運動信息等多模態信息來學習圖像特徵。當然除了圖中這些例子之外,還有各種各樣其他有趣的自監督任務。
圖3,自監督proxy tasks的例子
為什麼自監督學習能學到新信息 ?
1. 先驗
我們的世界是在嚴格的物理、生物規則下運行的,那麼對這個世界的觀測結果(圖像)也必然存在一些先驗規律。例如圖像上色任務,就是利用了物體類別和物體顏色分布之間的關聯;image inpainting,則是利用了物體類別和形狀紋理之間的關聯;旋轉預測任務,利用了物體類別和其朝向之間的關聯。通過挖掘更多的先驗,我們也能設計自己的自監督學習任務。
那麼什麼樣的先驗更有效呢?結論是,低熵的先驗。如下圖,左邊的運動預測任務(ICCV 2015: Dense Optical Flow Prediction From a Static Image [2]) ,是從單張圖片中直接預測運動場,其利用的先驗是物體的運動傾向性。而運動傾向性是比較歧義的,例如人在半蹲狀態,難以預測下一時刻會站起來還是繼續下蹲。
因而,運動傾向性是一個高熵的先驗。而右圖的運動傳播任務(CVPR 2019: Self-Supervised Learning via Conditional Motion Propagation [3]),從給定的稀疏運動來恢復完整運動場,利用的則是物體的運動學屬性先驗。運動學屬性,例如頭部是剛體,四肢是鉸接體等,是較為確定的先驗,那麼這就是一個低熵的先驗。從實驗結果也可以發現,在transfer到分割任務上,運動傳播比運動預測更好。
圖4,運動預測和運動傳播的對比
2. 連貫性
圖片具有空間連貫性,視頻具有時空連貫性。那麼就可以利用這些特點來設計自監督任務。如下圖,Solving Jigsaw Puzzles [4] 利用圖片中物體空間上的語義連貫性,Temporal order verification [5]任務利用了視頻中物體運動的時間連貫性。
圖五,利用數據空間、時間連貫性的自監督任務
3. 數據內部結構
目前很火的基於contrastive learning的方法,包括NPID, MoCo, SimCLR等,我們可以將它們統一為instance discrimination [6]任務。如下圖,這類任務通常對圖片做各種變換,然後優化目標是同一張圖片的不同變換在特徵空間中儘量接近,不同圖片在特徵空間中儘量遠離。
圖6,instance discrimination任務
對於這類任務,下圖假設了兩種可能的優化後的特徵空間。這兩種結果都是符合instance discrimination優化目標的,即同一張圖片的不同變換在特徵空間中儘量接近,不同圖片在特徵空間中儘量遠離。
然而,我們發現,實際的優化結果更偏向於第二種而非第一種,也就是說,雖然我們在解決instance discrimination的過程中並沒有用的物體的類別標籤,但是在優化後的特徵空間中,同類的物體還是相對能夠靠攏。
這就證明了,數據之間是具有結構性和關聯性的。Instance discrimination則是巧妙地利用了這種結構性和關聯性。類似地,最近的BYOL [7]也可能是利用了數據在特徵空間中的分布結構特點來拋棄負樣本對(個人理解)。
圖7,instance discrimination的兩種可能的優化後的特徵空間
設計一個自監督學習任務還需要考慮什麼?
1. 捷徑(shortcuts)
以 jigsaw puzzles 為例,如下圖,如果我們讓劃分的 patch 之間緊密挨著,那麼神經網絡只需要判斷 patch 的邊緣是否具有連續性,就可以判斷 patch 的相對位置,而不需要學到高級的物體語義信息。這就是一種捷徑,我們在設計任務的過程中需要避免這樣的捷徑。
圖8,解決jigsaw puzzles時,patch之間不能緊密挨著
對於這種捷徑,處理的方式也很簡單,我們只需要讓patch之間產生一些隨機的間隔就行,如下圖。
圖9,讓patch之間產生隨機間隔
Solving jigsaw puzzles的其他捷徑還包括色差、彗差、畸變、暗角等可以指示patch在圖像中的相對位置的信息。解決方案除了想辦法消除這些畸變外,還可以讓patch儘量靠近圖像中心。
圖10,色差、彗差、畸變、暗角等可利用的捷徑
2. 歧義性(Ambiguity)
大多數利用先驗來設計的自監督任務都會面臨歧義性問題。
例如 colorization 中,一種物體的顏色可能是多種多樣的,那麼從灰度圖恢復顏色這個過程就具有 ambiguity ;再例如在 rotation prediction 中,有的物體並沒有一個通常的朝向(例如俯拍放在桌上的圓盤子)。
有不少已有工作在專門解決特定任務的歧義性問題,例如 CVPR 2019 的 Self-Supervised Representation Learning by Rotation Feature Decoupling。
另外就是設計低熵的先驗,因為低熵的先驗也具有較低的歧義性。
3. 任務難度
圖11,solving jigsaw puzzles中的不同難度
神經網絡就像一個小孩,如果給他太簡單的任務,他學不到有用的知識,如果給他太難的任務,他可能直接就放棄了。設計合理的難度也是一個需要考慮的方面。
展望
我們的世界是在嚴格的物理學、化學、生物學規則下運行的,視覺信號是這些內在規則的外在反映,而深度學習,正好非常擅長處理高維的視覺信號。
所以,無監督、自監督學習的存在和發展是必然的,因為世界本身就是有序的、低熵的,這使得數據本身就已經包含了豐富的信息。
自監督學習看似神奇,但理解了其本質之後,也就會覺得是情理之中了。當然,目前學術界對自監督學習的理解程度,可能也只是九牛一毛而已。未來會走向什麼方向,誰也說不準。
目前是基於數據之間的結構的instance discrimination處於state-of-the-art,未來,基於priors的方法更勝一籌也是有可能的。
所以, 千萬不要受限於一類方法,不要讓自監督學習變成了調參遊戲,自監督領域的想像空間其實非常大。
最後,這個總結主要基於自己的思考,也許不一定非常到位,權當拋磚引玉。希望大家都能夠設計出有趣又有用的自監督學習任務,為這個領域添磚加瓦。
本文已由原作者授權,不得擅自二次轉載。
https://zhuanlan.zhihu.com/p/150224914
References:
- Pathak, Deepak, et al. "Context encoders: Feature learning by inpainting."Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
- Walker, Jacob, Abhinav Gupta, and Martial Hebert. "Dense optical flow prediction from a static image."Proceedings of the IEEE International Conference on Computer Vision. 2015.
- Noroozi, Mehdi, and Paolo Favaro. "Unsupervised learning of visual representations by solving jigsaw puzzles."European Conference on Computer Vision. Springer, Cham, 2016.
- Misra, Ishan, C. Lawrence Zitnick, and Martial Hebert. "Shuffle and learn: unsupervised learning using temporal order verification."European Conference on Computer Vision. Springer, Cham, 2016.
- Wu, Zhirong, et al. "Unsupervised feature learning via non-parametric instance discrimination."Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
- Grill, Jean-Bastien, et al. "Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning."arXiv preprint arXiv:2006.07733(2020).