摘要:很多人可能會(huì)問(wèn)這個(gè)故事和生成式對(duì)抗網(wǎng)絡(luò)有什么關(guān)系其實(shí),只要你能理解這段故事,就可以了解生成式對(duì)抗網(wǎng)絡(luò)的工作原理。
男:哎,你看我給你拍的好不好?
女:這是什么鬼,你不能學(xué)學(xué)XXX的構(gòu)圖嗎?
男:哦
……
男:這次你看我拍的行不行?
女:你看看你的后期,再看看YYY的后期吧,呵呵
男:哦
……
男:這次好點(diǎn)了吧?
女:呵呵,我看你這輩子是學(xué)不會(huì)攝影了
……
男:這次呢?
女:嗯,我拿去當(dāng)頭像了
上面這段對(duì)話講述了一位“男朋友攝影師”的成長(zhǎng)歷程。很多人可能會(huì)問(wèn):這個(gè)故事和生成式對(duì)抗網(wǎng)絡(luò)(GAN)有什么關(guān)系?其實(shí),只要你能理解這段故事,就可以了解生成式對(duì)抗網(wǎng)絡(luò)的工作原理。
首先,先介紹一下生成模型(generative model),它在機(jī)器學(xué)習(xí)的歷史上一直占有舉足輕重的地位。當(dāng)我們擁有大量的數(shù)據(jù),例如圖像、語(yǔ)音、文本等,如果生成模型可以幫助我們模擬這些高維數(shù)據(jù)的分布,那么對(duì)很多應(yīng)用將大有裨益。
針對(duì)數(shù)據(jù)量缺乏的場(chǎng)景,生成模型則可以幫助生成數(shù)據(jù),提高數(shù)據(jù)數(shù)量,從而利用半監(jiān)督學(xué)習(xí)提升學(xué)習(xí)效率。語(yǔ)言模型(language model)是生成模型被廣泛使用的例子之一,通過(guò)合理建模,語(yǔ)言模型不僅可以幫助生成語(yǔ)言通順的句子,還在機(jī)器翻譯、聊天對(duì)話等研究領(lǐng)域有著廣泛的輔助應(yīng)用。
那么,如果有數(shù)據(jù)集S={x1,…xn},如何建立一個(gè)關(guān)于這個(gè)類型數(shù)據(jù)的生成模型呢?最簡(jiǎn)單的方法就是:假設(shè)這些數(shù)據(jù)的分布P{X}服從g(x;θ),在觀測(cè)數(shù)據(jù)上通過(guò)較大化似然函數(shù)得到θ的值,即較大似然法:
GAN的工作原理是這樣的
文章開(kāi)頭描述的場(chǎng)景中有兩個(gè)參與者,一個(gè)是攝影師(男生),一個(gè)是攝影師的女朋友(女生)。男生一直試圖拍出像眾多優(yōu)秀攝影師一樣的好照片,而女生一直以挑剔的眼光找出“自己男朋友”拍的照片和“別人家的男朋友”拍的照片的區(qū)別。于是兩者的交流過(guò)程類似于:男生拍一些照片 ->女生分辨男生拍的照片和自己喜歡的照片的區(qū)別->男生根據(jù)反饋改進(jìn)自己的技術(shù),拍新的照片->女生根據(jù)新的照片繼續(xù)提出改進(jìn)意見(jiàn)->……,這個(gè)過(guò)程直到均衡出現(xiàn):即女生不能再分辨出“自己男朋友”拍的照片和“別人家的男朋友”拍的照片的區(qū)別。
我們將視線回看到生成模型,以圖像生成模型舉例。假設(shè)我們有一個(gè)圖片生成模型(generator),它的目標(biāo)是生成一張真實(shí)的圖片。與此同時(shí)我們有一個(gè)圖像判別模型(discriminator),它的目標(biāo)是能夠正確判別一張圖片是生成出來(lái)的還是真實(shí)存在的。那么如果我們把剛才的場(chǎng)景映射成圖片生成模型和判別模型之間的博弈,就變成了如下模式:生成模型生成一些圖片->判別模型學(xué)習(xí)區(qū)分生成的圖片和真實(shí)圖片->生成模型根據(jù)判別模型改進(jìn)自己,生成新的圖片->····
這個(gè)場(chǎng)景直至生成模型與判別模型無(wú)法提高自己——即判別模型無(wú)法判斷一張圖片是生成出來(lái)的還是真實(shí)的而結(jié)束,此時(shí)生成模型就會(huì)成為一個(gè)完美的模型。這種相互學(xué)習(xí)的過(guò)程聽(tīng)起來(lái)是不是很有趣?
上述這種博弈式的訓(xùn)練過(guò)程,如果采用神經(jīng)網(wǎng)絡(luò)作為模型類型,則被稱為生成式對(duì)抗網(wǎng)絡(luò)(GAN)。用數(shù)學(xué)語(yǔ)言描述整個(gè)博弈過(guò)程的話,就是:假設(shè)我們的生成模型是g(z),其中z是一個(gè)隨機(jī)噪聲,而g將這個(gè)隨機(jī)噪聲轉(zhuǎn)化為數(shù)據(jù)類型x,仍拿圖片問(wèn)題舉例,這里g的輸出就是一張圖片。D是一個(gè)判別模型,對(duì)任何輸入x,D(x)的輸出是0-1范圍內(nèi)的一個(gè)實(shí)數(shù),用來(lái)判斷這個(gè)圖片是一個(gè)真實(shí)圖片的概率是多大。令Pr和Pg分別代表真實(shí)圖像的分布與生成圖像的分布,我們判別模型的目標(biāo)函數(shù)如下:
類似的生成模型的目標(biāo)是讓判別模型無(wú)法區(qū)分真實(shí)圖片與生成圖片,那么整個(gè)的優(yōu)化目標(biāo)函數(shù)如下:
這個(gè)較大最小化目標(biāo)函數(shù)如何進(jìn)行優(yōu)化呢?最直觀的處理辦法就是分別對(duì)D和g進(jìn)行交互迭代,固定g,優(yōu)化D,一段時(shí)間后,固定D再優(yōu)化g,直到過(guò)程收斂。
?
一個(gè)簡(jiǎn)單的例子如下圖所示:假設(shè)在訓(xùn)練開(kāi)始時(shí),真實(shí)樣本分布、生成樣本分布以及判別模型分別是圖中的黑線、綠線和藍(lán)線??梢钥闯?,在訓(xùn)練開(kāi)始時(shí),判別模型是無(wú)法很好地區(qū)分真實(shí)樣本和生成樣本的。接下來(lái)當(dāng)我們固定生成模型,而優(yōu)化判別模型時(shí),優(yōu)化結(jié)果如第二幅圖所示,可以看出,這個(gè)時(shí)候判別模型已經(jīng)可以較好的區(qū)分生成數(shù)據(jù)和真實(shí)數(shù)據(jù)了。第三步是固定判別模型,改進(jìn)生成模型,試圖讓判別模型無(wú)法區(qū)分生成圖片與真實(shí)圖片,在這個(gè)過(guò)程中,可以看出由模型生成的圖片分布與真實(shí)圖片分布更加接近,這樣的迭代不斷進(jìn)行,直到最終收斂,生成分布和真實(shí)分布重合。
?
以上就是生成式對(duì)抗網(wǎng)絡(luò)的基本核心知識(shí),下面我們看幾個(gè)在實(shí)際中應(yīng)用的例子。
GAN在圖像中的應(yīng)用——DCGAN
為了方便大家更好地理解生成式對(duì)抗網(wǎng)絡(luò)的工作過(guò)程,下面介紹一個(gè)GAN的使用場(chǎng)景——在圖片中的生成模型DCGAN。
在圖像生成過(guò)程中,如何設(shè)計(jì)生成模型和判別模型呢?深度學(xué)習(xí)里,對(duì)圖像分類建模,刻畫圖像不同層次,抽象信息表達(dá)的最有效的模型是:CNN (convolutional neural network,卷積神經(jīng)網(wǎng)絡(luò))。
?
CNN是深度神經(jīng)網(wǎng)絡(luò)的一種,可以通過(guò)卷積層(convolutional layer)提取不同層級(jí)的信息,如上圖所示。CNN模型以圖片作為輸入,以圖片、類別抽象表達(dá)作為輸出,如:紋理、形狀等等,其實(shí)這與人類對(duì)圖像的認(rèn)知有相似之處,即:我們對(duì)一張照片的理解也是多層次逐漸深入的。
那么生成圖像的模型應(yīng)該是什么樣子的呢?想想小時(shí)候上美術(shù)課,我們會(huì)先考慮構(gòu)圖,再勾畫輪廓,然后再畫細(xì)節(jié),最后填充顏色,這事實(shí)上也是一個(gè)多層級(jí)的過(guò)程,就像是把圖像理解的過(guò)程反過(guò)來(lái),于是,人們?yōu)閳D像生成設(shè)計(jì)了一種類似反卷積的結(jié)構(gòu):Deep convolutional NN for GAN(DCGAN)
DCGAN采用一個(gè)隨機(jī)噪聲向量作為輸入,如高斯噪聲。輸入通過(guò)與CNN類似但是相反的結(jié)構(gòu),將輸入放大成二維數(shù)據(jù)。通過(guò)采用這種結(jié)構(gòu)的生成模型和CNN結(jié)構(gòu)的判別模型,DCGAN在圖片生成上可以達(dá)到相當(dāng)可觀的效果。如下是一些生成的案例照片。
GAN在半監(jiān)督學(xué)習(xí)中的應(yīng)用
再來(lái)看一個(gè)GAN在半監(jiān)督學(xué)習(xí)(semi supervised learning)中的例子。假如我們面對(duì)一個(gè)多分類的任務(wù),手里只有很少有標(biāo)注的樣本,同時(shí)有很多沒(méi)有標(biāo)注的樣本,怎么能夠利用GAN的思路合理使用無(wú)標(biāo)簽數(shù)據(jù),提高分類性能呢?
在去年NIPS大會(huì)上,來(lái)自O(shè)penAI的作者提供了如下思路:考慮一個(gè)K分類任務(wù),有一個(gè)判別模型 G可以幫助生成樣本,與此同時(shí),有一個(gè)判別模型做一個(gè)K+1分類任務(wù),其中新加的類是預(yù)測(cè)樣本是否是由生成模型生成的。跟傳統(tǒng)GAN不同,這里我們最終需要的是判別模型,而不是生成模型。
簡(jiǎn)單而言,目標(biāo)函數(shù)針對(duì)不同數(shù)據(jù),可以分為兩部分。對(duì)于有標(biāo)注的樣本,目標(biāo)是希望判別模型能夠正確輸出標(biāo)簽。而對(duì)于沒(méi)有標(biāo)注的生成樣本,則是由GAN定義的loss。
該作者認(rèn)為這樣處理的好處是可以充分利用未標(biāo)注數(shù)據(jù)來(lái)學(xué)習(xí)樣本分布,從而輔助監(jiān)督學(xué)習(xí)的訓(xùn)練過(guò)程。實(shí)驗(yàn)結(jié)果也顯示通過(guò)這種處理方法訓(xùn)練出來(lái)的判別模型,在合理利用未標(biāo)注數(shù)據(jù)方面,有著比其他方法更好的效果。
?
GAN的改進(jìn)——WGAN
剛才談到很多GAN的優(yōu)點(diǎn)、應(yīng)用和變種,那么GAN真的是完美無(wú)缺的嗎?
其實(shí)使用過(guò)GAN的人應(yīng)該知道,訓(xùn)練GAN有很多頭疼的問(wèn)題。例如:GAN的訓(xùn)練對(duì)超參數(shù)特別敏感,需要精心設(shè)計(jì)。GAN中關(guān)于生成模型和判別模型的迭代也很有問(wèn)題,按照通常理解,如果判別模型訓(xùn)練地很好,應(yīng)該對(duì)生成的提高有很大作用,但實(shí)際中恰恰相反,如果將判別模型訓(xùn)練地很充分,生成模型甚至?xí)儾?。那么?wèn)題出在哪里呢?
在ICLR 2017大會(huì)上有一篇口頭報(bào)告論文提出了這個(gè)問(wèn)題產(chǎn)生的機(jī)理和解決辦法。問(wèn)題就出在目標(biāo)函數(shù)的設(shè)計(jì)上。這篇文章的作者證明,GAN的本質(zhì)其實(shí)是優(yōu)化真實(shí)樣本分布和生成樣本分布之間的差異,并最小化這個(gè)差異。特別需要指出的是,優(yōu)化的目標(biāo)函數(shù)是兩個(gè)分布上的Jensen-Shannon距離,但這個(gè)距離有這樣一個(gè)問(wèn)題,如果兩個(gè)分布的樣本空間并不完全重合,這個(gè)距離是無(wú)法定義的。
作者接著證明了“真實(shí)分布與生成分布的樣本空間并不完全重合”是一個(gè)極大概率事件,并證明在一些假設(shè)條件下,可以從理論層面推導(dǎo)出一些實(shí)際中遇到的現(xiàn)象。
既然知道了問(wèn)題的關(guān)鍵所在,那么應(yīng)該如何解決問(wèn)題呢?該文章提出了一種解決方案:使用Wasserstein距離代替Jensen-Shannon距離。并依據(jù)Wasserstein距離設(shè)計(jì)了相應(yīng)的算法,即WGAN。新的算法與原始GAN相比,參數(shù)更加不敏感,訓(xùn)練過(guò)程更加平滑。
?
GAN的未來(lái)
無(wú)論是無(wú)監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí),GAN給我們提供了一個(gè)處理問(wèn)題的嶄新思路,就是把博弈論引入到機(jī)器學(xué)習(xí)過(guò)程中來(lái)??梢灶A(yù)見(jiàn),GAN本身的算法以及看問(wèn)題的角度,必將對(duì)未來(lái)設(shè)計(jì)算法、以及解決實(shí)際問(wèn)題產(chǎn)生深遠(yuǎn)的影響。
那么,GAN當(dāng)前有哪些急需解決的問(wèn)題呢:
首先,針對(duì)圖片生成問(wèn)題而言,一個(gè)至關(guān)重要的問(wèn)題是GAN和其他方法比,到底好多少?GAN框架中的各種衍生算法相互比較,誰(shuí)好誰(shuí)壞?很可惜的是,現(xiàn)在沒(méi)有一個(gè)客觀的公認(rèn)標(biāo)準(zhǔn)去衡量不同圖片生成算法的差異性。其實(shí)這本身就是一個(gè)難題,因?yàn)槿藭?huì)從多角度判斷一張圖片是否真實(shí),如圖片是否清晰、圖片物體線條顏色是否正確、圖片里是否有一些反直覺(jué)的物體等,只有有了合理的衡量標(biāo)準(zhǔn),才能科學(xué)系統(tǒng)地研究并改進(jìn)GAN的算法。
其次,GAN是著眼于對(duì)所有生成模型的學(xué)習(xí),并不局限于圖像生成一個(gè)應(yīng)用層面。那么GAN如何運(yùn)用于其他問(wèn)題,如機(jī)器翻譯、對(duì)話生成、語(yǔ)音生成等?這些都是有趣、富有挑戰(zhàn)的事情。其實(shí)還有更有趣的事情,如GAN能不能生成真實(shí)場(chǎng)景作為模擬器,幫助訓(xùn)練自動(dòng)駕駛?GAN能否生成逼真的虛擬視覺(jué)給人們提供全新的游戲體驗(yàn)?
也許盜夢(mèng)空間離我們很近,也許盜夢(mèng)空間的創(chuàng)造者就是你。
?
參考文獻(xiàn):
1.Wasserstein GAN
https://arxiv.org/abs/1701.07875
2.Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
https://arxiv.org/abs/1511.06434
3.Improved techniques for training gans
https://arxiv.org/abs/1606.03498
4."Generative Adversarial Networks," NIPS 2016 tutorial by Ian Goodfellow
http://www.iangoodfellow.com/slides/2016-12-04-NIPS.pdf
歡迎加入本站公開(kāi)興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識(shí)
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/4530.html
摘要:但年在機(jī)器學(xué)習(xí)的較高級(jí)大會(huì)上,蘋果團(tuán)隊(duì)的負(fù)責(zé)人宣布,公司已經(jīng)允許自己的研發(fā)人員對(duì)外公布論文成果。蘋果第一篇論文一經(jīng)投放,便在年月日,斬獲較佳論文。這項(xiàng)技術(shù)由的和開(kāi)發(fā),使用了生成對(duì)抗網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)方法。 GANs「對(duì)抗生成網(wǎng)絡(luò)之父」Ian Goodfellow 在 ICCV 2017 上的 tutorial 演講是聊他的代表作生成對(duì)抗網(wǎng)絡(luò)(GAN/Generative Adversarial ...
摘要:引用格式王坤峰,茍超,段艷杰,林懿倫,鄭心湖,王飛躍生成對(duì)抗網(wǎng)絡(luò)的研究與展望自動(dòng)化學(xué)報(bào),論文作者王坤峰,茍超,段艷杰,林懿倫,鄭心湖,王飛躍摘要生成式對(duì)抗網(wǎng)絡(luò)目前已經(jīng)成為人工智能學(xué)界一個(gè)熱門的研究方向。本文概括了的研究進(jìn)展并進(jìn)行展望。 3月27日的新智元 2017 年技術(shù)峰會(huì)上,王飛躍教授作為特邀嘉賓將參加本次峰會(huì)的 Panel 環(huán)節(jié),就如何看待中國(guó) AI學(xué)術(shù)界論文數(shù)量多,但大師級(jí)人物少的現(xiàn)...
摘要:的兩位研究者近日融合了兩種非對(duì)抗方法的優(yōu)勢(shì),并提出了一種名為的新方法。的缺陷讓研究者開(kāi)始探索用非對(duì)抗式方案來(lái)訓(xùn)練生成模型,和就是兩種這類方法。不幸的是,目前仍然在圖像生成方面顯著優(yōu)于這些替代方法。 生成對(duì)抗網(wǎng)絡(luò)(GAN)在圖像生成方面已經(jīng)得到了廣泛的應(yīng)用,目前基本上是 GAN 一家獨(dú)大,其它如 VAE 和流模型等在應(yīng)用上都有一些差距。盡管 wasserstein 距離極大地提升了 GAN 的...
摘要:目前,生成對(duì)抗網(wǎng)絡(luò)的大部分應(yīng)用都是在計(jì)算機(jī)視覺(jué)領(lǐng)域。生成對(duì)抗網(wǎng)絡(luò)生成對(duì)抗網(wǎng)絡(luò)框架是由等人于年設(shè)計(jì)的生成模型。在設(shè)置中,兩個(gè)由神經(jīng)網(wǎng)絡(luò)進(jìn)行表示的可微函數(shù)被鎖定在一個(gè)游戲中。我們提出了深度卷積生成對(duì)抗網(wǎng)絡(luò)的實(shí)現(xiàn)。 讓我們假設(shè)這樣一種情景:你的鄰居正在舉辦一場(chǎng)非??岬木蹠?huì),你非常想去參加。但有要參加聚會(huì)的話,你需要一張?zhí)貎r(jià)票,而這個(gè)票早就已經(jīng)賣完了。而對(duì)于這次聚會(huì)的組織者來(lái)說(shuō),為了讓聚會(huì)能夠成功舉...
摘要:生成式對(duì)抗網(wǎng)絡(luò)簡(jiǎn)稱將成為深度學(xué)習(xí)的下一個(gè)熱點(diǎn),它將改變我們認(rèn)知世界的方式。配圖針對(duì)三年級(jí)學(xué)生的對(duì)抗式訓(xùn)練屬于你的最嚴(yán)厲的批評(píng)家五年前,我在哥倫比亞大學(xué)舉行的一場(chǎng)橄欖球比賽中傷到了自己的頭部,導(dǎo)致我右半身腰部以上癱瘓。 本文作者 Nikolai Yakovenko 畢業(yè)于哥倫比亞大學(xué),目前是 Google 的工程師,致力于構(gòu)建人工智能系統(tǒng),專注于語(yǔ)言處理、文本分類、解析與生成。生成式對(duì)抗網(wǎng)絡(luò)—...
閱讀 2195·2021-11-24 10:28
閱讀 1248·2021-10-12 10:12
閱讀 3452·2021-09-22 15:21
閱讀 818·2021-08-30 09:44
閱讀 2083·2021-07-23 11:20
閱讀 1247·2019-08-30 15:56
閱讀 1879·2019-08-30 15:44
閱讀 1552·2019-08-30 13:55