論文:A Simple Framework for Contrastive Learning of Visual Representations
論文鏈接:https://arxiv.org/pdf/2002.05709.pdf
Lecun在2020的AAAI上表示看好自監督學習,在近兩年,self-supervised learning的成果也越來越多,如MoCo,CPC等等。Hinton組的這篇SimCLR,比之前的SOTA方法在InageNet的top1的accuracy上提高了7個百分點,雖然有人說這篇文章屬於暴力美學,但還是值得一讀的。
在參數相同的情況下,ImageNet的top1 accuracy高於其他SOTA方法7個百分點及以上,更加接近supervised learning。
網絡結構如上圖:
(1)對於樣本,首先進行data augmentation(本文的三種augmentation分別爲:隨機裁剪並resize,color distortion以及Gaussian Blur),經過兩種不同的操作得到和;
(2)經過一個Encoder ,文中選用Resnet,得到特徵表示 和 ;
(3)特徵表示再經過一個projection head,即,得到網絡的輸出。
算法流程如下:
上述的就是所謂的contrastive loss,文中被稱作NT-Xent,是讓相似的圖像(同一個樣本經過數據增得到的兩張圖像)的特徵表示相似度儘可能高,不同圖像的特徵相似度儘可能低。
文中採用了256-8192的大batch size進行訓練,簡單粗暴,不需要什麼memory bank這類存儲庫。實驗結果也表明,大的batch得到的效果更好。
兩種數據增強的組合能達到更好的效果,特別是上圖中Crop和Color distortion的組合。
關於projection head是否有必要存在,以及線性與非線性的差別。實驗結果證明,非線性的projection head效果更好。作者在文中解釋說,projection head能夠消除一些對downstream task有用的信息,並且可以構建和維護特徵表示中的更多信息。
對比其他自監督學習方法,結果如下:
經過少量有標籤數據的微調後,達到更好的效果: