後無BN與ReLU。MLP有2個全連接層,第一個全連接層的輸入與輸出維度為2048,第二個的輸出維度為512.Backbone:作者選用了ResNet50作為骨幹網絡。作者在ImageNet上線進行無監督預訓練,然後採用監督方式凍結骨幹網絡訓練分類頭,最後在驗證集上驗證其性能。
在該部分內容中,我們將實證研究SimSiam的表現,主要聚焦於哪些行為有助於避免「崩潰解」。
上圖給出了Stop-gradient添加與否的性能對比,注網絡架構與超參保持不變,區別僅在於是否添加Stop-gradient。
上圖left表示訓練損失,可以看到:在無Stop-gradient時,優化器迅速找了了一個退化解並達到了最小可能損失-1。為證實上述退化解是「崩潰」導致的,作者研究了輸出的 規範化結果的標準差。如果輸出「崩潰」到了常數向量,那麼其每個通道的標準差應當是0,見上圖middle。
作為對比,如果輸出具有零均值各項同性高斯分布,可以看到其標準差為 。上圖middle中的藍色曲線(即添加了Stop-gradient)接近 ,這也就意味著輸出並沒有「崩潰」。
上圖right給出了KNN分類器的驗證精度,KNN分類器可用於訓練過程的監控。在無Stop-gradient時,其分類精度僅有0.1%,而添加Stop-gradient後最終分類精度可達67.7%。
上述實驗表明:「崩潰」確實存在 。但「崩潰」的存在不足以說明所提方法可以避免「崩潰」,儘管上述對比中僅有「stop-gradient」的區別。
上表給出了Predictor MLP的影響性分析,可以看到:
當移除預測MLP頭模塊h(即h為恆等映射)後,該模型不再有效(work);
如果預測MLP頭模塊h固定為隨機初始化,該模型同樣不再有效;
當預測MLP頭模塊採用常數學習率時,該模型甚至可以取得比基準更好的結果(多個實驗中均有類似發現).
上表給出了Batch Size從64變換到4096過程中的精度變化,可以看到:該方法在非常大範圍的batch size下表現均非常好 。
上表比較了投影與預測MLP中不同BN的配置對比,可以看到:
移除所有BN層後,儘管精度只有34.6%,但不會造成「崩潰」;這種低精度更像是優化難問題,對隱含層添加BN後精度則提升到了67.4%;在投影MLP的輸出後添加BN,精度可以進一步提升到68.1%;在預測MLP的輸出添加BN後反而導致訓練變的不穩定。總而言之,BN有助於訓練優化,這與監督學習中BN的作用類似;但並未看到BN有助於避免「崩潰」的證據 。
所提方法除了與cosine相似性組合表現好外,其與交叉熵相似組合表現同樣良好,見上表。此時的交叉熵相似定義如下:
可以看到:交叉熵相似性同樣可以收斂到一個合理的解並不會導致「崩潰」 ,這也就是意味著「崩潰」避免行為與cosine相似性無關。
儘管前述描述中用到了對稱損失,但上表的結果表明:SimSiam的行為不依賴於對稱損失:非對稱損失同樣取得了合理的結果,而對稱損失有助於提升精度,這與「崩潰」避免無關 。
通過上面的一些列消融實驗對比分析,可以看到:SimSiam可以得到有意義的結果而不會導致「崩潰」 。優化器、BN、相似性函數、對稱損失可能會影響精度,但與「崩潰」避免無關;對於「崩潰」避免起關鍵作用的是stop-gradient操作。
接下來,我們將討論:SimSiam到底在隱式的優化什麼 ?並通過實驗對其進行驗證。主要從定義、證明以及討論三個方面進行介紹。
作者假設:SimSiam是類期望最大化算法的一種實現。它隱含的包含兩組變量,並解決兩個潛在子問題,而stop-gradient操作是引入額外變換的結果。我們考慮如下形式的損失:
其中 分別表示特徵提取網絡與數據增廣方法,x表示圖像。在這裡,作者引入了另外一個變量 ,其大小正比於圖像數量,直觀上來講, 是x的特徵表達。
基於上述表述,我們考慮如下優化問題:
這種描述形式類似於k-means聚類問題,變量 與聚類中心類似,是一個可學習參數;變量 與樣本x的對應向量(類似k-means的one-hot向量)類似:即它是x的特徵表達。類似於k-means,上述問題可以通過交替方案(固定一個,求解另一個)進行求解:
對於 的求解,可以採用SGD進行子問題求解,此時stop-gradient是一個很自然的結果,因為梯度先不要反向傳播到 ,在該子問題中,它是一個常數;對於 的七屆,上述問題將轉換為:
結合前述介紹,SimSiam可以視作上述求解方案的一次性交替近似。
此外需要注意:(1)上述分析並不包含預測器h;(2) 上述分析並不包含對稱損失,對稱損失並非該方法的必選項,但有助於提升精度。
作者假設:SimSiam是一種類似交錯優化的方案,其SGD更新間隔為1。基於該假設,所提方案在多步SGD更新下同樣有效。為此,作者設計了一組實驗驗證上述假設,結果見下表。
在這裡, 等價與SimSiam。可以看到:multi-step variants work well。更多步的SGD更新甚至可以取得比SimSiam更優的結果。這就意味著:交錯優化是一種可行的方案,而SimSiam是其特例。
前述內容已經說明了所提方法的有效性,接下來將從ImageNet以及遷移學習的角度對比一下所提方法與其他SOTA方法。
上圖給出了所提方法與其他SOTA無監督學習方法在ImageNet的性能,可以看到:SimSiam可以取得具有競爭力的結果 。在100epoch訓練下,所提方法具有最高的精度;但更長的訓練所得收益反而變小。
上表給出了所提方法與其他SOTA方法在遷移學習方面的性能對比。從中可以看到:SimSiam表達可以很好的遷移到ImageNet以外的任務上,遷移模型的性能極具競爭力 。
最後,作者對比了所提方法與其他SOTA方法的區別&聯繫所在,見上圖。
Relation to SimCLR:SimCLR依賴於負採樣以避免「崩潰」,SimSiam可以是作為「SimCLR without negative」。
Relation to SwAV:SimSiam可以視作「SwAV without online clustering」.
Relation to BYOL: SimSiam可以視作「BYOL without the momentum encoder」.
全文到此結束,對該文感興趣的同學建議去查看原文的實驗結果與實驗分析。
該文採通過非常簡單的設計探索了孿生網絡,所提方法方法的有效性意味著:孿生形狀是這些表達學習方法(SimCLR, MoCo,SwAR等)成功的關鍵原因所在 。孿生網絡天然具有建模不變性的特徵,而這也是表達學習的核心所在。
後臺回復關鍵詞【入群 】
加入賣萌屋NLP/IR/Rec與求職討論群
有頂會審稿人、大廠研究員、知乎大V和妹紙
等你來撩哦~
[1] SimCLR: A simple framework for contrastive learning of visual representations[2] SimCLRv2: Big self-supervised models are strong semi-supervised learners.[3] SwAV:Unsupervised learning of visual features by contrasting cluster assignments[4] MoCo: Momentum contrast for unsupervised visual representation learning.[5]MoCov2:Improved baselines with momentum contrastive learning[6] BYOL: Bootstrap your own latten: A new aproach to self-supervised learning.[7] CPC: Data efficient image recognition with contrastive predictive coding.[8] PIC: Parametric instance classification for unsupervised visual feature learning.