轉自:https://zhuanlan.zhihu.com/p/108906502
1. 什么是自監督學習?
自監督學習主要是利用輔助任務(pretext)從大規模的無監督數據中挖掘自身的監督信息,通過這種構造的監督信息對網絡進行訓練,從而可以學習到對下游任務有價值的表征。
2.如何評測自監督學習的效果?
評測自監督學習的能力,主要是通過 Pretrain-Fintune 的模式:首先從大量的無標簽數據中通過 pretext 來訓練網絡,得到預訓練的模型,然后對於新的下游任務,和監督學習一樣,遷移學習到的參數后微調即可。所以自監督學習的能力主要由下游任務的性能來體現。
2. 自監督學習的主要方法
自監督學習的方法主要可以分為 3 類:基於上下文(Context based)、基於時序(Temporal Based)、基於對比(Contrastive Based)。
2.1 基於上下文(Context based)
基於數據自身的上下文信息可以構造很多任務。
- NLP領域,最重要的算法Word2vec其中的一種,可以基於上下文構造pretext;另外BERT的MASK LM,隨機扣掉一些詞,然后預測扣掉的詞,讓模型讀懂句子;
- 圖像領域,以拼圖的方式構造pretext,比如將一張圖分成9個部分,然后通過預測這幾個部分的相對位置來產生損失;以摳圖的方式構造pretext,隨機將圖片的一部分刪掉,用剩余的部分預測扣掉的部分,類似BERT的MASK LM;預測圖片的顏色,比如輸入圖像的灰度圖,預測圖片的色彩,只有模型讀懂圖片的語義信息才能知道各部分對應的顏色,比如天空是藍色的,草地是綠色的;
- 數據增廣Data Augmentation,以數據增廣的方式尋找自監督上下文。ICLR 2018的工作是給定一張輸入的圖片,我們對其進行不同角度的旋轉,模型的目的是預測該圖片的旋轉角度,這種朴素的想法卻能帶來巨大的增益;
自監督學習也可以與下游的具體任務集合一起訓練,已成為一個新的趨勢。
2.2 基於時序(Temporal Based)
在某些場景,不同樣本間也有約束關系,比如基於時序約束。
- 視頻領域,最能體現時序約束的就是視頻,在視頻中,相鄰的幀特征是相似的,非相鄰的幀的特征通常不相似,利用該思想可以構造pretext;另外,同一個物體的拍攝是可能存在多個視角(multi-view),對於多個視角中的同一幀,可以認為特征是相似的,不同幀認為是不相似的。
- NLP,BERT訓練的其中一個任務Next Sentence Prediction 也可以看作是基於順序的約束;
2.3 基於對比(Contrastive Based)
第三類自監督學習的方法是基於對比約束,它通過學習對兩個事物的相似或不相似進行編碼來構建表征,即通過構建正樣本(positive)和負樣本(negative),然后度量正負樣本的距離來實現自監督學習。核心思想樣本和正樣本之間的相似度遠遠大於樣本和負樣本之間的相似度,類似triplet模式。對比的思路構建比較多樣,是目前自監督學習的一個熱點。比如上面提到的基於時序的方法就有涉及對比約束。
- ICLR 2019 的 DIM:具體思想是對於隱層的表達,可以通過構造全局特征(編碼器最終的輸出)和局部特征(編碼器中間層的特征)的對比約束來設計pretext,模型需要分類全局特征和局部特征是否來自同一圖像;
所以基於對比約束的自監督方法主要圍繞如何選取正負樣本, 比如利用多模態(多視角)的信息來構造樣本,一個樣本的多個模態為正樣本,其他樣本的模態為負樣本。