向神經(jīng)網(wǎng)絡(luò)展示大量的人和車的圖片,并告知其哪一張是車,哪一張是人,最終,這個(gè)神經(jīng)網(wǎng)絡(luò)就可以學(xué)會(huì)區(qū)分人和車。當(dāng)新輸入一張車或人的圖片時(shí),它會(huì)告訴你這是一個(gè)人還是一輛汽車。
如圖1.1所示:基本上,這個(gè)神經(jīng)網(wǎng)絡(luò)所做的就是構(gòu)建一個(gè)有意義的結(jié)構(gòu)。如果讓這個(gè)神經(jīng)網(wǎng)絡(luò)生成一張新的未曾出現(xiàn)過的人或車的照片,它無法做到,如圖1.2所示。
圖1:卷積神經(jīng)網(wǎng)絡(luò)
通常需要生成呈相同輸入分布的新樣本,為此需要一個(gè)生成模型。
圖2:生成網(wǎng)絡(luò)的輸入數(shù)據(jù)
如果將這三種類型的數(shù)據(jù)(圖2)輸入到生成網(wǎng)絡(luò),該網(wǎng)絡(luò)的學(xué)習(xí)模型將如圖3所示。當(dāng)試圖通過這個(gè)訓(xùn)練好的生成式神經(jīng)網(wǎng)絡(luò)生成樣本時(shí),它將生成圖4,因?yàn)閳D4的模型與以上所有三種輸入分布模型的平均值相似。
但通過觀察,可以清晰地判斷出這個(gè)樣本不屬于任何一種已輸入的數(shù)據(jù)分布類型。該如何解決這個(gè)問題呢?答案是隨機(jī)性。也就是說,生成模型通過增加隨機(jī)性來產(chǎn)生相似度極高的結(jié)果。
圖3:學(xué)習(xí)模型;圖4:生成式網(wǎng)絡(luò)的輸出結(jié)果
對(duì)抗性網(wǎng)絡(luò)
假設(shè)要訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)來正確識(shí)別0到9之間的數(shù)字,我們先要提供大量數(shù)字的圖像。訓(xùn)練時(shí),當(dāng)網(wǎng)絡(luò)預(yù)測正確時(shí)將會(huì)得到獎(jiǎng)勵(lì),預(yù)測錯(cuò)誤時(shí)則會(huì)給出反饋,這樣網(wǎng)絡(luò)就會(huì)相應(yīng)地調(diào)整其權(quán)值,并且對(duì)所有數(shù)字的所有圖像重復(fù)這個(gè)過程。
但作為人類的我們在歷經(jīng)這個(gè)過程時(shí)其實(shí)并非如此。如果你是一名教師,正在教一個(gè)孩子如何識(shí)別0-9。對(duì)于數(shù)字0,2,3,4,5,6,8,9,他有70%的把握回答出正確答案。但當(dāng)他得到1和7這兩個(gè)數(shù)字時(shí),他心中只有50%的把握(他可能無法分辨)。因?yàn)閷?duì)于他來講,數(shù)字1和7看起來十分相似。
你注意到了這一點(diǎn),于是開始重點(diǎn)關(guān)注1和7,這是你學(xué)生面臨的主要問題。但如果你一直問同樣的問題,他最終會(huì)失去動(dòng)力并放棄,這種平衡在人類身上是很常見的,但神經(jīng)網(wǎng)絡(luò)不是這樣,神經(jīng)網(wǎng)絡(luò)沒有感覺。我們可以就這些錯(cuò)誤對(duì)網(wǎng)絡(luò)進(jìn)行一次又一次的訓(xùn)練,直到出錯(cuò)率降到與分辨其他數(shù)字的出錯(cuò)率相同為止。
現(xiàn)實(shí)中,有些人可能會(huì)遇到這樣的情況:老師不停問他們同樣的問題,他們不斷失敗,甚至?xí)X得是老師想讓他們失敗。這實(shí)際上是一種反向行為。
那么如何在神經(jīng)網(wǎng)絡(luò)中重現(xiàn)類似的場景?實(shí)際上,我們可以建立一個(gè)真正的對(duì)抗性網(wǎng)絡(luò)。如果有程序真正使神經(jīng)網(wǎng)絡(luò)盡可能多地犯錯(cuò),產(chǎn)生上述那種反應(yīng),并且它發(fā)現(xiàn)了任何弱點(diǎn),那么這道程序就會(huì)針對(duì)性地迫使學(xué)習(xí)者學(xué)會(huì)根除這種弱點(diǎn)。
生成式對(duì)抗網(wǎng)絡(luò)
生成式對(duì)抗網(wǎng)絡(luò)由兩個(gè)模塊組成:一個(gè)是生成模型,另一個(gè)是判別模型。在訓(xùn)練生成式對(duì)抗網(wǎng)絡(luò)時(shí),這兩個(gè)網(wǎng)絡(luò)實(shí)際上是互相博弈的關(guān)系,都在競爭唯一的參數(shù)——判別模型的錯(cuò)誤率。生成模型調(diào)整其權(quán)重以求產(chǎn)生更高的誤差,判別模型通過學(xué)習(xí)試圖降低誤差。
示例
有一個(gè)偽造者試圖造一幅假畫并且將其高價(jià)出售。與此同時(shí),有一個(gè)檢查員負(fù)責(zé)檢查并判斷這些畫的真?zhèn)巍?/p>
起初,偽造者只是在紙上隨意畫幾條線,檢查員此時(shí)無法確定真假。因?yàn)橐婚_始判別模型和生成模型都還沒有進(jìn)行任何學(xué)習(xí)。
后來,造假畫者學(xué)習(xí)了更多不同種類的畫法,制作出一幅看起來像原畫的畫,檢查員也學(xué)習(xí)精細(xì)的圖案來區(qū)分贗品和原畫。當(dāng)檢查偽造者新生成的畫時(shí),檢查員就會(huì)識(shí)別出畫是贗品然后拒絕它,這個(gè)過程會(huì)不斷重復(fù)。
最終,出現(xiàn)了這樣一種情況:偽造者制作出一張看起來很貼近原畫的圖片,而檢查員無法確定其真?zhèn)巍_@在神經(jīng)網(wǎng)絡(luò)中表現(xiàn)為,生成模型生成一張看起來和原畫一模一樣的圖,而判別模型的輸出為0.5,表示其無法區(qū)分圖片的真假。這時(shí)可以把判別模型從神經(jīng)網(wǎng)絡(luò)中移除,得到了一個(gè)經(jīng)過充分訓(xùn)練的生成模型,可以生成看起來非常真實(shí)的畫。
除此之外,如果將大量的汽車圖像導(dǎo)入生成式對(duì)抗網(wǎng)絡(luò)中,以生成一個(gè)新的汽車樣本,那么有一點(diǎn)是確定的,那就是生成式對(duì)抗網(wǎng)絡(luò)此時(shí)已了解什么是汽車。
因?yàn)榫W(wǎng)絡(luò)將在潛在空間中構(gòu)造一個(gè)結(jié)構(gòu),這個(gè)結(jié)構(gòu)又稱為特征向量,如果觀察這些向量,會(huì)發(fā)現(xiàn)其意義是完整的。這個(gè)潛在空間是輸入數(shù)據(jù)分布的映射。每一個(gè)維度都與汽車的某項(xiàng)特征相對(duì)應(yīng)。如果潛在空間中的一個(gè)軸表示的是汽車的尺寸,那么另一個(gè)軸就表示汽車的顏色。
所以,如果移動(dòng)輸入分布中的一個(gè)數(shù)據(jù)點(diǎn),那么在潛在空間中也會(huì)有一個(gè)非常平滑的過渡。這樣,一個(gè)類似于輸入數(shù)據(jù)分布的新樣本就產(chǎn)生了。
責(zé)編AJX
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4783瀏覽量
101236 -
算法
+關(guān)注
關(guān)注
23文章
4631瀏覽量
93427 -
圖片
+關(guān)注
關(guān)注
0文章
203瀏覽量
15978
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論