iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
自我挑戰組

Autoencoder與GAN:生成與重建的完美結合系列 第 18

[DAY18] Variational Autoencoder(VAE)的理論

  • 分享至 

  • xImage
  •  

前言

前兩天跟各位介紹了DAE以及實作,而今天我們來分享最後一個Autoencoder的變體—Variational Autoencoder,那我們廢話不多說,正文開始!

正文

什麼是VAE?

變分自編碼器 (Variational Autoencoder,VAE)是Autoencoder的一個變體,它結合了自編碼器(Autoencoder)和變分推斷(Variational Inference)的概念,用於學習和生成複雜的圖形,特別是在無監督學習和生成模型的任務中。

VAE的構造

雖然與Autoencoder的模型有關,但是在目標和數學計算有很大的差別,VAE屬於概率生成模型(Probabilistic Generative Model),具有編碼器跟解碼器。編碼器可將輸入變量映射到與變分分布的參數相對應的潛在空間(Latent Space),這樣便可以產生多個遵循同一分布的不同樣本。而解碼器的功能基本相反,是從潛在空間映射回輸入空間,以生成數據點。它們通常都是用重參數化技巧(Reparameterization Trick)來訓練的。

以下是VAE的構造:圖源

https://ithelp.ithome.com.tw/upload/images/20230927/201619138BJLCRCafz.png

VAE的損失函數

VAE的訓練目標是最大化生成數據的相似性,同時最小化後驗機率和先驗機率之間的差異。將目標轉化為一個特定的損失函數,包括兩部分:

  1. 重建損失(Reconstruction Loss):用來衡量解碼器生成的數據與原始數據之間的差異,通常使用均方誤差或二元交叉熵等損失函數。
  2. 正則化損失(Regularization Loss):通過KL散度來衡量潛在變數的後驗機率和先驗機率之間的差異,以實現正則化。

VAE與傳統AE的差異

VAE和傳統AE的主要不同之處在於建模方式。在Autoencoder中,潛在向量通常是固定的、無結構的數值,而在VAE中則是一個概率分佈,使VAE能夠生成多樣性的結果。

https://ithelp.ithome.com.tw/upload/images/20230927/20161913L7QOn6UczY.png

詳細的數學推導可參考李宏毅老師的影片:YT

總結

以上就是小弟我今天分享有關於VAE的簡單小知識,明天將會進一步使用VAE進行實作,那我們明天見!


上一篇
[DAY17]一起來實作Denoising Autoencoder吧!
下一篇
[DAY19]一起來實作Variational Autoencoder(VAE)吧!
系列文
Autoencoder與GAN:生成與重建的完美結合30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言