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/04/13, Deep Generative Models @ Deep Learning Book Chapter 20

深度生成模型

探索 RBM、DBN、DBM、VAE、GMMN 與自回歸模型等核心技術

總體目標與模型類型 Overall Goals & Model Types

深度生成模型的核心目標是表示多個變數的機率分佈

這些模型可大致分為兩類:

  • 基於能量的模型 (Energy-based Models, EBM):如玻爾茲曼機、RBM、DBM。這些模型使用能量函數定義聯合機率分佈。
  • 可微分生成網路 (Differentiable Generator Networks):如 VAE 和 GMMN。這類模型通常將潛在變數通過一個可微分函數(通常是神經網路)映射到資料空間。

受限玻爾茲曼機 (RBM) Restricted Boltzmann Machine

RBM 是一種具有單個隱藏層的玻爾茲曼機,其特點是可見單元 (v) 和隱藏單元 (h) 之間有連接,但層內沒有連接 (二分圖結構)。其機率分佈由能量函數定義,機率與能量的負指數成正比。

挑戰與優勢 Challenges & Advantages

  • 挑戰: RBM 的可見單元邊緣機率 $P(v)$ 和配分函數 $Z$ (歸一化常數) 是難解的 (intractable)
  • 優勢: 儘管 $P(v)$ 和 $Z$ 難解,RBM 的二分圖結構使得其條件分佈 $P(h|v)$ 和 $P(v|h)$ 可以分解為單元獨立的形式。這使得計算和塊吉布斯採樣 (Block Gibbs Sampling) 相對簡單且高效。

訓練 Training

通常使用基於 MCMC 採樣的近似最大概似方法,如對比散度 (CD)隨機最大概似 (SML / PCD)。訓練過程涉及最大化 log 概似,其梯度包含 Positive Phase (數據驅動) 和 Negative Phase (模型驅動)。Negative Phase 難以直接計算,需通過採樣近似。

深度信念網路 (DBN) Deep Belief Network

DBN 是最早成功應用的深度非卷積生成模型之一。

結構特點 Structural Features

是一個混合圖模型:頂部兩層之間的連接是無向的 (構成一個 RBM);所有其他層之間的連接是有向的,箭頭指向最接近數據的可見層。層內沒有連接。

推斷與訓練 Inference & Training

DBN 中的精確推斷是難解的,原因包括有向層內的「解釋消除」效應以及頂部兩層無向連接的相互作用。

標準訓練採用貪婪逐層預訓練:首先訓練一個 RBM 建模輸入,然後將其隱藏層激活作為下一層 RBM 的輸入,重複此過程。訓練好的 DBN 權重常用於初始化 MLP 參數進行判別性微調。

深度玻爾茲曼機 (DBM) Deep Boltzmann Machine

DBM 是一種完全無向的深度生成模型,擁有多個潛變數層。每層內的單元與相鄰層單元條件獨立 (層內無連接)。

採樣與推斷 Sampling & Inference

DBM 的層可組織成二分圖,使得塊吉布斯採樣可以高效進行。然而,從模型生成樣本相對困難,需在所有層使用 MCMC。推斷 $P(h|v)$ 難解,但相較 DBN 更容易使用變分近似 (如平均場近似) 處理。平均場推斷允許 DBM 捕獲自頂向下的反饋交互影響

訓練挑戰與方法 Training Challenges & Methods

面臨難解的配分函數難解的後驗分佈雙重挑戰。參數學習通常通過最大化對數概似的變分下界,使用 SML。貪婪逐層預訓練是一種常見且有效的方法,RBM 參數在組合成 DBM 前需調整 (如權重除以2)。

聯合訓練方法: 中心化 DBM (Centered DBM) 和多預測 DBM (MP-DBM) 提供了替代方案。

可微分生成網路 Differentiable Generator Networks

這類模型不直接建模能量或可視變數上的複雜機率分佈,而是訓練一個可微分的生成器網路。

變分自動編碼器 (VAE) Variational Autoencoder

編碼器將輸入映射到潛在空間中一個分佈的參數 (如高斯分佈的均值和標準差)。從此潛在分佈採樣一個潛在變數,解碼器將其映射回資料空間。

重參數化技巧 (Reparameterization Trick) 允許梯度通過採樣步驟反向傳播。

訓練目標是最大化證據下界 (ELBO),包含重構項和正則化項。

生成矩匹配網路 (GMMN) Generative Moment Matching Network

訓練目標是使生成器產生的樣本的矩 (統計量) 與真實數據樣本的矩盡可能匹配。通過最小化最大平均偏差 (MMD) 代價函數實現。

與 GAN 和 VAE 不同:GMMN 不需要判別器網路,也不需要編碼器/推斷網路

批量大小對 MMD 的準確估計至關重要。

自回歸網路 Autoregressive Networks

這是有向機率模型,沒有潛在隨機變數。使用機率的鏈式法則分解聯合機率 $P(x) = \prod P(x_i | x_{

優勢:避免維度災難,允許參數/特徵共享。NADE 是一種具體參數共享方案。RNADE 可擴展至實值數據。

其他玻爾茲曼機變體 Other Boltzmann Machine Variants

  • 實值數據上的玻爾茲曼機: 如 Gaussian-Bernoulli RBM (GB-RBM), Mean and Covariance RBM (mcRBM), Spike and Slab RBM (ssRBM)。
  • 卷積玻爾茲曼機: 將卷積結構引入玻爾茲曼機,引入機率最大池化 (probabilistic max pooling)
  • 用於結構化或序列輸出的玻爾茲曼機: 如條件 RBM (CRBM) 和 RNN-RBM。
  • 其他變體: 判別式 RBM, 高階玻爾茲曼機, 選通 (Gating) 機制。

模型評估注意事項 Model Evaluation

對數概似 (Log Likelihood) 比較: 在 MNIST 等數據集上需小心,數據處理方式會極大影響結果,不同處理方式下的值不可直接比較。

視覺樣本檢查: 具有局限性。判斷主觀;難以發現模式崩潰 (Mode Collapse)過擬合;無法檢測低機率但重要的錯誤。

總結 Conclusion

本章介紹的多種深度生成模型架構 (包括玻爾茲曼機、DBN、DBM、VAE、GAN (雖然GAN在本文檔CH20.md中未詳細展開,但屬於此類模型範疇)、自回歸模型等) 沒有一種是普適的最佳選擇。模型的選擇取決於具體的應用需求、數據特性和計算資源。