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