新聞中心
在自監(jiān)督學習領域,基于contrastive learning(對比學習)的思路已經(jīng)在下游分類檢測和任務中取得了明顯的優(yōu)勢。其中如何充分利用負樣本提高學習效率和學習效果一直是一個值得探索的方向,本文「第一次」提出了用對抗的思路end-to-end來直接學習負樣本,在ImageNet和下游任務均達到SOTA.

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站設計、網(wǎng)站建設與策劃設計,東昌網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設10余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:東昌等地區(qū)。東昌做網(wǎng)站價格咨詢:18980820575
眾所周知,負樣本和正樣本是對比學習的關鍵。進一步而言,負樣本的數(shù)量和質量對于對比學習又是其中的重中之重。在BYOL[1]提出后,對于是否需要負樣本也引發(fā)了很多討論,本文從對抗的角度去探索負樣本,也揭示了負樣本的本質和BYOL在去除負樣本之后仍然能夠達到非常好的效果的原因。
論文鏈接:
https://arxiv.org/abs/2011.08435
論文代碼已開源:
https://github.com/maple-research-lab/AdCo
AdCo僅僅用8196個負樣本(八分之一的MoCo v2的負樣本量),就能達到與之相同的精度。同時,這些可直接訓練的負樣本在和BYOL中Prediction MLP參數(shù)量相同的情況下依然能夠取得相似的效果。這說明了在自監(jiān)督學習時代,通過將負樣本可學習化,對比學習仍然具有學習效率高、訓練穩(wěn)定和精度高等一系列優(yōu)勢。
目錄
1、要不要負樣本?
2、AdCo vs. BYOL
3、新思路:Adversarial Contrast: 對抗對比學習
4、實驗結果
1、 要不要負樣本?
去年DeepMind提出的無監(jiān)督模型BYOL[1]的一個突出特點是去掉了負樣本,在討論AdCo前,一個很核心的問題就是在自監(jiān)督時代,我們究竟要不要負樣本?
首先,從比較純粹的實用主義角度來說,MoCo V2[2]這類基于負樣本的對比學習方法,自監(jiān)督訓練的時間都是比BYOL較少的。這點不難理解,MoCo V2不需要基于Global Batch Normalization (BN)(GPU之間需要通訊),所以從速度來說僅僅需要BYOL約1/3的時間。
另一方面,類似MoCo V2的方法一個比較麻煩的地方是要不斷得維護一個負樣本的隊列。但是,用一組負樣本做對比學習,從訓練性能的角度來說,從前諸多的實驗來看可能更穩(wěn)定,畢竟多個負樣本的對比可以提供更多的樣本的分布信息,比BYOL只在單個圖像的兩個變換增強樣本得到的特征上做MSE從訓練的角度來說可以更穩(wěn)定。同時memory bank維持的負樣本并不需要梯度計算,所以相關計算量可以忽略不計。
因此,我們認為負樣本在對比學習里仍然是一個值得探索的方向。但需要解決如何提高負樣本的質量和使用效率的問題。一個比較好的想法是我們能不能不再依賴一個被動的維護一個負樣本隊列去訓練對比模型,而是直接通過主動學習的方法把負樣本當作網(wǎng)絡參數(shù)的一部分去做end-to-end的訓練?
2、 AdCo vs. BYOL
BYOL中除了global BN外,為了用一個分支得到的特征去監(jiān)督另外一個分支輸出的特征,還需要訓練一個只存在于query分支的MLP的預測器(predictor)以達到非對稱的結構防止訓練collapse。
雖然BYOL的predictor里的參數(shù)不是負樣本,但某種意義上可以看作是某種包含典型樣本對應特征的codebook,這個codebook的組合形成了對另一個分支輸出特征的預測。為了達到精確預測的目的,勢必要求這個codebook要比較diverse,能比較好的覆蓋另外一個分支輸出的特征,從而阻止collapse的可能。
從模型參數(shù)的角度來說,這個額外的 Predictor Layer 相當于一般對比學習里用到的負樣本,只不過前者是直接通過反向傳播訓練得到的,而后者在MoCo V2[2]和SimCLR[3]里是通過收集過去或者當前的batch中的特征得到的。
那么,一個自然的問題就是,負樣本能夠也能像預測器一樣通過訓練出來嗎?如果可以,就意味著對比學習中的負樣本也可以看作是模型的一部分,并且可以通過訓練的方法得到,這就給出了一種更加直觀優(yōu)美的方法來構造負樣本。
遺憾的是,直接去最小化contrastive loss并不能用來訓練負樣本,因為這樣得到的是遠離所有query樣本的負樣本,因此我們在AdCo中采取了對抗學習的思路。
3、 新思路:用對抗對比學習去直接訓練負樣本!
依據(jù)此,我們提出了AdCo對抗對比學習,通過直接訓練負樣本的方式來進一步提高負樣本的質量從而促進對比學習。
1、相比于memory bank去存儲過往圖片embedding的方式,我們完全可以把負樣本作為可學習的權重來訓練,這里的好處是我們的所有負樣本可以在每次迭代中同步更新。質量。作為對比,MoCo V2每次只能更新當前負樣本隊列里的很小的一部分,這導致了最早進入memory bank的負樣本對于對比學習的貢獻相對較小。
2、當然,更新負樣本就不能去最小化對應的contrastive loss,而要最大化它,使得得到的負樣本更加地困難,而對訓練representation network更有價值,這就得到了一個對抗性的對比學習,對抗的雙方是負樣本和特征網(wǎng)絡。
3、通過對update負樣本的梯度進行分析,我們發(fā)現(xiàn)這種方法具有非常明顯的物理意義。負樣本每次更新的方向都是指向當前正樣本的一個以某個負樣本所歸屬的正樣本的后驗概率為權重,對正樣本做加權平均得到的梯度方向;
具體而言,文章中的公式(6)通過最大化對比損失函數(shù)可以給出直接訓練負樣本的梯度:
其中的條件概率是
實驗發(fā)現(xiàn),在同樣的訓練時間、minibatch大小下,AdCo的精度都會更高。這說明了,AdCo比其他的自監(jiān)督方法就有更高的訓練效率和精度。這種提升來自對負樣本更有效的更新迭代。
4、實驗結果
相比于基于memory bank的方法,我們的模型在ImageNet分類任務上有了顯著的提升。
同時,在下游檢測和分類任務中,我們相比過往自監(jiān)督方法和全監(jiān)督方法都有顯著的提升:
我們進一步AdCo是否可以通過訓練更少的負樣本來得到同樣好的無監(jiān)督預訓練模型。答案是肯定的。
如下面的結果所展示的,只用原先1/4和1/8的樣本,在ImageNet上的top-1 accuracy幾乎沒有任何損失。這進一步說明了,通過直接用對抗的方式訓練負樣本,把負樣本看成是模型可訓練參數(shù)的一部分,完全可以得到非常好的訓練效果,而且相對于其他的模型,所用的 GPU訓練時間也更少。
進一步而言,我們的學習效率也顯著優(yōu)于基于memory bank的方法,以下是不同自監(jiān)督訓練輪數(shù)下在ImageNet上的對比:
網(wǎng)頁題目:CVPR2021「自監(jiān)督學習」領域重磅新作,只用負樣本也能學
URL網(wǎng)址:http://www.dlmjj.cn/article/cohosse.html


咨詢
建站咨詢
