Deep Learning 101

Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101

AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。

Deep Learning 101 Buy Me A Coffee

YouTube | Facebook | 回 GitHub Pages | 網站 | Hugging Face Space

2018/01/12, Confronting the Partition Function @ Deep Learning Book Chapter 18

直面配分函數

深入探討機率模型中配分函數的挑戰與應對策略

核心挑戰:配分函數 Z(θ) The Core Challenge: Z(θ)

定義與重要性 (Definition & Importance): 配分函數 $Z(\theta)$ 是一個歸一化常數,用於將未歸一化的機率分佈 $\tilde{p}(x;\theta)$ 轉換為一個有效的機率分佈 $p(x;\theta) = \tilde{p}(x;\theta) / Z(\theta)$。$Z(\theta)$ 是 $\tilde{p}(x;\theta)$ 在所有可能狀態 $x$ 上的總和(離散)或積分(連續)。

帶來的挑戰 (The Challenge): 對於許多有趣的機率模型,特別是無向圖模型或具有複雜依賴結構及高維狀態空間的深度學習模型,計算 $Z(\theta)$ 在計算上是難以處理的 (intractable)。這使得直接計算歸一化機率 $p(x;\theta)$ 或其對數概似變得非常困難。

最大概似學習中的梯度計算問題 Gradient Issues in ML Learning

對數概似 $\log p(x;\theta)$ 對參數 $\theta$ 的梯度可以分解為兩項: $\nabla_\theta \log p(x;\theta) = \nabla_\theta \log \tilde{p}(x;\theta) - \nabla_\theta \log Z(\theta)$。

正相 (Positive Phase)

$\nabla_\theta \log \tilde{p}(x;\theta)$。通常相對容易計算,傾向於增加訓練數據點 $x$ 的未歸一化機率,將機率質量拉向訓練數據

負相 (Negative Phase)

$ - \nabla_\theta \log Z(\theta) = - E_{x' \sim p(x';\theta)}[\nabla_\theta \log \tilde{p}(x';\theta)]$。是在模型自身分佈下的期望,傾向於減少模型生成樣本的未歸一化機率,將機率質量推離模型認為高機率的區域

計算困難: 計算負相需要從模型自身的分佈 $p(x;\theta)$ 中採樣大量的樣本,這通常非常困難。

解決負相計算困難的技術 (訓練階段) Techniques for Negative Phase (Training)

基於 MCMC 採樣估計負相 MCMC-based Estimation

對比散度 (CD-k) Contrastive Divergence

每個梯度步驟從訓練數據樣本初始化 MCMC 鏈,只運行少量 k 步 (k=1-20)。

優點: 計算效率高,訓練快,對淺層模型 (如 RBM) 有效。

缺點: 有偏估計,易形成虛假模態,對深度模型效果有限。

隨機最大概似 (SML/PCD-k) Stochastic Maximum Likelihood

MCMC 鏈在整個訓練過程持續運行,當前步驟鏈狀態繼承自上一步。

優點: 偏差比 CD 小,更好探索模型分佈,不易形成虛假模態,更適合訓練深度模型。

潛在問題: 學習率過大或 k 過少時,鏈可能無法跟上模型變化。

朴素 MCMC 方法 Naive MCMC

每次計算梯度時,從隨機狀態開始運行 MCMC 鏈,等待鏈「混合」後採樣。

缺點: 計算代價極高,實際中不可行。

偽概似 Pseudolikelihood

最大化數據中每個變數 $x_i$ 在給定所有其他變數 $x_{-i}$ 條件下的對數機率之和 $\sum_i \log p(x_i | x_{-i})$。條件機率的分母僅涉及對單個變數 $x_i$ 的求和,計算量遠小於 Z。

估計是漸近一致的,但有限數據下可能不如最大概似,不兼容只提供 $\tilde{p}(x)$ 下界的方法。

得分/比率匹配 Score/Ratio Matching

得分匹配 (Score Matching): 最小化模型得分 $\nabla_x \log p_{\text{model}}(x;\theta)$ 與數據得分 $\nabla_x \log p_{\text{data}}(x)$ 的平方差期望。$Z(\theta)$ 不依賴於 $x$,故 $\nabla_x \log Z(\theta) = 0$。

比率匹配 (Ratio Matching): 擴展得分匹配到離散數據,最小化涉及 $\tilde{p}(x)/\tilde{p}(f(x,j))$ 比率的目標函數,$Z(\theta)$ 被消去。

去噪得分匹配: 匹配平滑後數據分佈的得分,有助學習更平滑、泛化的密度模型。

噪聲對比估計 (NCE) Noise-Contrastive Estimation

無監督密度估計轉化為監督式二元分類。引入易處理的噪聲分佈 $p_{\text{noise}}(x)$,訓練分類器區分真實數據和噪聲樣本。

$\log p_{\text{model}}(x)$ 表示為 $\log \tilde{p}_{\text{model}}(x;\theta) + c$,其中 $c = -\log Z(\theta)$ 作為可學習參數

估計配分函數 Z(θ) 本身的重要性與方法 Estimating Z(θ) Itself

即使訓練時避免計算 $Z(\theta)$,估計它對於模型評估、模型比較、監控訓練進度等仍然重要。

重要性採樣 Importance Sampling

從已知 $Z_0$ 的提議分佈 $p_0$ 採樣估計目標分佈 $p_1$ 的 $Z_1$。$Z_1/Z_0$ 估計為 $(1/K) \sum [\tilde{p}_1/\tilde{p}_0]$。若 $p_0, p_1$ 相差大,方差大。

退火重要性採樣 (AIS) Annealed Importance Sampling

引入一系列中間分佈平滑地從 $p_0$ 過渡到 $p_1$,估計相鄰中間分佈配分函數比率並連乘估計 $Z_1/Z_0$。

橋式/鏈接重要性採樣 Bridge/Chained IS

橋式採樣: 依賴單個「橋」分佈在 $p_0, p_1$ 間插值。

鏈接重要性採樣: 結合 AIS 和橋式採樣。

重要人物與時間線 Key Figures & Timeline

  • 1976: Bennett (橋式採樣)
  • 2000: Hinton (CD)
  • 2001: Neal (AIS)
  • 2005: Neal (鏈接IS); Hyvärinen (得分匹配)
  • 2007: Hyvärinen (比率匹配)
  • 2010: Hinton (CD-k); Gutmann & Hyvärinen (NCE)
  • 2011: Desjardins et al. (RBM Z 估計)
  • 主要人物: Hinton, Hyvärinen, Gutmann, Neal, Bennett, Desjardins