先言:閱讀數篇論文后,發覺自己基礎不牢固,心生困惑無法解決,故再查閱整理相關內容發布於此。
自監督的創新主要基於三個方面:
1.基於代理任務的自監督學習
三個階段:
- Prediction-based Tasks:
基於預測的自監督學習任務屬於視覺自監督學習中相對早期的工作。如patch relation prediction(預測圖片中兩個patch的相對位置),rotation prediction(判斷圖片旋轉角度),color prediction(對灰色圖片上色) - Contrastive-based Tasks:
如MoCo,simCLR等系列工作,通過對圖片進行隨機兩種增強操作(裁剪,翻轉等)構造正例對,拉近同一張圖片不同形態的特征距離,拉遠不同圖片之間的特征距離。基於對比學習的方法雖然在ImageNet圖片分類任務上取得不錯的表現,但對於更細粒度的圖片相關任務表現則欠佳,其更偏向於學習全局的圖片語義特征。 - Generative-based Tasks:
由於對比學習任務在細粒度知識表征學習方面存在缺陷,受NLP預訓練模型的啟發,近期很多工作將重點放在如何有效地將MLM任務遷移到CV自監督學習中。如mask region prediction, mask frame prediction等任務。
基於MLM任務引申的視覺自監督表征學習工作:- MST: Masked Self-Supervised Transformer for Visual Representation
- BEiT: BERT Pre-Training of Image Transformers
- EsViT: Efficient Self-supervised Vision Transformers for Representation Learning
- iBOT: Image BERT Pre-training with Online Tokenizer
- Masked Autoencoders Are Scalable Vision Learners
- PeCo: Perceptual Codebook for BERT Pre-training of Vision Transformers
- Masked Feature Prediction for Self-Supervised Visual Pre-Training
2.基於對比學習的自監督學習
對比學習希望習得某個表示模型,它能夠將圖片映射到某個投影空間,並在這個空間內拉近正例的距離,推遠負例距離。
如果從防止模型坍塌的不同方法角度,我們可大致把現有方法划分為四種:基於負例的對比學習方法、基於對比聚類的方法、基於不對稱網絡結構的方法,以及基於冗余消除損失函數的方法
-
基於負例的對比學習方法:
SimCLR系列及Moco系列;依靠負例(Uniformity屬性)防止模型崩塌 -
基於對比聚類的方法:
SwAV;該方法要求某個投影點在超球面上,向另外一個投影點所屬的聚類中心靠近,體現了Alignment原則;和其它聚類中心越遠越好,這體現了Uniformity屬性。SwAV面臨模型坍塌問題,具體表現形式為:Batch內所有實例都聚類到同一個類里。所以為了防止模型坍塌,SwAV對聚類增加了約束條件,要求Batch內實例比較均勻地聚類到不同的類別中。本質上,它與直接采用負例的對比學習模型,在防止模型坍塌方面作用機制是類似的,是一種隱形的負例。 -
基於不對稱網絡結構的方法:
BYOL;只用正例來訓練對比學習模型,靠上下分枝的結構不對稱,防止模型坍塌。 -
基於冗余消除損失函數的方法:
Barlow Twins;既沒有使用負例,也沒有使用不對稱結構,主要靠替換了一個新的損失函數,可稱之為“冗余消除損失函數”,來防止模型坍塌。對比學習Paper都會涉及到的一些關鍵點:
- 如何構造相似實例,以及不相似實例;
- 如何構造能夠遵循上述指導原則的表示學習模型結構;
- 以及如何防止模型坍塌(Model Collapse);
評判對比學習的標准:
對比學習在做特征表示相似性計算時,要先對表示向量做L2正則,之后再做點積計算,或者直接采用Cosine相似性。很多研究表明,把特征表示映射到單位超球面上,有很多好處。這里有兩個關鍵,一個是單位長度,一個是超球面。首先,相比帶有向量長度信息的點積,在去掉長度信息后的單位長度向量操作,能增加深度學習模型的訓練穩定性。另外,當表示向量被映射到超球面上,如果模型的表示能力足夠好,能夠把相似的例子在超球面上聚集到較近區域,那么很容易使用線性分類器把某類和其它類區分開(參考上圖)。在對比學習模型里,對學習到的表示向量進行L2正則,或者采用Cosine相似性,就等價於將表示向量投影到了單位超球面上進行相互比較。
Alignment和Uniformity:
Alignment:指的是相似的例子,也就是正例,映射到單位超球面后,應該有接近的特征,也即是說,在超球面上距離比較近Uniformity:指的是系統應該傾向在特征里保留盡可能多的信息,這等價於使得映射到單位超球面的特征,盡可能均勻地分布在球面上,分布得越均勻,意味着保留的信息越充分。分布均勻意味着兩兩有差異,也意味着各自保有獨有信息,這代表信息保留充分。
(這不就避免了模型崩塌的問題?)模型坍塌(Collapse) :
Uniformity特性的極端反例,是所有數據映射到單位超球面同一個點上,所有數據經過特征表示映射過程后,都收斂到了同一個常數解,一般將這種異常情況稱為模型坍塌(Collapse)。以SimCLR為例解釋:
見Reference:2(很不錯,強推!)
3.基於掩碼學習的自監督學習
自監督與預訓練的關系:
1. 
2.常見的預訓練方式分為生成式預訓練與對比式預訓練;
對比學習與聚類的關系:
聲明:
本文中的所有參考內容均已在'Reference'中標注,僅供自己學習使用,如有侵權,立即刪除。
Reference:
2022-03-29 14:51:32 星期二