基於自監督學習的Bert[1]預訓練模型在NLP領域大放光彩,在多項下遊任務中均取得很好的效果。Bert在無標註的語料中充分地學到了通用的知識,那麼很容易引出一個問題,CV領域是否也可以「復現」Bert的成功呢?近年比較火熱的對比學習或許是這個問題的一個答案。
對比學習(Contrastive Learning)是自監督學習的一種,需要從無標註的圖像數據中學習特徵表示,並用於下遊任務中。其指導原則是:通過自動構造相似實例和不相似實例,學習一個表示學習模型,通過這個模型,使得相似的實例在投影空間中比較接近,而不相似的實例在投影空間中距離比較遠。本文將介紹對比學習的基本思路以及經典的MoCo系列[2][3][4]、SimCLR系列模型[5][6],了解對比學習的方法和特性。
2.研究動機首先自監督學習的定義為:自監督學習屬於無監督學習範式的一種,特點是不需要人工標註的類別標籤信息,直接利用數據本身作為監督信息,來學習樣本數據的特徵表示,並用於下遊任務。在特徵的表示學習中,自監督優勢主要體現在以下兩點:
無需大量的標註數據,在很多任務例如強化學習中,獲取標籤所帶來的邊際成本更高
更關注數據本身的信息,數據本身可以提供比稀疏的標籤更多的信息,有監督學習的算法通常需要採用大量樣本來學習,並收斂到可能是「脆弱」的結果
可以學習到更通用的知識,相比於特定任務的模型所學到的表示,自監督學習得到的表示通常可以更好的遷移到下遊任務中
自監督學習主要分為兩大類:生成式(預測式)方法和對比式方法,如下圖[7]所示:
圖1 自監督學習類別其中生成式方法在NLP領域可以參考Bert的掩碼語言模型(MLM,Masked Language Modeling),MLM隨機mask掉輸入中的部分tokens,目標是通過這些tokens的上下文信息來預測出這些tokens,在CV領域可以參考變分自編碼器[8](VAE,Variational Auto-Encoder)和生成式對抗網絡[9](GAN,Generative Adversarial Networks),他們通過模型對圖像進行編碼再解碼重構的方式完成訓練。而對比式的方法則是將數據分別與正例樣本和負例樣本在特徵空間進行對比,來學習樣本的特徵表示。在CV領域,生成式方法更注重於像素級別的重構,這也導致模型所學習的編碼更注重於像素的細節,但是通過人的直覺可以認識到,我們記憶和區分事物並不是通過像素級別的特徵來區分的,而是通過一些更高級的特徵。因此,如何提取更高級的特徵並使用其進行區分,成為了對比學習研究的主要目的。
3.對比學習基本思路其中
為了優化編碼器
4.模型介紹4.1 MoCo v1[2]MoCo是由Kaiming He的團隊發表在CVPR2020的工作,MoCo通過對比學習的方法,將無監督學習在ImageNet的分類的效果超過有監督學習的性能。MoCo關注的重點是樣本數量對學習到的質量的影響。MoCo使用的正負樣例生成方法中,正樣本生成方法:隨機裁剪,生成兩個區域,同一張圖片的兩個區域是正樣本,不同圖片的兩個區域是負樣本,即判斷兩個區域是否為同一張圖片。首先介紹簡單的end-to-end模型結構,如下圖:
圖2 MoCo-end2end結構圖定義