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

以設計防止崩塌:Barlow Twins、VICReg、白化

忘掉負樣本與動量老師——直接對嵌入的統計量做正則化,讓崩塌在數學上變得不可能。

把維度崩塌講清楚

看看你的嵌入在一個批次上的共變異數矩陣,取它的特徵譜。在健康的表徵裡,能量分散在許多特徵值上。在維度崩塌中,少數幾個特徵值獨大,其餘衰減到零:嵌入技術上仍在變動,卻活在嵌入空間裡一張薄薄的煎餅上。這是無聲的失效模式——你的損失看起來沒問題、訓練很穩定,然而你有一半的維度是死重。本篇的方法正面迎擊它:把反崩塌的要求直接寫進損失裡。

\mathbf{C}=\frac{1}{N}\sum_{i=1}^{N}(\mathbf{z}_i-\bar{\mathbf{z}})(\mathbf{z}_i-\bar{\mathbf{z}})^{\top},\qquad \lambda_1\ge\lambda_2\ge\cdots\ge\lambda_d\ge 0

批次嵌入的共變異數矩陣及其有序特徵值——當大多數特徵值趨近於零時即發生維度坍縮。

Barlow Twins:把交叉相關推向單位矩陣

Barlow Twins借用了神經科學的冗餘消除原則。計算兩個視角的嵌入維度之間、跨批次的交叉相關矩陣,再把它推向單位矩陣(identity matrix)。對角線趨於 1 的項,讓每個維度跨視角不變(對齊);非對角線趨於 0 的項,讓相異維度去相關,使任兩個座標不會攜帶相同的資訊。去相關正是禁止維度崩塌的關鍵——如果各軸被迫獨立,你就無法把所有能量堆到一根軸上。沒有負樣本、沒有動量編碼器、沒有不對稱性。

c = (z1n.T @ z2n) / batch            # cross-corr of normalized dims
on  = ((diag(c) - 1) ** 2).sum()      # invariance: diagonal -> 1
off = (off_diagonal(c) ** 2).sum()    # redundancy: off-diag -> 0
loss = on + lambda_ * off
Barlow Twins:一個矩陣、兩個項——匹配視角並讓維度去相關。

VICReg:變異數、不變性、共變異數

VICReg把這個配方明確拆成三個可分別調整的項。不變性(invariance):最小化兩個視角嵌入之間的距離(對齊)。變異數(variance):一個鉸鏈損失,迫使每個嵌入維度跨批次的標準差維持在某個門檻之上——這單獨一項就能防止崩塌,因為崩塌的維度變異數為零,會被重重懲罰。共變異數(covariance):把非對角的共變異數推向零,如同 Barlow Twins 般讓維度去相關。由於三項彼此解耦,VICReg 不需要任何跨批次的正規化技巧,甚至在兩個分支架構或模態不同時也能運作。

\mathcal{L}=\lambda\,s(Z,Z')+\mu\,[\,v(Z)+v(Z')\,]+\nu\,[\,c(Z)+c(Z')\,],\qquad v(Z)=\frac{1}{d}\sum_{j=1}^{d}\max\!\bigl(0,\;\gamma-\sqrt{\operatorname{Var}(z_{\cdot j})+\epsilon}\bigr)

VICReg 的三個可獨立加權的項——不變性 s、變異數 v(用鉸鏈損失使每個維度保持活躍)以及共變異數 c。

白化:讓崩塌變得不可能

基於白化(whitening)的方法採取最強硬的立場:在套用一個簡單的正樣本配對損失之前,明確地把每一批嵌入轉換成共變異數為單位矩陣——零均值、單位變異數、完全去相關。一旦嵌入被白化,維度崩塌就不只是被勸阻,而是在結構上被禁止:一個白化後的表徵,按其構造就不可能把能量集中在某個子空間上。代價是白化操作本身(對整批做矩陣的逆平方根),它增加了計算量並需要一些數值上的小心。

退後一步看,整個家族都在押韻。對比的 InfoNCE 透過負樣本隱性達成均勻性;Barlow Twins、VICReg 與白化則透過去相關與變異數約束,明確地達成本質上相同的譜散布。它們是通往同一目的地的不同路徑:一個共變異數良態(well-conditioned)的嵌入。

在它們之間做選擇

  1. 想要最少的活動零件、又有不錯的偵測遷移?若你付得起負樣本,對比基準(InfoNCE)依然強勁。
  2. 付不起大批次、或擔心假負樣本?試試 BYOL 或某種冗餘消除方法。
  3. 兩個分支不同(多模態、不對稱解析度)?VICReg解耦的各項能優雅地處理不匹配的分支。
  4. 永遠監看嵌入共變異數的特徵譜——它是你對無聲崩塌最早、最便宜的警報。