Contrastive self-supervised learning techniques are a promising class of methods that build representations by learning to encode what makes two things similar or different.
主要內容來自Ankesh Anand 的博客
自監督方法在深度學習中將取代當前占主導地位監督方法的預言已經存在了很長時間。 如今,自監督方法在Pascal VOC檢測方面已經超過了監督方法(2019年何愷明提出的MoCo方法),並且在許多其他任務上也顯示出了出色的結果。 最近自監督方法興起的背后是他們都遵循了 contrastive learning 。
當前的機器學習方法大多依賴於人類標注信息,這種對標注信息的過度依賴有如下危險:
- 數據的內部結構遠比標注提供的信息要豐富,因此通常需要大量的訓練樣本,但得到的模型有時是較為脆弱的。
- 在高維分類問題上,我們不能直接依賴監督信息;同時,在增強學習等問題上,獲取標簽的成本非常高。
- 標簽信息通常適用於解決特定的任務,而不是可以做為知識一樣可以重新利用。
因此,自監督學習成為一種非常有前途的方法,因為數據本身為學習算法提供了監督信息。這里,我們回顧當前新出現的幾種自監督方法。
一個簡單的例子
Epstein在2016年做了一個實驗,受試者要求盡可能詳細地畫出美元圖片。上圖中左邊為受試者按照自己的記憶畫出來的一美元圖片,右邊為受試者攜帶着美元(不是一美元)然后照着畫出來的一美元圖片。實驗表示,當有類似的美元圖片做為參考時,人們畫的要更好。
盡管無數次見過美元,但我們仍然不能記住它,並把它畫出來。實際上,我們只是記住了美元的一些與其它對象有區分性的特征。因此,我們是不是可以構建一些不專注於像素細節的表示學習算法(representation learning algorithm),通過對高層特征編碼來實現不同對象的區分?
Generative VS Contrastive 方法
當前的自監督方法大致可以分為兩類:
對比方法(Contrastive methods)通過正面和負面的例子來學習表征。盡管不是全新的思路,對比方法通過無監督的對比預訓練(Unsupervised contrastive pre-training)在計算機視覺任務中取得了巨大的成功。
比較知名的方法有:
- 在未標記的ImageNet數據上訓練並使用線性分類器的無監督對比方法已經超過了監督的AlexNet(2019年Henaff提出的CPC方法)。
- ImageNet上的對比式預訓練成功地轉移到了其它任務,並且勝過了監督的預訓練任務(2019年何愷明提出的MoCo方法)。
和傳統的 Generative model 不同,傳統方法專注於像素空間的特征,會存在如下不足:
- 使用像素級loss可能導致此類方法過於關注基於像素的細節,而不是抽象的語義信息。
- 在於像素分析的方法難以有效的建立空間關聯及對象的復雜結構。
對比模型是如何工作的?
對於數據\(x\),對比主法目標是學習一個\(f\):
這里\(x^+\)指的是與\(x\) 相似的數據(正樣本),\(x^-\)指的是與\(x\) 不相似的數據(負樣本)。score 函數是一個度量函數,評價兩個特征間的相似性。
\(x\)通常稱為“anchor” 數據。為了解決這個問題,我們可以構建一個softmax分類器。類似的,對於N-way softmax 分類器,我們構建一個交叉熵損失,一般被稱為InfoNCE 損失。為了最小化InfoNCE損失,可參考Poole的文章。
這里回顧下最近的一些工作:
Deep InfoMax (Hjelm et al. 2018)
Deep InfoMax 通過利用圖像中的局部結構來學習圖像表示,如上圖所示。 這個方法中的對比任務是對一對圖像中的全局特征和局部特征進行分類。 在這里,全局特征是CNN的最終輸出(平面向量,Y),局部特征是編碼器中的中間層的輸出(M x M特征圖)。 每個局部特征圖都有一個有限的感受野。 因此,要出色的完成對比任務,全局特征必須捕獲來自所有不同局部區域的信息。
Deep InfoMax 的損失函數和上面我們提到的類似,對於一個 anchor image \(x\),\(f(x)\) 是全局特征,\(f(x^+)\)是來自相同圖像的局部特征, \(f(x^-)\)是來自不同圖像的局部特征。在后續工作中,Augment Multiscale Deep InfoMax (Bachman et al., 2019)在無監督訓練的情況下在ImageNet上TOP-1的准確率達到了68.4%。
Contrastive Predictive Coding (Oord et al., 2018)
Contrastive Predictive Coding (CPC) 是一個可以適用於文本、語音、視頻、圖像等任何形式數據的對比方法(圖像可以看作為由像素或者圖像塊組成的序列)。
CPC通過對多個時間點共享的信息進行編碼來學習特征表達,同時丟棄局部信息。這些特征被稱為“慢特征”:隨時間不會快速變化的特征。比如說:視頻中講話者的身份,視頻中的活動,圖像中的對象等。CPC的構架如下圖所示。
在最近的Henaff的工作中,CPC方法在 ImageNet上TOP-1的准確率達到了71.5%。
利用對比方法學習不變特征(Invariances)
上圖中左邊的是 2019年Bachman提出的 Augmented Multiscale DIM ,通過數據增強方法學習不變特征。右邊是2019年 Tian提出的 Contrastive multiview coding,通過圖像不同的通道學習不變特征(深度、光照、語義標簽等)。
Scaling the number of negative examples (MoCo)
當負樣本數量較多時,對比方法能夠更好的發揮作用。這是因為更多的負樣本能夠有效的覆蓋潛在數據分布。在對比學習中,負樣本受限於mini-batch的大小。何愷明最近提出的 Momentum Contrast,通過保持大量負樣本隊列來解決這一問題,同時,該方法不使用反向傳播更新 negative encoder,而是使用動量定期更新 negative encoder。
MoCo的驚人結果是,在PASCAL VOC,COCO和其他數據集的7個檢測/細分任務中,MoCo可以勝過 supervised pre-training counterpart,有時甚至可以大大超過它。 在以前,這些任務需要在 ImageNet 上進行有監督的預培訓才能獲得最佳結果,但是MoCo的結果表明,無監督和有監督的預訓練之間的差距已經大大縮小。
參考文獻
[1] Oord, Aaron van den, Yazhe Li, and Oriol Vinyals. “Representation learning with contrastive predictive coding.” arXiv preprint arXiv:1807.03748, 2018.
[2] Hjelm, R. Devon, Alex Fedorov, Samuel Lavoie-Marchildon, Karan Grewal, Phil Bachman, Adam Trischler, and Yoshua Bengio. “Learning deep representations by mutual information estimation and maximization.” ICLR, 2019
[3] Sohn, Kihyuk. “Improved deep metric learning with multi-class n-pair loss objective.” NeurIPS, 2016.
[4] Hénaff, Olivier J., Ali Razavi, Carl Doersch, S. M. Eslami, and Aaron van den Oord. “Data-efficient image recognition with contrastive predictive coding.” arXiv preprint arXiv:1905.09272, 2019.
[5] He, Kaiming, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. “Momentum contrast for unsupervised visual representation learning.” arXiv preprint arXiv:1911.05722, 2019.
[6] Bachman, Philip, R. Devon Hjelm, and William Buchwalter. “Learning representations by maximizing mutual information across views.” NeurIPS, 2019.
[7] Tian, Yonglong, Dilip Krishnan, and Phillip Isola. “Contrastive multiview coding.” arXiv preprint arXiv:1906.05849, 2019.
[8] Veličković, Petar, William Fedus, William L. Hamilton, Pietro Liò, Yoshua Bengio, and R. Devon Hjelm. “Deep graph infomax.” ICLR, 2019.
[8] Anand, Ankesh, Evan Racah, Sherjil Ozair, Yoshua Bengio, Marc-Alexandre Côté, and R. Devon Hjelm. “Unsupervised state representation learning in atari.” NeurIPS, 2019.
[9] Sermanet, Pierre, Corey Lynch, Jasmine Hsu, and Sergey Levine. “Time-contrastive networks: Self-supervised learning from multi-view observation.” CVPRW, 2017.
[10] Poole, Ben, Sherjil Ozair, Aaron van den Oord, Alexander A. Alemi, and George Tucker. “On variational bounds of mutual information.” ICML, 2019.