iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
AI/ ML & Data

AI 到底是怎麼換臉的?系列 第 5

2024 Day 5:生成式模型介紹—自編碼器與變分自編碼器

  • 分享至 

  • xImage
  •  

在前面的學習中,我們了解了神經網絡的基本結構和卷積神經網絡(CNN)的應用。今天,我們將探討深度學習中的另一個重要領域——生成式模型(Generative Models)。生成式模型可以學習數據的分佈,並能夠生成與原始數據相似的新數據。在AI換臉技術中,生成式模型扮演了關鍵角色,特別是自編碼器(Autoencoder)和變分自編碼器(Variational Autoencoder, VAE)。


今日學習目標

  • 理解自編碼器的原理和結構
  • 掌握變分自編碼器的概念和應用
  • 了解生成式模型在圖像生成和換臉技術中的作用
  • 能夠區分自編碼器和變分自編碼器的異同

生成式模型概述

什麼是生成式模型?

生成式模型旨在學習數據的概率分佈𝑝(𝑥),使得模型可以生成新的、與訓練數據相似的數據點。與之相對的是判別式模型(Discriminative Models),後者關注於學習輸入數據與標籤之間的關係𝑝(𝑦∣𝑥)。

生成式模型的應用

  • 圖像生成:生成逼真的圖像,如人臉、風景等。
  • 數據增強:擴充訓練數據集,改善模型的泛化能力。
  • 數據缺失補全:填補圖像或數據中的缺失部分。
  • 異常檢測:通過學習正常數據的分佈,識別異常數據。

自編碼器(Autoencoder)

自編碼器的概念

自編碼器是一種無監督學習模型,旨在學習數據的高效表示(編碼)。它由兩部分組成:
編碼器(Encoder):將輸入數據 𝑥映射到隱含表示𝑧。
解碼器(Decoder):將隱含表示𝑧重建為輸出https://ithelp.ithome.com.tw/upload/images/20240919/201695083o5ZXceyP3.png

自編碼器的結構

輸入層:接收原始數據𝑥。
隱藏層(瓶頸層):隱含表示𝑧,通常維度低於輸入維度,起到降維的作用。
輸出層:重建輸出https://ithelp.ithome.com.tw/upload/images/20240919/20169508ClK0gprCjd.png ,希望與輸入𝑥盡可能相似。
https://ithelp.ithome.com.tw/upload/images/20240919/2016950897h9TKDUnw.png
圖1 自編碼器的編碼器和解碼器對稱結構。

自編碼器的目標函數

自編碼器的訓練目標是最小化輸入𝑥和重建輸出
https://ithelp.ithome.com.tw/upload/images/20240919/20169508NrI9crZpcQ.png 之間的差異。常用的損失函數為均方誤差(MSE):
https://ithelp.ithome.com.tw/upload/images/20240919/20169508iWeLIaDjTu.png

  • 𝐸(𝑥):編碼器函數,輸出𝑧
  • 𝐷(𝑧):解碼器函數,輸出https://ithelp.ithome.com.tw/upload/images/20240919/20169508Q2oKyVxSN7.png

自編碼器的用途

  • 數據降維:將高維數據映射到低維隱含空間,類似於PCA。
  • 特徵學習:自動學習數據的有用特徵。
  • 數據壓縮:將數據壓縮到較小的表示,方便存儲和傳輸。
  • 數據重建:去噪自編碼器可以用於去除數據中的噪聲。

變分自編碼器(Variational Autoencoder, VAE)

VAE的動機

傳統自編碼器只能學習一種映射關係,缺乏對數據生成過程的建模。VAE引入了概率模型的思想,能夠顯式地學習數據的分佈,從而更有效地生成新數據。

VAE的原理

VAE假設數據的生成過程是通過一個潛在變量𝑧產生的,並引入了編碼器和解碼器的概率模型:

編碼器(推斷模型):𝑞𝜙(𝑧∣𝑥),近似後驗分佈。
解碼器(生成模型):𝑝𝜃(𝑥∣𝑧),生成數據的概率分佈。

VAE的目標函數

VAE的損失函數是基於證據下界(ELBO),旨在最大化數據的邊緣似然:
https://ithelp.ithome.com.tw/upload/images/20240919/201695082dE6U2Nvrt.png

  • KL:Kullback-Leibler 散度,衡量兩個分佈之間的差異。
  • 𝑝𝜃(𝑧):先驗分佈,通常假設為標準正態分佈 𝑁(0,𝐼)。

重參數化技巧

為了能夠通過梯度下降優化,VAE使用了重參數化技巧,將隨機變量𝑧的採樣過程轉換為可導的操作:
https://ithelp.ithome.com.tw/upload/images/20240919/20169508UjApK9lRgC.png

  • 𝜇𝜙(𝑥)和𝜎𝜙(𝑥):編碼器輸出的均值和標準差。
  • ϵ:標準正態分佈的隨機噪聲。
    https://ithelp.ithome.com.tw/upload/images/20240919/20169508igDkcgjULw.png
    圖2 VAE的編碼器和解碼器結構,包含隨機性。

VAE的優點

  • 可生成性: 能夠從學習到的潛在空間中採樣,生成新的數據。
  • 連續的潛在空間: 潛在變量的空間是連續的,有意義的相似性。
  • 概率解釋: 提供了對數據生成過程的概率建模。

自編碼器與變分自編碼器的比較

特性 自編碼器(AE) 變分自編碼器(VAE)
編碼器輸出 固定向量𝑧 均值和標準差𝜇,𝜎
解碼器輸入 固定向量𝑧 隨機採樣的𝑧
生成能力 有限(不擅長生成新數據) 強(可生成新數據)
損失函數 重建誤差(如MSE) 重建誤差 + KL散度
潛在空間 不一定連續 連續且有結構

生成式模型在換臉技術中的應用

臉部特徵學習

  • 自編碼器: 可以學習人臉的低維特徵表示,捕捉關鍵信息。
  • VAE: 能夠生成逼真的人臉圖像,並在潛在空間中進行操作,如變形、融合。

臉部生成與重建

  • 數據增強: 生成更多的人臉數據,改善模型的泛化能力。
  • 缺失補全: 填補人臉圖像中的遮擋或缺失部分。

與其他模型的結合

  • 與GAN結合: 結合生成對抗網絡(GAN)的優勢,生成更加逼真的圖像。
  • 條件生成: 在給定條件(如表情、角度)下生成對應的人臉。

進階閱讀:生成對抗網絡(GAN)

雖然今天的重點是自編碼器和VAE,但在我們第一天有提過,生成對抗網絡(GAN) 也是非常重要的一種模型。GAN通過生成器和判別器的對抗訓練,能夠生成極為逼真的圖像。在後續的學習中,我們將深入探討GAN及其在換臉技術中的應用。


本日總結

今天我們學習了生成式模型的基本概念,深入了解了自編碼器和變分自編碼器的原理、結構和應用。自編碼器通過學習數據的高效表示,實現了數據的降維和重建;而VAE進一步引入了概率模型,能夠生成新的數據樣本,為換臉技術提供了強大的工具。在未來的課程中,我們將繼續探討其他生成式模型,如GAN,並學習如何將這些模型應用於實際的換臉項目中。
那我們明天再見了~掰掰~~


推薦資源


參考資料


上一篇
2024 Day 4:卷積神經網絡(CNN)
下一篇
2024 Day 8:生成對抗網絡(GAN)
系列文
AI 到底是怎麼換臉的?31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言