Stanford CS229 機器學習 2026 春季 第12講:表示學習
擴散模型訓練與損失函數
擴散模型透過學習逆轉前向加噪過程來進行訓練。目標是參數化一個逆向分布 $p_ heta(x_{t-1} | x_t)$,該分布能從噪聲重建乾淨的圖像。
損失函數
訓練擴散模型的正式目標是最大化數據的對數似然,這將導致證據下界(ELBO)。這可以簡化為一系列項 $L_{t-1}$,其中 $t=1$ 到 $T$。
在實踐中,經常會省略從 ELBO 推導出的複雜係數。訓練目標變為最小化逆向過程的真實均值(給定原始數據 $x_0$)與預測均值 $\mu_\theta(x_t, t)$ 之間的平方差總和:
$$ \text{Loss} = \mathbb{E} [\mu_{\tilde{t}}(x_t, x_0) - \mu_\theta(x_t, t)]^2 $$
噪聲預測重新參數化
與其直接預測均值 $\mu_\theta$,從業者通常會重新參數化網路來預測被加到原始圖像 $x_0$ 上的噪聲 $\varepsilon$,以產生噪聲圖像 $x_t$。
通過硬編碼已知的 $x_t$、$x_0$ 與噪聲 $\varepsilon$ 之間的線性關係,損失函數簡化為噪聲預測問題:
$$ \text{Loss} = \mathbb{E} [\varepsilon - \varepsilon_\theta(x_t, t)]^2 $$
這使得生成任務變成一系列較小且在局部上更易於重建的步驟。模型從純白噪聲開始,逐步銳利圖像,並在每一步添加細節。
基礎模型範式
基礎模型代表了機器學習從特定任務訓練轉向兩階段範式:預訓練和適應。
預訓練
預訓練涉及在龐大、多樣且常未標註的數據集上訓練模型。重點在於規模和多樣性,而非嚴格的數據品質。此階段會創建一個"基礎"——一個通用模型,能從數據中捕捉廣泛的語義資訊。
適應
適應是將預訓練的基礎模型針對特定下游任務進行調整的過程。這可以在以下幾種情境下發生:
- 零樣本學習: 模型根據描述解決任務,無需任何任務特定的訓練數據。
- 少樣本學習: 模型使用非常小的標註數據集進行適應(例如 5-10 個範例)。
- 微調: 模型使用較大的標註數據集針對特定任務進行更新。
表示學習與適應技術
表示學習專注於訓練一個模型 $f_\theta$,將原始數據 $x$ 映射到低維向量(嵌入或特徵)。此表示接著用於解決下游任務。
線性探針
線性探針是一種技術,其中表示模型 $f_\theta$ 被凍結,而在固定嵌入之上訓練一個簡單的線性頭(權重向量 $w$)來預測目標 $y$。這非常有效,因為預訓練的表示常常將原始數據中的非線性關係轉換為嵌入空間中的線性關係。
微調與 LPFT
在完整微調中,線性頭 $w$ 和表示參數 $\theta$ 同時被優化。儘管損失函數可能與線性探針相同,但使用預訓練模型初始化 $\theta$ 通常會帶來更好的全局最小值和優於從頭訓練的測試性能。
LPFT(線性探針然後微調) 是一種混合方法,其中模型首先通過線性探針(僅優化 $w$)進行訓練,以在頭部和表示之間建立穩定的連接。隨後,同時優化 $w$ 和 $\theta$。這可以防止線性頭的隨機初始化在微調早期階段"破壞"預訓練的表示。
低秩適應 (LoRA)
LoRA 是一種高效的適應方法,它避免更新大型模型中的數十億個參數。LoRA 不將權重矩陣 $W$ 更新為 $W + \Delta W$,而是將更新 $\Delta W$ 限制為低秩分解:$\Delta W = AB$,其中 $A$ 和 $B$ 是內維度 $r$ 遠小於原始矩陣的矩陣。
LoRA 的優勢
- 記憶體效率: 雖然前向傳播仍需要原始凍結權重 $W_0$,但 LoRA 大幅減少了梯度和優化器狀態(如 Adam 中的動量)所需的記憶體,因為這些僅針對小矩陣 $A$ 和 $B$ 進行存儲。
- 多租戶服務: LoRA 適合為許多使用者提供服務。單一共享的 $W_0$ 可保留在記憶體中,而小型的使用者特定適配器 ($A_i, B_i$) 可快速切換進出。這使得供應商能在不為每位使用者複製龐大基礎模型的情況下,為數千個客製化模型提供服務。