清華 CVer 對自監督學習的一些思考

2021-01-05     AI科技大本營

原標題:清華 CVer 對自監督學習的一些思考

來源 | 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:

  1. Pathak, Deepak, et al. "Context encoders: Feature learning by inpainting."Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
  2. 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.
  3. Noroozi, Mehdi, and Paolo Favaro. "Unsupervised learning of visual representations by solving jigsaw puzzles."European Conference on Computer Vision. Springer, Cham, 2016.
  4. 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.
  5. Wu, Zhirong, et al. "Unsupervised feature learning via non-parametric instance discrimination."Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
  6. Grill, Jean-Bastien, et al. "Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning."arXiv preprint arXiv:2006.07733(2020).

文章來源: https://twgreatdaily.com/zh-tw/FFnE1XYBur8RWXSA0Y_C.html











CSDN湘苗培優

2020-12-24