Contrastive Learning 對比學習 | 何愷明大神的 SimSiam

MoonOut發表於2024-03-07

  • 論文題目:Exploring Simple Siamese Representation Learning,CVPR 2021。
  • pdf:https://arxiv.org/abs/2011.10566
  • 相關部落格:
    • 知乎 | 無門檻級講解對比學習中的自監督模型 Simsiam (通俗易懂)
    • 知乎 | 對比學習(Contrastive Learning):研究進展精要 (解釋了為什麼 Simsiam 會演變成這樣)
    • 知乎 | SimSiam:孿生網路表徵學習的頂級理論解釋 (解釋 Simsiam 的 stop-gradient 與 EM / k-means 演算法的聯絡)
    • 知乎 | SimSiam 論文閱讀
    • 簡書 | SimSiam 論文簡析——筆記

演算法思想

img
  1. 輸入 x, x1, x2,其中 x 代表資料集中的一張圖片,x1, x2 是資料增強(data augmentations)得到的兩張圖片。注意,原圖片並不作為輸入。
  2. 接下來,x1, x2 透過 同一個 編碼器(encoder)編碼,得到兩個表徵向量 z1=f(x1), z2=f(x2)。這個編碼器一般使用經典卷積神經網路 ResNet。這一步的目的就是透過卷積神經網路提取特徵,得到感受野大、維度較小的向量。
  3. 然後,我們將 z1 經過一個 MLP 對映得到 p1=h(z1) ,最大化 p1, z2 的 cosine similarity,作為目標函式去學習。其實,我們的目標函式是一個對稱的(symmetric)函式,也就是不僅要算 p1, z2 的相似度,還要計算 p2=h(z2), z1 的相似度。

主要技術

  • collapsing:
    • 既然 loss function 只想讓所有相似圖片彼此接近,那麼就把所有人對映到一起好了()
    • 解決方案:設計不對稱的 branch、訓練負樣本彼此遠離、stop-gradient 等。
  • stop-gradient:
    • img
  • 神秘的 MLP 層 h :
    • 作者發現,如果不新增 h,效能很差;如果 h 的引數無法學習,模型難以收斂。這個 MLP 層實際上是在 預測資料增強分佈上的數學期望,從而試圖矯正由資料增強帶來的隨機性而導致的誤差。


相關文章