iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
自我挑戰組

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

[DAY22]Autoencoder和GAN的差異與聯繫

  • 分享至 

  • xImage
  •  

前言

昨天分享了GAN的介紹以及原理後,今天我們就來看看Autoencoder與GAN之間的差異性吧!

那我們廢話不多說,正文開始!

正文

Autoencoder(自編碼器)和生成對抗網路(GAN)是兩種不同的深度學習模型,但它們都與生成數據有關,並且在某些情況下可以彼此合作。以下是它們之間的一些區別:

  1. 生成能力

    • GAN:GAN的主要目標是生成與真實數據相似的合成數據,它包括一個生成器,該網路生成假數據,以及一個判別器試圖區分真實數據和假數據。

      https://ithelp.ithome.com.tw/upload/images/20231001/20161913oYrMSO4XbO.png

    • Autoencoder:Autoencoder的目標是將輸入數據壓縮成低維度的表示,然後重建原始數據。它包括一個編碼器和一個解碼器,其中編碼器將數據編碼成低維度表示,解碼器則重建原始數據。

      https://ithelp.ithome.com.tw/upload/images/20231001/20161913vAGEUacBYE.png

    圖源:維基百科github

  2. 訓練方式

    • GAN:GAN通過生成器和判別器之間的對抗訓練來學習,它們在訓練過程中相互競爭,生成器努力生成逼真的數據,判別器努力區分真實和假數據。
    • Autoencoder:Autoencoder通常使用均方誤差(MSE)或其他重構損失來訓練,其目標是最小化重建輸入與原始輸入之間的誤差。
  3. 應用領域

    • GAN:主要用於生成合成數據,如圖像、文本或音檔,以及圖像風格轉換等應用。
    • Autoencoder:主要用於數據維度降低、特徵提取、去噪、異常檢測等應用。
  4. 潛在空間

    • GAN:GAN不一定有一個明確的潛在空間,生成器的輸入通常是隨機噪聲或其他數據。
    • Autoencoder:Autoencoder通常具有一個潛在空間,其中數據被映射成低維度表示。

儘管Autoencoder和GAN有不同的目標和訓練方式,但也可以結合在一起,例如:

  1. VAE-GAN:將數據轉為低維度的表示,再用decoder轉回原本的樣式,前面包起來作為一個生成器,然後在用判別器去做比對

https://ithelp.ithome.com.tw/upload/images/20231001/20161913RoqlRh9EKP.png

圖源:github

總結

今天分享了GAN與AE之間的差別與聯繫,明天將會稍微介紹一下GAN的數學原理,那我們明天見!

參考連結:github維基百科github


上一篇
[DAY21]生成對抗網路(GAN)簡介
下一篇
[DAY23]GAN的數學基礎
系列文
Autoencoder與GAN:生成與重建的完美結合30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言