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/12/15, Monte Carlo Methods @ Deep Learning Book Chapter 17

機器學習中的採樣與蒙地卡羅方法

深入探討採樣技術、重要性採樣、MCMC及其在深度學習中的應用

採樣的必要性與蒙地卡羅方法基礎 Sampling & Monte Carlo Fundamentals

在機器學習中,經常需要從機率分佈中採樣。主要原因是為了近似難以精確計算的數學表達式,例如複雜的和或積分。

蒙地卡羅採樣是使用重複隨機採樣來獲得數值結果的計算方法,常用於估計期望值、積分或求和。核心思想是將要求解的和或積分視為某個分佈下的期望值 $E_p[f(x)]$,然後通過從分佈 $p$ 中抽取獨立同分佈 (i.i.d.) 樣本 $x^{(i)}$ 並計算經驗平均值 $\hat{s}_n = \frac{1}{n} \sum_{i=1}^n f(x^{(i)})$ 來近似這個期望值。

  • 蒙地卡羅估計量 $\hat{s}_n$ 是無偏估計
  • 根據大數定律,當樣本數量 $n$ 趨於無窮大時,$\hat{s}_n$ 將會依機率收斂到真實期望值 $s$。
  • 中心極限定理指出,大量獨立同分佈隨機變數的平均值的分佈會趨於正態分佈。

重要性採樣 Importance Sampling

重要性採樣的主要目的是在無法直接或有效從目標分佈 $p(x)$ 中採樣時,通過從一個易於採樣的提議分佈 $q(x)$ 中抽取樣本來估計在 $p(x)$ 下的期望值 $E_p[f(x)]$。

核心思想是使用重要性權重 $w(x) = p(x)/q(x)$ 對從 $q$ 中抽取的樣本進行加權,以校正偏差。

採樣方法 Sampling Methods

  • 無偏重要性採樣: $\hat{s}_{\text{UIS}} = \frac{1}{n} \sum_{i=1}^n w(x^{(i)}) f(x^{(i)})$。要求 $p, q$ 歸一化常數已知。
  • 有偏(自歸一化)重要性採樣: $\hat{s}_{\text{BIS}} = \frac{\sum_{i=1}^n w(x^{(i)}) f(x^{(i)})}{\sum_{i=1}^n w(x^{(i)})}$。不需 $p, q$ 歸一化常數,但有限樣本下有偏,通常方差更低。

提議分佈 $q(x)$ 的選擇至關重要,應與 $p(x)|f(x)|$ 形狀相似,否則可能導致權重方差過大。

Gibbs 採樣 Gibbs Sampling

Gibbs 採樣是一種特殊的 MCMC 算法。它適用於目標分佈的全條件分佈易於採樣的情況

工作原理:通過輪流對每個變數進行採樣,每次都從該變數在給定所有其他變數當前值的情況下的全條件分佈中採樣。

優點包括實現相對簡單、無需調整提議分佈,且接受率總是 1。

馬爾可夫鏈蒙地卡羅 (MCMC) 方法 Markov Chain Monte Carlo

MCMC 方法主要解決在目標分佈難以直接進行獨立同分佈採樣的問題,特別是對於高維分佈或其歸一化常數難以計算的情況。

核心思想是構造一個馬爾可夫鏈,使其在經過足夠長時間的演變後,能夠收斂到以目標分佈 $p$ 作為其平穩分佈

一旦馬爾可夫鏈達到平穩狀態(經過「燒入期」burn-in period 後),從鏈中抽取出的樣本序列在理論上就近似於從目標分佈 $p$ 中抽取的樣本。

MCMC 的挑戰與改善方法 MCMC Challenges & Improvements

常見挑戰 Common Challenges

  • 收斂性 (Convergence): 確定何時達到收斂是一個難題。
  • 混合性 (Mixing): 馬爾可夫鏈需要有效地探索整個狀態空間,特別是對於多模態分佈。
  • 能量景觀崎嶇問題 (Rugged energy landscapes): MCMC 可能被困在局部能量極小點,導致混合緩慢。

改善方法 Improvement Methods

退火 (Annealing) / 回火 (Tempering): 模擬物理系統的退溫過程,在高「溫度」下增加狀態轉換機率,使鏈更容易探索狀態空間,然後逐漸降溫。

  • 單鏈回火 (Simulated Annealing): 在時間上逐漸改變單條鏈的溫度。
  • 並行回火 (Parallel Tempering): 運行多條不同溫度的馬爾可夫鏈,並允許鏈之間交換狀態,以改善整體混合性。

深度學習圖像處理項目案例 Case Study: Image Processing Project

一個基於深度學習技術的平面角色處理和識別項目正在進行中,由台灣科技大學和清華大學成員參與。

項目挑戰與進展 Challenges & Progress

主要挑戰: 動漫角色圖像數據集稀缺

數據收集: 建立網站號召志願者協助標註數據 (框選角色臉部)

模型適應性: 現有預訓練模型在動漫圖像上效果不佳,因真實世界圖像與動漫圖像本質差異

圖像分割與超解析度: 嘗試分割角色臉部,並使用生成模型 (如 GAN) 提升動漫圖像解析度,採用分塊並行放大處理。

顏色空間探索: 研究在不同顏色空間 (RGB, Lab, Lch, HSV) 分析圖像,發現 Lab 空間可能更適合處理顏色

模型架構與激活函數: 嘗試改進預處理和模型架構,如使用不同大小卷積核,並測試 GELU 等新型激活函數。

稀疏數據處理: 探索使用單次學習 (single-shot learning) 模型處理角色識別。

語義分析: 研究通過角色服裝等非臉部特徵輔助識別。

項目強調了數據質量控制和人工審核的重要性。