VAE、Beta-VAE、CVAE 的互動式數學實驗室:拖動滑桿即時觀察機率分佈、重參數化取樣、KL 散度與損失函數的變化。

Generative Models · Interactive Lab

VAE 家族 · 互動數學實驗室

拖動滑桿,即時看到公式數值變化 + MATLAB 風格的動態圖:機率分佈、重參數化取樣、潛在空間、KL 散度與損失函數。三個分頁對應三種模型。

控制參數

編碼器把輸入壓成一個分佈 q(z|x)=N(μ, σ²)。拖動 μ、σ 看它如何變化。

重參數化技巧 · reparameterization z = μ + σ · ε, ε ~ N(0, 1)
本幀取樣 · live sample ε = 0.00 → z = 0.00 + 1.00·(0.00) = 0.00
KL 散度(讓 q 靠近先驗 N(0,1)) DKL = ½(μ² + σ² − 1 − ln σ²) = 0.00

σ 越大 → 分佈越胖、z 抖動越大;μ 離 0 越遠 或 σ 離 1 越遠 → KL 越大(被「拉回」原點的力越強)。

分佈:q(z|x) vs 先驗 N(0,1)KL 0.00

q(z|x)=N(μ,σ²) 先驗 N(0,1) 取樣 z

2D 潛在空間 · latent space

編碼分佈 KL 向原點的拉力 + 原點 (0,0)
重建損失 Recon (示意)
–
KL 散度
0.00
總損失 = Recon + KL
–

總損失是「相加」:模型同時壓低兩者。重建損失在此以 σ 偏離 1 的程度示意(真實訓練由解碼器決定)。

控制參數

β-VAE 在 KL 前面加一個旋鈕 β,調節「還原精準 vs 潛在空間規整」的平衡。

β-VAE 損失函數 L = Lrecon + β · DKL
代入數值 L = 0.00 + 1.0·0.00 = 0.00
重建清晰度–
潛在空間規整度 / 解耦–

β=1 → 普通 VAE。β 調大 → KL 權重變重,潛在分佈被更用力拉成「單位圓」(規整、好解耦),但還原變糊。β=0 → 幾乎不管規整,退化成普通自編碼器。

潛在空間:被 β 拉向單位圓的程度β 1.0

目前編碼分佈 單位圓 N(0,1)

權衡曲線 · reconstruction ⇄ regularization

重建品質 規整/解耦 目前 β

控制參數

CVAE 多餵一個「條件 c」給解碼器。c 決定「是哪一類」,z 決定「長什麼樣的變化」。

條件式生成 x = Decoder(z, c), p(x | z, c)
目前輸入 c = 0, z = (0.00, 0.00)

同一個 c、拖動 z → 同一個數字的不同「手寫風格」。
同一個 z、換 c → 立刻變成別的數字。這就是「可指定類別 + 保有變化」。

解碼輸出 · Decoder(z, c)c = 0

拖 z 改風格 · 按按鈕改類別

條件潛在空間(依 c 分群)

目前 (z, c)每色 = 一個類別 c 的群集