1
本文作者: 楊文 | 2017-12-14 10:58 |
雷鋒網(wǎng)AI研習(xí)社按:生成式對(duì)抗網(wǎng)絡(luò)(GAN)是近兩年機(jī)器學(xué)習(xí)領(lǐng)域的新秀,被Yann LeCun稱為"過去十年機(jī)器學(xué)習(xí)界最有趣的idea",目前已經(jīng)得到廣泛研究者的關(guān)注并且以高頻論文數(shù)出現(xiàn)在各大頂會(huì)上。GAN目前已有一百多種變體,在圖像、視頻、文字、語(yǔ)音等很多實(shí)際場(chǎng)景中均得到應(yīng)用,是一種潛力巨大的理論模型。本文主要對(duì)闡述了GAN的基本原理,以及GAN的優(yōu)缺點(diǎn)分析和GAN網(wǎng)絡(luò)研究發(fā)展現(xiàn)狀。文章內(nèi)容根據(jù)AI研習(xí)社線上公開課整理而成。
在近期雷鋒網(wǎng)AI研習(xí)社舉辦的線上直播分享課上,來(lái)自華中科技大學(xué)的陳俊為大家詳細(xì)解讀了GAN的基本原理,并且分享了幾篇GAN在圖像風(fēng)格轉(zhuǎn)換領(lǐng)域應(yīng)用的文章。
陳俊,華中科技大學(xué)自動(dòng)化學(xué)院碩士研究生,模式識(shí)別專業(yè),研究興趣包括:計(jì)算機(jī)視覺(視頻理解、行為識(shí)別、目標(biāo)檢測(cè)與分類等)、深度學(xué)習(xí)、機(jī)器學(xué)習(xí)等。
分享主題:深度學(xué)習(xí)之星-GAN的原理
分享內(nèi)容分為以下五部分:
GAN究竟在做什么?
GAN如何做的?
GAN是如何訓(xùn)練的?
GAN的小實(shí)驗(yàn)
GAN性質(zhì)小結(jié)
大家好!首先為大家介紹一些GAN變體的最新應(yīng)用,比如GAN可以被用來(lái)學(xué)生生成各種各樣的字體,可模范名人字體進(jìn)行個(gè)性簽名;還可以對(duì)圖片進(jìn)行修正,比如把春天的山變成白雪覆蓋的山,還有馬變斑馬,視頻自動(dòng)生成,高分辨率圖片生成等等。
GAN究竟在做什么?
在低維數(shù)據(jù)中,GAN是用來(lái)學(xué)習(xí)數(shù)據(jù)服從什么樣的分布。在高維數(shù)據(jù)中,GAN可以學(xué)習(xí)復(fù)雜的數(shù)據(jù)模型,可以代表數(shù)據(jù)分布的樣子。一句話總結(jié):它是在學(xué)習(xí)樣本集的數(shù)據(jù)分布。
學(xué)習(xí)數(shù)據(jù)分布有什么用?
學(xué)習(xí)數(shù)據(jù)分布可以學(xué)習(xí)到高緯抽象的分布函數(shù),模擬預(yù)測(cè)未來(lái)數(shù)據(jù)是什么樣子??梢蕴幚砣笔?shù)據(jù)問題:如半監(jiān)督學(xué)習(xí);可以生成真實(shí)樣本,還有可以建立模型,通過學(xué)到的模型分析數(shù)據(jù)的特征,比如數(shù)據(jù)均值,方差,再就是還原數(shù)據(jù)。
怎么生成真實(shí)樣本?
生成模型的一些常見方法:
基于上面的方法有兩種形式分為顯示估計(jì)和隱式估計(jì)。生成模型常見方法的比較:
顯示:或多或少的需要知道或者假設(shè)模型的分布;大多通過Markov chains方法;
隱式:使用隱藏編碼,無(wú)需假設(shè)模型,無(wú)需Markov chains,以最終生成圖像的相似性作為目標(biāo);
GAN如何做的?
它的基本思想:?jiǎn)l(fā)自博弈論中的二人零和博弈。博弈雙方分別是一個(gè)生成模型和一個(gè)判別模型,這里的模型可理解為分類器或網(wǎng)絡(luò)結(jié)構(gòu)。
分類模型,一般來(lái)說是一個(gè)二分類模型,用來(lái)判斷樣本是真是假;(分類器輸入為樣本,輸出概率大于0.5為真,否則為假)
生成模型:是一個(gè)樣本生成器,把一個(gè)噪聲包裝成另一個(gè)逼真的樣本,使得判別器誤認(rèn)為是真樣本。(輸入為噪聲,輸出為樣本維持相同的噪聲(假樣本))
用一張圖來(lái)解釋:
有一個(gè)真實(shí)樣本集和一個(gè)制造的假樣本集,目的是使得判別器無(wú)法判斷,無(wú)論對(duì)于真假樣本,輸出結(jié)果概率都是0.5。
GAN是如何訓(xùn)練的?
我們有且僅有真實(shí)訓(xùn)練樣本集,無(wú)標(biāo)注。假樣本集:隨機(jī)制造而來(lái),沒有標(biāo)注。
討論它是無(wú)監(jiān)督訓(xùn)練還是有監(jiān)督訓(xùn)練要看是從哪個(gè)角度來(lái)看。
如果從輸入的樣本集來(lái)看,它是無(wú)監(jiān)督的。因?yàn)闆]有標(biāo)記。但是無(wú)監(jiān)督?jīng)]有辦法訓(xùn)練,必須造出一種判別機(jī)制,一種監(jiān)督信號(hào),從這種角度來(lái)看,它是有監(jiān)督的,因?yàn)樗斜O(jiān)督信號(hào) 。把樣本的真和假當(dāng)做監(jiān)督信號(hào),這個(gè)監(jiān)督信號(hào)需要我們自己來(lái)造。
從生成假樣本的角度來(lái)講,我們希望生成器越來(lái)越好,生成的假樣本越逼真越好。
訓(xùn)練前提是,有兩個(gè)網(wǎng)絡(luò),分別單獨(dú)交替訓(xùn)練。需要注意的是,在生成器里面生成的是假樣本數(shù)據(jù)集,但是在訓(xùn)練的時(shí)候需要把它當(dāng)成真樣本數(shù)據(jù)集來(lái)訓(xùn)練。這樣才能迷惑判別器。
訓(xùn)練過程精髓之處:假樣本在訓(xùn)練過程中的真假變換,這也是博弈得以進(jìn)行的關(guān)鍵之處。
用數(shù)學(xué)公式是如何表示出來(lái)的?
GAN小實(shí)驗(yàn)
具體實(shí)驗(yàn)過程觀看文末視頻
GAN性質(zhì)小結(jié):
GAN可以自動(dòng)學(xué)習(xí)原始真實(shí)樣本集的數(shù)據(jù)分布,無(wú)需假設(shè)額外的分布模型;
自動(dòng)學(xué)習(xí)潛在的損失函數(shù),判別網(wǎng)絡(luò)潛在學(xué)習(xí)到的損失函數(shù)隱藏在網(wǎng)絡(luò)之中;
提供無(wú)監(jiān)督的學(xué)習(xí)方法,無(wú)監(jiān)督學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域的終極目標(biāo);
存在的問題:
不收斂的問題:網(wǎng)絡(luò)不穩(wěn)定,難以訓(xùn)練;
網(wǎng)絡(luò)需要調(diào)才能得到較好的結(jié)果,比如交替迭代次數(shù),對(duì)結(jié)果的影響就很大。
GANs論文列表:https://deephunt.in/the-gan-zoo-79597dc8c347
雷鋒網(wǎng)AI研習(xí)社整理
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。