最近深度學習兩巨頭 Bengio 和 LeCun 在 ICLR 2020 上點名 Self-Supervised Learning(SSL,自監督學習) 是 AI 的未來,而其的代表的 Framework 便是 Contrastive Learning(CL,對比學習)。 另一巨頭 Hinton 和 Kaiming 兩尊大神也在這問題上隔空過招,MoCo、SimCLR、MoCo V2 打得火熱,這和 BERT 之后,各大公司出 XL-Net、RoBerta 刷榜的場景何其相似。
因為歸納偏好的設計更多的是任務相關的,復雜的過程需要非常精心的設計,所以很多工作都開始關注到表示學習上,NLP 最近大火的預訓練模型,例如 BERT,就是利用大規模的語料預訓練得到文本的好的表示。那么,CV 領域的 BERT 是什么呢?答案已經呼之欲出,就是對比學習。
表示學習算法並不一定要關注到樣本的每一個細節,只要學到的特征能夠使其和其他樣本區別開來就行,這就是對比學習和對抗生成網絡(GAN)的一個主要不同所在。
既然是表示學習,那么我們的核心就是要學習一個映射函數
,把樣本
編碼成其表示
,對比學習的核心就是使得這個
滿足下面這個式子:
![[公式]](/image/aHR0cHM6Ly93d3cuemhpaHUuY29tL2VxdWF0aW9uP3RleD1zKyUyOCtmJTI4eCUyOSUyQytmJTI4eCU1RSUyQiUyOSUyOSslM0UlM0UrcyslMjgrZiUyOHglMjklMkMrZiUyOHglNUUtJTI5JTI5KyU1QyU1Qw==.png)
這里的
就是和
類似的樣本,
就是和
不相似的樣本,
這是一個度量樣本之間相似程度的函數,一個比較典型的 score 函數就是就是向量內積。
自監督學習
要說到對比學習,首先要從自監督學習開始講起。自監督學習屬於無監督學習范式的一種,特點是不需要人工標注的類別標簽信息,直接利用數據本身作為監督信息,來學習樣本數據的特征表達,並用於下游任務。
那么,自監督學習有什么優勢呢?
目前機器學習主流的方法大多是監督學習方法,這類方法依賴人工標注的標簽,這會帶來一些缺陷:
- 數據本身提供的信息遠比稀疏的標簽更加豐富,因此使用有監督學習方法訓練模型需要大量的標簽數據,並且得到的模型有時候是“脆弱”的
- 有監督學習通過標簽訓練得到的模型往往只能學到一些任務特定的知識,而不能學習到一種通用的知識,因此有監督學習學到的特征表示難以遷移到其他任務
而自監督學習能夠很好地避免上面的問題,因為自監督學習直接使用數據本身來提供監督信息來指導學習。
自監督學習分類
當前自監督學習可以被大致分為兩類:
- Generative Methods
- Contrastive Methods
Generative Methods and Contrastive Methods
Generative Methods(生成式方法)這類方法以自編碼器為代表,主要關注pixel label的loss。舉例來說,在自編碼器中對數據樣本編碼成特征再解碼重構,這里認為重構的效果比較好則說明模型學到了比較好的特征表達,而重構的效果通過pixel label的loss來衡量。
Contrastive Methods(對比式方法)這類方法則是通過將數據分別與正例樣本和負例樣本在特征空間進行對比,來學習樣本的特征表示。Contrastive Methods主要的難點在於如何構造正負樣本。
比起Generative Methods需要對像素細節進行重構來學習到樣本特征,Contrastive Methods只需要在特征空間上學習到區分性。因此Contrastive Methods不會過分關注像素細節,而能夠關注抽象的語義信息,並且相比於像素級別的重構,優化也變得更加簡單。


原文鏈接:https://blog.csdn.net/xxxxxxxxxx13/article/details/110820373
會議:
ICLR
NIPS
ICML
From:https://zhuanlan.zhihu.com/p/141141365
https://zhuanlan.zhihu.com/p/141172794
https://zhuanlan.zhihu.com/p/367290573
