中文名稱:變分自編碼器
英文名稱:Variational Autoencoder (VAE)
📌 定義(Definition)
變分自編碼器(VAE)是一種生成式模型,屬於深度學習中的機率模型。它的核心目標不是單純「重建資料」,而是學習資料背後的機率分佈,並能從中生成新的資料樣本。
與一般自編碼器(Autoencoder, AE)相比,VAE 將「編碼」這件事從確定值(deterministic)轉為隨機變數的分佈學習。
⭐原理與技術
一般自編碼器的流程是兩個神經網路:
- Encoder編碼器:把輸入x 壓縮成一個固定的潛在向量 z
- Decoder解碼器:再由 z重建出 x
這種做法雖然能壓縮與重建資料,但無法保證潛在空間是連續、可取樣、可生成的。

VAE 則做了兩個本質上的改變:
- Encoder 不輸出一個「點」,而是輸出一個機率分佈
- 學習「分佈」而不是「值」
- 對每個輸入的 x,輸出兩個向量:平均數、標準差
- x 對應到一個高斯分佈 q(z∣x)
- 潛在空間被明確約束為接近某個先驗分佈(通常是標準常態分佈)
VAE 的損失函數:為什麼「變分」
VAE 的訓練目標來自變分推論(Variational Inference),其損失函數由兩部分組成:
- 重建誤差(Reconstruction Loss) 衡量輸入資料 𝑥 與重建結果 𝑥^hat 的差距
- KL 散度(Kullback–Leibler Divergence)
- 用來約束 Encoder 學到的潛在分佈不要偏離先驗分佈
- 直觀理解是:不要為每個輸入資料創造一個彼此毫無關聯、破碎的潛在空間。
VAE 的直觀比喻
可以把 VAE 想成:
- Encoder:學會「描述資料的可能性區域」
- 潛在空間:一張平滑、連續的地圖
- Decoder:從地圖上的任何一點,都能合理地生成資料
- VAE是屬於probabilistic的(概率的) ; AE是屬於deterministic的(確定的)
而不是像 AE 那樣,只會記住「已看過的座標點」。
VAE 的優點與限制
優點
- 具備明確的機率意義
- 潛在空間連續、可插值
- 適合生成、資料補強、異常偵測
限制
- 生成結果通常偏「模糊」(尤其在影像)
- 訓練目標較複雜,需平衡重建與 KL 散度
- 表現力在高解析影像上不如 GAN
🔗 應用領域
- 生成式模型:圖像、語音、文本等數據的生成與增強。
- 特徵提取與降維:無監督學習下的嵌入空間學習。
- 異常檢測:利用重構誤差偵測異常樣本。
- 強化學習與決策:隱變量建模狀態空間。
- 生物資訊學與醫療影像處理。
3 題模擬練習題
- 以下關於變分自編碼器(VAE)的描述,何者正確?
A. VAE直接將輸入數據映射為固定的潛在向量。
B. VAE透過最大化ELBO,平衡重構誤差與潛在空間分布的KL散度。
C. VAE不具備生成新樣本的能力,只能重構輸入。
D. VAE的編碼器是用來生成輸出數據。
詳解:
正確答案為B。VAE 的訓練目標是最大化 ELBO,其中包括重構誤差與潛在分布的KL散度,使得模型既能重構資料也可將潛在分布限制在先驗分布附近。A錯誤,因為VAE採用概率分布而非固定向量。C錯誤,VAE能生成新數據。D錯誤,編碼器是將數據映射到潛在空間的參數。
- 在變分自編碼器中,KL散度的主要作用是?
A. 減少輸入數據大小。
B. 確保潛在變量分布接近預設先驗分布。
C. 提高重構誤差。
D. 直接生成隱變量的樣本。
詳解:
正確答案為B。KL散度是度量兩個分布差異的函數,VAE利用它使隱變量的後驗分布靠近先驗分布,增強模型的泛化能力。A、C與D不符合KL散度用途。
- 下列哪項是變分自編碼器在應用上的顯著優點?
A. 無需訓練即可生成高質量新樣本。
B. 可有效地學習複雜數據的連續潛在表示。
C. 只能用於標籤資料的監督學習。
D. 具有直接求解後驗分布的明確公式。
詳解:
正確答案為B。VAE能將複雜數據映射到低維連續潛在空間,方便生成和解釋。A錯誤,VAE需要訓練。C錯誤,VAE屬於無監督學習方法。D錯誤,VAE採變分近似避免直接求解後驗分布。