論文 · arXiv 2002.05709
視覺表徵對比學習的簡易框架
A Simple Framework for Contrastive Learning of Visual Representations
發表於 cs.LGcs.CVstat.ML arXivPDF
三句話總結
- 🎯 先前的對比自我監督方法仰賴複雜的架構設計、記憶庫或特殊的上下文聚合網路。
- 🔧 SimCLR 使用標準 ResNet、非線性投影頭、用於負樣本的大型 mini-batch 以及 NT-Xent 損失,最大化影像不同擴增視角之間的潛在一致性。
- 📈 在 SimCLR ResNet-50 (4×) 上訓練的線性分類器達到了 76.5% 的 ImageNet top-1 準確率,且僅用 1% 的標籤微調即可獲得 85.8% 的 top-5 準確率。
摘要
本研究提出了 SimCLR:一個用於視覺表徵對比學習的簡易框架。我們簡化了近期提出的對比自我監督學習演算法,無需依賴特殊架構或記憶庫(memory bank)。為了理解促使對比預測任務學習到有效表徵的關鍵因素,我們系統性地研究了該框架的主要組成部分。研究表明:(1) 資料擴增的組合在定義有效的預測任務中扮演關鍵角色;(2) 在表徵與對比損失之間引入可學習的非線性轉換,能顯著提升所學表徵的品質;(3) 相較於監督式學習,對比學習更能從更大的批次大小與更多的訓練步數中獲益。結合這些發現,我們在 ImageNet 上的自我監督與半監督學習表現大幅超越以往的方法。在 SimCLR 學習到的自我監督表徵上訓練的線性分類器達到了 76.5% 的 top-1 準確率,相較於先前的 SOTA 實現了 7% 的相對提升,並與監督式 ResNet-50 的表現相匹配。當僅使用 1% 的標籤進行微調時,我們達到了 85.8% 的 top-5 準確率,以減少 100 倍的標籤數量超越了 AlexNet。
英文原文摘要
This paper presents SimCLR: a simple framework for contrastive learning of visual representations. We simplify recently proposed contrastive self-supervised learning algorithms without requiring specialized architectures or a memory bank. In order to understand what enables the contrastive prediction tasks to learn useful representations, we systematically study the major components of our framework. We show that (1) composition of data augmentations plays a critical role in defining effective predictive tasks, (2) introducing a learnable nonlinear transformation between the representation and the contrastive loss substantially improves the quality of the learned representations, and (3) contrastive learning benefits from larger batch sizes and more training steps compared to supervised learning. By combining these findings, we are able to considerably outperform previous methods for self-supervised and semi-supervised learning on ImageNet. A linear classifier trained on self-supervised representations learned by SimCLR achieves 76.5% top-1 accuracy, which is a 7% relative improvement over previous state-of-the-art, matching the performance of a supervised ResNet-50. When fine-tuned on only 1% of the labels, we achieve 85.8% top-5 accuracy, outperforming AlexNet with 100X fewer labels.
論文解讀
問題與動機
在沒有人類監督的情況下學習視覺表徵,通常依賴生成模型或啟發式前置任務(例如拼圖、旋轉預測、上色)。對比學習方法雖然取得了更好的性能,但往往引入了專門的上下文聚合架構(如 CPC 中的 PixelCNN)、受限的感受野,或顯式的記憶庫(如 MoCo 或 InstDisc)來提供負樣本對。SimCLR 解決了這些複雜性,證明透過使用標準編碼器、批次內負樣本對以及系統化的資料擴增設計,即可超越以往的方法,無需任何特殊的架構調整。
核心概念
- 擴增組合定義預測任務:相較於改變網路架構以強制進行空間上下文預測,隨機組合資料擴增——特別是隨機裁剪搭配色彩失真——能防止模型走捷徑(例如比對顏色分佈直方圖),並迫使網路提取語意特徵。
- 更強的擴增有益於對比學習:諸如激進的色彩抖動等會降低監督式訓練性能的擴增方法,卻能顯著提升自我監督對比學習的效果。
- 非線性投影頭:在編碼器表徵 與對比損失之間引入一個小型 MLP 可提高表徵品質。因為 被訓練為對轉換具備不變性,在訓練後捨棄 可以保留 中對轉換敏感的資訊,這對下游任務大有裨益。
- 透過大批次與長訓練時間擴展負樣本:SimCLR 不使用顯式記憶庫,而是依賴透過 LARS 優化的大批次大小(最高達 8192),為每個正樣本對提供數千個批次內負樣本對。
- 全域批次正規化(Global Batch Normalization):為了避免網路利用單一裝置內的批次正規化統計數據來辨識正樣本對的捷徑,批次正規化的平均值與變異數會在所有分散式加速器之間進行同步。
方法
對於取樣的 個影像的 mini-batch,每個樣本 會經過兩個不同的隨機擴增 轉換,在 個擴增樣本中產生一個正樣本對 。
- 基礎編碼器:,從平均池化層提取表徵。
- 投影頭:,利用單隱藏層與 ReLU 活化函數 ,將表徵映射到 128 維的潛在空間。
- NT-Xent 損失:正規化向量之間的餘弦相似度定義為 。對於正樣本對 ,損失為: 其中 為溫度超參數,且若 則 的值為 。總損失 是對批次中所有 個樣本對取平均。
訓練完成後,捨棄 ,並將 用於下游線性分類評估或微調。
結果
- ImageNet 線性評估:使用標準 ResNet-50 的 SimCLR 達到了 69.3% 的 top-1 準確率(達到或超越以往的自我監督模型)。當擴展至 ResNet-50 () 時,達到 76.5% 的 top-1 準確率,與完全監督式的標準 ResNet-50 相當。
- 半監督微調:僅在 1% 的 ImageNet 標籤上進行微調時,ResNet-50 () 達到了 85.8% 的 top-5 準確率(以及 63.0% 的 top-1),超越了使用 100% 標籤訓練的 AlexNet。
- 遷移學習:在 12 個自然影像分類資料集中,微調後的 SimCLR ResNet-50 () 在其中 10 個資料集上的表現達到或超越了監督式基準。
- 投影頭消融實驗:在 ImageNet 線性評估中,使用非線性投影頭的效果比線性投影高出 +3%,比不使用投影頭高出 >10%。
限制與開放問題
- 運算資源密集:為了獲得最佳結果,模型訓練需要非常大的 mini-batch 大小(如 4096 或 8192)以及長時間的訓練排程(最高達 1000 個 epoch),因此必須依賴大型加速器叢集(32–128 個 TPU 核心)。
- 遷移上的架構差異:雖然 ResNet-50 () 在遷移基準上達到或超過了監督式基準,但標準 ResNet-50 在所有線性評估任務中仍落後於監督式基準。
- 資訊取捨:投影頭在迫使 具備不變性的同時,如何保留 中特定轉換資訊的機制,目前仍依賴經驗啟發式方法,而非解析理論框架。
關鍵術語
- SimCLR
- 一個用於視覺表徵對比學習的簡易框架,包含資料擴增、基礎編碼器、非線性投影頭以及正規化溫度縮放交叉熵損失。
- NT-Xent
- 正規化溫度縮放交叉熵損失(Normalized Temperature-scaled Cross Entropy loss),針對批次內的負樣本對與正樣本對應用溫度縮放的餘弦相似度。
- Projection Head
- 投影頭(Projection Head),在預訓練期間接在基礎編碼器之後、具備單一隱藏層的小型多層感知機,在下游評估前會被捨棄。
- Global BN
- 全域批次正規化(Global Batch Normalization),在所有分散式設備間聚合平均值與變異數,防止模型將設備內的統計數據作為資訊捷徑。
- Linear Evaluation Protocol
- 線性評估協議(Linear Evaluation Protocol),自我監督學習中的標準評估方法,在凍結的特徵提取器之上訓練線性分類器以衡量表徵品質。
- LARS
- 逐層自適應速率縮放(Layer-wise Adaptive Rate Scaling)優化器,用於在擴展至極大批次大小時穩定模型訓練。
常見問題
為什麼在使用隨機裁剪時,色彩抖動(Color Jittering)是不可或缺的?
來自同一張影像的隨機裁剪通常共享非常相似的顏色分佈直方圖。如果不進行色彩失真,模型很容易單純透過比對色彩特徵來辨識正樣本對,而無法學習到高階語意特徵。
為什麼投影頭之前的表徵(h)優於之後的表徵(z)?
對比損失會訓練輸出 z 完全對所應用的資料擴增具備不變性。非線性投影頭 g 吸收了這種轉換特定細節(如顏色與方向)的損失,從而在 h 中保留了更豐富且更具泛化能力的資訊。
SimCLR 如何避免使用記憶庫(memory bank)?
SimCLR 使用較大的 minibatch 大小(從 256 到 8192)。大小為 N 的批次能直接在批次內為每個正樣本對提供 2(N-1) 個負樣本,因此無需額外的記憶庫或動量編碼器。
為什麼 SimCLR 需要全域批次正規化(Global Batch Normalization)?
因為正樣本對的兩個視角通常會在同一個加速器設備上進行處理,標準的局部批次正規化會引入資訊捷徑,使設備內的統計數據洩漏樣本身分。在所有運算設備間聚合 BN 統計數據可以消除這個捷徑。
本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。