自監督與表徵學習
表徵崩潰
表徵崩潰是一種失效:編碼器學到一個退化、無意義的平庸解,它不把不同影像映射成不同且有意義的嵌入,反而把一切都映射成幾乎相同、毫無用處的輸出。對任何「靠讓正樣本視角一致來訓練」的方法而言,這都是潛伏的災難,因為要讓兩個視角相同,最偷懶的辦法就是讓所有輸出都相同。崩潰的模型有著完美的一致性損失與零資訊量,嵌入完全不告訴你關於輸入的任何事。
它有兩種樣態。完全崩潰是指輸出無論輸入為何都是一個常數向量,這是最極端的形式。維度崩潰(或部分崩潰)較為微妙:嵌入確實有變化,但全都落在一個低維子空間中,於是許多特徵維度被浪費、實質上是常數;這甚至可能在損失看起來正常時發生,唯有檢視嵌入的共變異數或奇異值頻譜時才現形。兩者都削減了表徵可用的容量。
每一個不含顯式負樣本的自監督方法都需要一套專屬的反崩潰機制,而搞清楚某方法用的是哪一套,正是理解該方法的關鍵。對比方法(SimCLR、MoCo)使用負樣本排斥,你無法崩潰成常數,因為那同時也會把負樣本拉在一起,而損失會懲罰這件事。BYOL 與 SimSiam 使用預測器頭加上停止梯度與不對稱性。DINO 使用對教師分布的中心化加銳化。SwAV 使用 Sinkhorn 等分割約束,強制各群保持平衡。另有一條研究路線直接從嵌入統計量下手對付崩潰:Barlow Twins 把兩視角的互相關矩陣逼向單位矩陣,VICReg 則明確加入一個變異數項(讓每個維度的變異數保持在某下限之上)與一個共變異數項(使各維度去相關),以同時禁止完全崩潰與維度崩潰。
要提防無聲的維度崩潰:訓練損失可能持續下降,而表徵卻悄悄退化成一個低秩子空間。實務上的診斷做法是對一個保留批次計算嵌入矩陣的奇異值,健康的表徵有許多不可忽略的奇異值,正在崩潰的表徵則把能量集中在少數幾個上。
又称