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

2017/08/11, Linear Factor Models @ Deep Learning Book Chapter 13

線性因子模型重點摘要

探索數據背後的潛在結構:PCA、因子分析、ICA 與稀疏編碼

線性因子模型的基本概念 Fundamentals of Linear Factor Models

核心思想 (Core Idea): 觀測數據 $x$ 假定是由一組潛在的、未觀察到的因子 $h$ 通過一個線性變換,再加上一些噪聲生成的。

生成過程 Generative Process

  1. 從一個先驗分布 $p(h)$ 中抽取潛在因子 $h$。此先驗分布通常假設是因子化的 ($p(h) = \Pi_i p(h_i)$),表示潛在因子之間先驗獨立。
  2. 觀測數據 $x$ 由潛在因子 $h$ 通過一個線性變換 $Wh + b$ 生成,並疊加上一些噪聲:$x = Wh + b + \text{noise}$。其中 $W$ 是因子載荷矩陣,$b$ 是偏置向量。

潛在因子 $h$ 的先驗分布: 通常是因子化的,每個 $p(h_i)$ 通常是一個簡單的分布。常見選擇包括高斯分布 (PPCA, FA) 或非高斯分布 (稀疏編碼,如 Laplace)。

噪聲項: 通常假設是獨立的(在 $x$ 的不同維度上),並且服從高斯分布,例如均值為零、協方差為對角矩陣的高斯噪聲。

角色與應用 (Role & Applications): 線性因子模型是許多更複雜機率模型的基礎,可用於降維特徵學習密度估計及作為混合模型的組件。它們被認為是「最簡單的生成模型和學習數據表示的最簡單模型」,主要捕捉數據的線性和二階統計特性。

機率 PCA (PPCA) 和因子分析 (FA) Probabilistic PCA & Factor Analysis

共同點 (Commonalities): 都是線性因子模型;潛在因子 $h$ 服從標準正態分布 $N(0, I)$;觀測數據 $x$ 在給定 $h$ 時服從高斯分布。

主要區別 (噪聲協方差矩陣) Key Difference (Noise Covariance)

  • PPCA: 假設噪聲是 各向同性 (isotropic) 的高斯噪聲,協方差矩陣是 $\sigma^2I$。所有觀測維度上的噪聲方差相同。
  • FA: 假設噪聲協方差矩陣是 對角的 ($\psi = \text{diag}(\sigma^2)$),但不一定是各向同性的。每個觀測維度 $x_i$ 可以有自己的噪聲方差 $\sigma_i^2$。

參數學習 (Parameter Learning): 通常使用 期望最大化 (EM) 算法。當 PPCA 的噪聲方差 $\sigma^2$ 趨近於零時,其結果應趨近於標準 PCA。

期望最大化 (EM) 算法 EM Algorithm

EM 算法是一種廣泛用於學習帶有潛變量機率模型參數的迭代算法。

步驟 Steps

  1. E 步 (Expectation): 在當前參數下,計算潛變量 $h$ 的後驗分布 $p(h|x, \theta)$。
  2. M 步 (Maximization): 更新模型參數 $\theta$ 以最大化數據的期望完整對數概似。

EM 算法通過 E 和 M 步驟的交替進行,不斷提升觀測數據對數概似的下界,從而最大化概似。

獨立成分分析 (ICA) Independent Component Analysis

核心思想 (Core Idea): 將觀測到的多維信號分解為若干個統計上 獨立的非高斯 源信號的線性混合。觀測數據 $x$ 被建模為 $x = Wh$。

關鍵假設 (Key Assumption): 潛在因子 $h$ (即源信號) 是 非高斯統計上相互獨立 的。

非高斯性的必要性 (Necessity of Non-Gaussianity): 根據中心極限定理,多個獨立隨機變量的和趨向於高斯分布。如果源信號是高斯的,它們的線性混合仍是高斯的,無法唯一地分離出原始源信號。只有當源信號是非高斯時,ICA 才得以通過最大化非高斯性來分離成分。

學習準則 Learning Criteria

