李宏毅機器學習2016 第十六講 生成對抗網路 GAN
視頻鏈接:李宏毅機器學習(2016)_演講?公開課_科技_bilibili_嗶哩嗶哩
課程資源:Hung-yi Lee
課程相關PPT已經打包命名好了:鏈接:https://pan.baidu.com/s/1c3Jyh6S 密碼:77u5
我的第十五講筆記:李宏毅機器學習2016 第十五講 無監督學習 生成模型之 VAE
Generative Adversarial Network
本章主要講述了生成對抗網路的原理及作用。
生成對抗網路由Goodfellow在2014年提出。GAN由生成器和判別器組成。生成器的功能是輸入一個樣本將其輸出成一個逼真的樣子,判別器來判斷輸入的樣本是真的還是偽造的。
判別網路的目的:就是能判別出來屬於的一張圖它是來自真實樣本集還是假樣本集。例如輸入的是真樣本,網路輸出就接近1,輸出的是假樣本,網路輸出接近0。
判別器
生成網路的目的:生成網路是造樣本,它的目的就是使得自己造樣本的能力儘可能強,強到什麼程度呢,判別網路沒法判斷我是真樣本還是假樣本。
生成器
GAN的優化是一個極小極大博弈問題,最終的目的是生成器(generator)的輸出給判別器(discriminator)時很難判斷是真實的還是偽造的。
GAN強大之處在於可以自動的學習原始真實樣本集的數據分布
傳統機器學習方法,會定義一個什麼模型讓數據去學習,假設我們知道原始數據屬於高斯分布,只是不知道高斯分布的參數,這個時候我們會定義高斯分布,然後利用數據去學習高斯分布的參數得到最終的模型。 然而從隨機雜訊到人臉應該服從什麼分布,我們不知道,然而GAN機制可以學習到,也就是說GAN學習到了真實樣本集的數據分布。
GAN強大之處在於可以自動的定義潛在損失函數
判別網路可以自動學習到一個好的判別方法,其實就是等效的理解為可以學習到好的損失函數,來比較好或者不好的判別出來結果。雖然大的loss函數還是人為定義的,基本上對於多數GAN也都這麼定義就可以來,但是判別網路潛在學習到的損失函數隱藏在網路之中,不同的問題這個函數就不一樣,所以說可以自動學習這個潛在的損失函數。
GAN在實踐上的問題。
推薦閱讀: