
生成式 AI - AutoEncoder 與 VAE
除了 GAN 的對抗,還能怎麼生成?本文將介紹 AutoEncoder 的壓縮原理與 VAE 的機率生成魔法,探索如何透過潛在空間實現平滑的影像變形。
WRITTEN BY

- Name
- Harry Chang
1. 前言:除了對抗,還能怎麼生成?
昨天我們介紹了 GAN (生成對抗網路),它透過「偽鈔犯 vs 警察」的激烈對抗來生成圖片。雖然 GAN 生成的圖片很逼真,但訓練很不穩定。
今天我們要介紹另一種生成模型家族:AutoEncoder (自編碼器) 與 VAE (變分自編碼器)。它們的哲學完全不同:不是「對抗」,而是「壓縮與還原」。
1.1 發展演進史
VAE 的發展奠定了「機率生成模型」的基礎,更是後來 Diffusion Model 的重要前身。
| 年份 | 模型 | 重要性 |
|---|---|---|
| 2006 | AutoEncoder (AE) | 降維始祖。證明神經網路可以做非線性降維 (比 PCA 強)。 |
| 2013 | VAE | 生成起點。引入「機率分佈」,讓 AE 具備了生成能力。 |
| 2015 | VQ-VAE | 畫質提升。將特徵離散化,大幅提升了生成畫質。 |
| 2021 | Stable Diffusion | 集大成者。其核心就是一個超強的 VAE (Latent Diffusion)。 |
2. AutoEncoder (AE):壓縮與還原
AutoEncoder 的概念非常直觀:如果你能把一張複雜的圖片,壓縮成短短幾個數字 (編碼),然後再完美地還原回來 (解碼),那就代表你真正「理解」了這張圖片的精隨。
2.1 架構圖
2.2 運作原理
- Encoder (編碼器):把圖片 壓縮成低維度的向量 (Latent Vector)。
- Bottleneck (瓶頸層):強迫模型只保留最重要的資訊。
- Decoder (解碼器):嘗試從 還原回原始圖片 。
- Loss Function:比較 和 的相似度 (Reconstruction Loss)。
3. VAE (Variational AutoEncoder):讓生成更平滑
普通的 AutoEncoder 雖然能還原圖片,但它不能用來生成新圖片。因為它的 空間是不連續的。如果你隨便給一個雜訊 ,Decoder 可能會還原出亂碼。
VAE (變分自編碼器) 解決了這個問題。它不直接預測 ,而是預測 的機率分佈 (常態分佈)。
3.1 VAE 的關鍵差異:從「點」到「範圍」
- AE (普通編碼器):Encoder 說「這張圖的特徵是座標 (3, 5)」。
- VAE (變分編碼器):Encoder 說「這張圖的特徵大概在 (3, 5) 附近,誤差範圍是 1」。
這樣做的好處是,Latent Space (潛在空間) 變得連續了。你可以從 (3, 5) 走到 (4, 6),中間生成的圖片會慢慢從「數字 1」平滑過渡到「數字 7」,而不會突然跳變或產生亂碼。
4. 實戰:用 VAE 生成手寫數字
我們透過 MNIST 實驗,觀察 VAE 的「還原」與「生成」能力。

從實測圖中,我們可以清楚看到 VAE 的兩大特點:
Part 1:還原能力 (Reconstruction) —— VAE 的記憶力
- 現象:上排是原圖 (Sharp),下排是還原圖 (Blurry)。
- 解析:還原後的圖片變得糊糊的,這是因為 VAE 在壓縮過程中捨棄了細節,只保留了核心特徵。這就像畫家憑記憶臨摹,雖然數字正確,但邊緣不再銳利。
Part 2:潛在空間變形 (Morphing) —— VAE 的想像力
- 現象:圖片從 「1」 慢慢過渡到 「7」,中間產生了平滑的筆畫生長。
- 解析:這證明了 VAE 學習到的是一個連續的數學空間。在「1」與「7」的座標之間,每一點都能解碼出一張「看起來合理」的中間狀態圖片。這在電影特效(如人變狼人)或是產品設計微調中非常強大。
5. GAN vs VAE 比較
| 特性 | GAN (生成對抗網路) | VAE (變分自編碼器) |
|---|---|---|
| 畫質 | 極高 (Sharp)。細節豐富。 | 模糊 (Blurry)。算平均誤差。 |
| 訓練難度 | 難 (Unstable)。容易崩潰。 | 易 (Stable)。Loss 穩定下降。 |
| 生成多樣性 | 容易發生 Mode Collapse。 | 多樣性好,覆蓋完整分佈。 |
| 潛在空間 | 不一定連續。 | 連續且平滑 (適合做變形特效)。 |
6. 總結
VAE 雖然在畫質上輸給了 GAN,但它穩定的訓練過程與優美的數學特性,讓它成為了生成式 AI 不可或缺的基石。
下一關我們將挑戰 Diffusion Model (擴測模型) 的核心原理:如何透過「加噪」與「去噪」來生成高品質圖片!