通常涉及最大化觀測數據的概似,或等價地最大化某種衡量源信號獨立性的度量。常用度量包括:

  • 最大化非高斯性:負熵 (Negentropy)峰度 (Kurtosis)
  • 最小化互信息 (Mutual Information): 使估計出的源信號盡可能獨立。

應用 Applications

ICA 有廣泛應用,例如:

  • 腦磁圖 (MEG) 中的腦活動分離。
  • 圖像去噪(分離圖像與噪聲)。
  • 金融時間序列分析。

慢特徵分析 (SFA) Slow Feature Analysis

核心思想 (Core Idea): 慢度原則 (slowness principle)。場景中描述物體的重要特徵的變化通常比原始感官輸入(如像素值)的變化慢得多。

目標 (Goal): 從快速變化的時間信號中學習 時間上緩慢變化 的不變特徵。

學習過程 (Learning): 旨在找到輸入信號的線性變換 $f(x^{(t)})$,使得輸出的特徵 $f(x^{(t)})$ 隨時間變化盡可能緩慢。目標函數通常是最小化輸出特徵在相鄰時間步之間的平方差的期望。

應用場景 (Applications): 從視覺輸入中學習不變特徵、機器人導航、語音處理等。

稀疏編碼 (Sparse Coding) Sparse Coding

核心思想 (Core Idea): 輸入數據 $x$ 可以由一個「超完備」的基向量(稱為 字典 W)的 稀疏線性組合 來表示 ($x \approx Wh$)。

  • 超完備字典 (Overcomplete Dictionary): 潛在編碼 $h$ 的維度通常 大於 觀測數據 $x$ 的維度。
  • 稀疏性 (Sparsity): 對於每個輸入 $x$,其對應的編碼 $h$ 中的 大部分元素都應該是零或接近零
  • 潛在編碼 $h$ 的先驗分布: 選擇能誘導稀疏性的 非高斯分布,例如 Laplace 分布或 Student-t 分布。

參數學習 Parameter Learning

通常包含兩個交替步驟:

  1. 推斷潛在編碼 h: 給定字典 $W$ 和輸入 $x$,找到最優的稀疏編碼 $h^*$。通常通過最小化 $||x - Wh||^2 + \lambda||h||_1$ (L1 範數懲罰)。
  2. 更新字典 W: 給定稀疏編碼 $h$,更新字典 $W$ 以更好地重構數據。

學習到的字典基特性 (Learned Dictionary Bases): 通常是 局部的、定向的、帶通的 (localized, oriented, and bandpass),類似於邊緣檢測器或 Gabor 濾波器。當在自然圖像塊上訓練時,學習到的基向量非常像哺乳動物初级視覺皮層 (V1) 中簡單細胞的感受野,這提供了稀疏編碼在生物學上的證據支持。

稀疏編碼可以在 Autoencoder 框架下實現,通過將重構誤差和稀疏懲罰項加入 Autoencoder 的目標函數中進行學習。

PCA 的流形解釋 Manifold Interpretation of PCA

流形學習角度 (Manifold Learning Perspective): 線性因子模型,包括 PCA,可以被理解為學習一個數據流形。PCA 可以被視為試圖找到一個能夠最好地(在均方誤差意義下)近似數據所在流形的 低維線性子空間(或仿射子空間)

編碼器與解碼器 Encoder & Decoder

  • 編碼器 (Encoder): 將原始數據點 $x$ 投影到主子空間上,得到低維表示 $h = W_d^T (x - \mu)$。
  • 解碼器 (Decoder): 從低維表示 $h$ 重構回原始數據空間中的點 $\hat{x} = W_d h + \mu$。

重構誤差 Reconstruction Error

PCA 最小化重構誤差 $E[||x - \hat{x}||^2]$。這個均方重構誤差等於數據協方差矩陣中那些被丟棄的(對應較小特徵值的)特徵值之和 $\sum_{i=d+1}^D \lambda_i$。

主要人物 (提及或參與討論) Key Figures Mentioned

根據資料來源,以下人物在本次討論或報告中被提及:

  • 林遠 (本次報告主講人)
  • JON (MEG 分析專家)
  • Bishop (EM 算法圖示著作引用)
  • 溫達 (Wendell) (稀疏編碼/Autoencoder 資料提供)
  • Larry (EM 算法討論互動)