李宏毅機器學習2016 第十六講 生成對抗網路 GAN

視頻鏈接:李宏毅機器學習(2016)_演講?公開課_科技_bilibili_嗶哩嗶哩

課程資源:Hung-yi Lee

課程相關PPT已經打包命名好了:鏈接:pan.baidu.com/s/1c3Jyh6 密碼:77u5

我的第十五講筆記:李宏毅機器學習2016 第十五講 無監督學習 生成模型之 VAE

Generative Adversarial Network

本章主要講述了生成對抗網路的原理及作用。

生成對抗網路由Goodfellow在2014年提出。GAN由生成器和判別器組成。生成器的功能是輸入一個樣本將其輸出成一個逼真的樣子,判別器來判斷輸入的樣本是真的還是偽造的。

判別網路的目的:就是能判別出來屬於的一張圖它是來自真實樣本集還是假樣本集。例如輸入的是真樣本,網路輸出就接近1,輸出的是假樣本,網路輸出接近0。

判別器

生成網路的目的:生成網路是造樣本,它的目的就是使得自己造樣本的能力儘可能強,強到什麼程度呢,判別網路沒法判斷我是真樣本還是假樣本。

生成器

GAN的優化是一個極小極大博弈問題,最終的目的是生成器(generator)的輸出給判別器(discriminator)時很難判斷是真實的還是偽造的。

GAN強大之處在於可以自動的學習原始真實樣本集的數據分布

傳統機器學習方法,會定義一個什麼模型讓數據去學習,假設我們知道原始數據屬於高斯分布,只是不知道高斯分布的參數,這個時候我們會定義高斯分布,然後利用數據去學習高斯分布的參數得到最終的模型。 然而從隨機雜訊到人臉應該服從什麼分布,我們不知道,然而GAN機制可以學習到,也就是說GAN學習到了真實樣本集的數據分布。

GAN強大之處在於可以自動的定義潛在損失函數

判別網路可以自動學習到一個好的判別方法,其實就是等效的理解為可以學習到好的損失函數,來比較好或者不好的判別出來結果。雖然大的loss函數還是人為定義的,基本上對於多數GAN也都這麼定義就可以來,但是判別網路潛在學習到的損失函數隱藏在網路之中,不同的問題這個函數就不一樣,所以說可以自動學習這個潛在的損失函數。

GAN在實踐上的問題。

推薦閱讀:

K-means聚類演算法中K值如何選擇?

TAG:机器学习 | 生成对抗网络GAN |