JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

自監督學習的承諾

為什麼要在沒有標籤的情況下學表徵、什麼是前置任務(pretext task),以及如何評斷一個看不見的表徵。

標籤的瓶頸

監督式學習有效,但標籤昂貴、緩慢且充滿價值判斷——總得有人決定每個樣本「代表」什麼。與此同時,世界充滿了未標註的影像、文字、語音與影片。自監督學習(self-supervised learning, SSL)押的賭注是:我們能直接從資料本身的結構萃取出表徵所需的大部分知識,把標籤留給最後薄薄一層。目標不是預測某個標籤,而是學到一個表徵:把原始輸入映射成一個能讓下游任務變簡單的向量。

自监督学习属于无监督范式——它从无标签数据中自行制造监督信号。

三种学习范式并列——监督、无监督与强化学习。

前置任務簡史

前置任務(pretext task)是我們其實並不在乎的問題,解它只為了讓沿途學到的表徵變得有用。早期電腦視覺的前置任務相當直白:預測兩個影像區塊的相對位置、解拼圖、為灰階照片上色,或猜測影像被旋轉了幾度。每一個都迫使網路理解物件、部件與情境——但每一個也讓網路有機可乘,靠抓住低階捷徑作弊(區塊邊緣的色差就是惡名昭彰的一例)。

決定性的現代前置任務是實例判別(instance discrimination):把每一張影像當成它自己的類別。有 N 張訓練影像,你就想像一個 N 類的分類問題,每張影像(與其增強變體)是一個獨一無二的類別。事實證明 實例判別比拼圖難作弊得多,而幾乎每一種對比方法都是它的變體。

兩種原料:前置任務與評估協定

因為前置任務的損失並不是我們真正在乎的東西,一篇 SSL 論文的成敗繫於它的評估協定。標準做法是線性探測(linear probing):凍結預訓練好的骨幹網路,丟掉投影頭(projection head),用真實標籤在上面只訓練一個線性分類器。線性探測唯有在表徵已經把類別線性地組織好時才會成功——因此高的線性探測準確率,是特徵本身就很好的強力證據,而非某個花俏的頭把它救了回來。

  1. 用你選定的 SSL 目標,在未標註資料上預訓練骨幹網路。
  2. 凍結骨幹的所有權重;丟棄只在 SSL 用到的投影/預測頭。
  3. 在有標籤的資料上,只在凍結特徵之上訓練一個線性層,並回報準確率。
  4. 再用 k-NN 準確率、微調與少樣本探測交叉驗證,確認增益不是某個協定的特例。
线性探测冻结主干网络,只在其上拟合一个线性决策边界——如果冻结的特征足够好,一条直线就能把各类别分开。

一条直线决策边界分隔两类点。

纏繞每種方法的幽靈:崩塌

要讓任何「同一張影像的兩個視角要一致」的目標歸零,有一個取巧的辦法:把每個輸入都映射到同一個常數向量。視角完全一致,而表徵卻完全沒用。這就是崩塌(collapse),也是整個學習路徑的頭號反派。還有一種更隱微的版本——維度崩塌——嵌入仍會變動,卻被困在一個低維子空間裡:你付出代價換來的許多方向其實毫無資訊。

\mathcal{L}_{\text{agree}} = \big\lVert f(x) - f(x') \big\rVert_2^2 \;\xrightarrow{\;f \equiv c\;}\; 0

坍缩的失败模式:若网络把每个输入都映射到同一个常数向量 c,任何'让两个视图一致'的损失都会平凡地降为零——但表征毫无用处。

前方階梯的地圖

我們將分四步攀登。第一,用明確負樣本防止崩塌的對比(contrastive)方法。第二,像 BYOL、DINO 這類完全捨棄負樣本、改靠不對稱性的蒸餾(distillation)方法。第三,直接對嵌入的統計量做正則化以防崩塌的冗餘消除(redundancy-reduction)方法(Barlow Twins、VICReg)。第四,重建或預測被隱藏內容的遮罩與預測(masked / predictive)方法(MAE、VQ-VAE、JEPA)。同一個表徵之後可以做為遷移到偵測、分割、檢索與多模態模型的錨點。