表徵與自監督學習

向量量化變分自編碼器(VQ-VAE)

VQ-VAE 學會把一張影像或一段音訊壓縮成一格格離散符號,這些符號取自一套學來的詞彙,很像把照片變成一小頁文字。這種離散性正是重點:一旦資料變成符元序列,你就能在這些符元上訓練強大的自迴歸或遮罩轉換器來生成新資料,這正是影像與音訊符元模型的建構方式。

編碼器產生一張連續特徵圖;接著每個空間向量被吸附到一套學來的編碼簿中最近的條目(量化步驟),解碼器再從這些量化向量重建輸入。最近鄰查詢沒有梯度,因此訓練採用直通估計器:前向傳遞做量化,反向傳遞則把解碼器的梯度直接越過量化器複製給編碼器。損失結合了重建項、把選中的碼移向編碼器輸出的編碼簿項,以及讓編碼器輸出不致偏離其碼的承諾項。VQGAN 後來加上對抗與感知損失,使重建更銳利。

經典失敗模式是編碼簿崩潰,只有少數幾個碼向量被用到、其餘都死掉,使有效詞彙縮水。EMA 編碼簿更新、碼重置與較低維度的碼等技巧可以緩解。離散潛在表徵以略低的重建保真度,換來一個讓下游序列模型遠更易於學習的表徵。

\mathcal{L} = \lVert x-\hat{x}\rVert_2^2 + \lVert \mathrm{sg}[z_e]-e \rVert_2^2 + \beta\,\lVert z_e-\mathrm{sg}[e] \rVert_2^2

重建項+編碼簿項+承諾項;sg 為停止梯度。

與標準 VAE 不同,這裡的先驗不是固定的高斯——訓練後你會另外在離散碼上擬合一個自迴歸先驗,真正生成樣本的正是那個先驗。

又称
VQ-VAE向量量化變分自編碼器codebookdiscrete latents