Simclr論文整理 摘要 1.Introduction 2.Method 3. 用於對比學習的數據增強 編碼器與投射頭結構

摘要

本文提出的對比式自監督學習方法不需要專有結構或者 memory bank,結構比較簡單。
主要證明了一下幾點
1)多種數據增強方法的組合對於預測任務的有效設計是非常重要的;相比於監督型學習,非監督的對比式學習從更難的數據增強中獲利更大。
2)投射頭的設計提升了學習到的特徵的質量;
3)相比於監督型學習,大的batch size和更多的訓練步對於對比學習的幫助更大。更深更寬的網絡對模型性能提升有幫助。
在imagenet上達到了76.5%的top1準確率,超過之前最有方法7%,達到了resnet-50的水平,使用1%的標籤調參後,達到85.8%的top5準確率。

1.Introduction

目前不借助監督信息,學習視覺表徵的主流方法是生成式和判別式。
生成式方法學習在輸入空間生成像素。但是像素級生成是計算昂貴的,而且對於表徵學習可能是不必要的。
判別式方法使用類似於監督型方法的損失函數學習表徵。但是模型訓練使用的代理任務,他的輸入數據和標籤都來自於無標籤的數據集。

2.Method

2.1 對比學習框架

對於同一個樣本的不同數據增強視角,SIMCLR通過最大化二者的相似度學習表徵。細節如下:


  • 樣本x經過數據增強生成的兩個視角

    爲正樣本,使用的數據增強方法爲三種方法疊加, random cropping, random color distortions, random Gaussian blur。

  • 使用resnet作爲基礎編碼器f(.)
  • 使用帶一個隱藏層MLP做投射頭g(.),對比損失施加在z上而不是h上。
  • 對比損失函數。minibatch=N,每張圖像兩個增強視角,共2N個視角數據。對負樣本不顯示建模,即只讓正樣本的兩個視角距離更近。單張樣本的正樣本的損失函數爲:最終的損失爲計算所有樣本的正樣本的損失函數之和。


2.2 大batch size 進行訓練

訓練使用的batch size從256到8192。過大的batch size 使用標準的SGD/Momentum無法訓練,選擇 LARS optimizer 。涉及到分佈式訓練,使用GN而不是BN.

2.3驗證標準

數據集使用ImageNet ILSVRC-2012 dataset ,爲了驗證模型表徵學習的能力,模型冷凍後訓練一個線性分類器。
默認網絡設置:resnet50作爲encoder,兩層的MLP作爲投射頭,投射維度爲128,損失函數NT-Xent,優化器LARS
batchsize=4096,訓練100epoch.

3. 用於對比學習的數據增強


實驗發現單獨的數據增強方法無法學習到較好的表徵,即使能夠較好的完成對比學習的訓練。當疊加數據增強時,對比學習任務變得更難,表徵學習的質量隨之增加。



random cropping 與 random color distortion的疊加性能最優,因爲隨即裁剪的不同圖像塊服從同意顏色分佈。這個特點可作爲預測任務的捷徑。random color distortion有助於學習可泛化的特徵。



對於監督型學習,更強的顏色數據增強會降低模型性能,而自監督學習,更強的數據增強策略能夠提升模型性能。在監督學習中表現優異的Autoaug方法應用於自監督學習性能較差。對於監督型方法沒有性能貢獻的數據增強方法,應用在對比式自監督學習中仍能夠提升性能。

編碼器與投射頭結構

相比於監督學習,更大的模型對非監督對比式學習性能貢獻更大。



非線性投射頭能夠獲得搞好的表徵質量。



作者認爲應該使用h而不是z用作下游任務的表徵,是因爲對比學習會造成信息損失。h用於下游任務,z用於對比學習,投射頭g的訓練能夠移除掉對於下游任務有用信息,方便對抗學習的訓練,而h包含更多信息,能夠提升下游任務的能力。

對比學習對於更大的batch_size和訓練週期獲益更多。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章