人工智能算法與實(shí)踐-第17章 生成對(duì)抗網(wǎng)絡(luò)_第1頁(yè)
人工智能算法與實(shí)踐-第17章 生成對(duì)抗網(wǎng)絡(luò)_第2頁(yè)
人工智能算法與實(shí)踐-第17章 生成對(duì)抗網(wǎng)絡(luò)_第3頁(yè)
人工智能算法與實(shí)踐-第17章 生成對(duì)抗網(wǎng)絡(luò)_第4頁(yè)
人工智能算法與實(shí)踐-第17章 生成對(duì)抗網(wǎng)絡(luò)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄第17章生成對(duì)抗網(wǎng)絡(luò)人工智能算法與實(shí)踐—1

17.4算法總結(jié)17.1算法概述17.2算法改進(jìn)17.3算法實(shí)現(xiàn)01算法概述PartONE—2

—3

17.1.1算法介紹生成對(duì)抗網(wǎng)絡(luò)(GenerativeAdversarialNetworks,GAN)屬于深度學(xué)習(xí)模型的領(lǐng)域,同時(shí)也是近年來(lái)復(fù)雜分布上無(wú)監(jiān)督學(xué)習(xí)最具前景的方法之一。該模型主要通過(guò)生成模型和判別模型的互相博弈學(xué)習(xí)產(chǎn)生相當(dāng)好的輸出。對(duì)于GAN而言,其網(wǎng)絡(luò)結(jié)構(gòu)由生成器和判別器組成。在圖像領(lǐng)域,對(duì)于生成器而言,輸入一個(gè)向量,輸出一幅圖片。向量的某一維度對(duì)應(yīng)圖片的某個(gè)特征。生成器的主要任務(wù)是學(xué)習(xí)真實(shí)圖片集,從而使得自己生成的圖片更接近于真實(shí)圖片,以騙過(guò)判別器。而對(duì)于判決器而言,輸入一張圖片,來(lái)判別這張圖是來(lái)自真實(shí)樣本集還是假樣本集,假如輸入的是真樣本,則輸出就接近1;相反,如果輸入的是假樣本,則輸出接近0,從而達(dá)到很好的判別目的。

生成器的工作過(guò)程

判別器的工作過(guò)程—4

算法的訓(xùn)練過(guò)程是首先固定生成器,試圖訓(xùn)練判別器,讓判別器能夠?qū)⒄鎸?shí)圖像分值為1,生成圖像分值為0,然后固定判別器,試圖訓(xùn)練生成器,讓生成圖像的分值為1,如此循環(huán)迭代。在其訓(xùn)練過(guò)程中,生成網(wǎng)絡(luò)G的目的是盡量生成真實(shí)的圖片去欺騙判別網(wǎng)絡(luò)D,而D的目的是盡量把G生成的圖片和真實(shí)的圖片分別開來(lái),使G和D構(gòu)成了一個(gè)動(dòng)態(tài)的“博弈過(guò)程“。其流程結(jié)構(gòu)為:

(1)初始化生成器和判別器。

(2)在每次迭代過(guò)程中:1)固定G,只更新D的參數(shù),從準(zhǔn)備的數(shù)據(jù)集中隨機(jī)選擇一些,再?gòu)腉的輸出中選擇一些。相當(dāng)于D有兩種input,如果輸入來(lái)自真實(shí)的數(shù)據(jù)集則給高分,如果是G產(chǎn)生的數(shù)據(jù),則給低分。2)固定住D的參數(shù),更新G。將一個(gè)向量輸入G,得到一個(gè)輸出,將輸出給D,然后會(huì)得到一個(gè)分?jǐn)?shù),這一階段D的參數(shù)已經(jīng)固定住了,G需要調(diào)整自己的參數(shù)使得這個(gè)輸出的分?jǐn)?shù)越大越好。17.1.2算法原理—5

24631從數(shù)據(jù)集Pdata(x)的樣本中挑出m個(gè)樣本點(diǎn):從一個(gè)分布(可以是高斯,正態(tài))中sample出m個(gè)向量:將第2步中的z作為輸入,獲得m個(gè)生成的數(shù)據(jù)更新D的參數(shù)

來(lái)最大化

,我們要使得

越大越好,那么下式中就要使得

越小越好,也就是去壓低G的分?jǐn)?shù):從一個(gè)分布中sample出m個(gè)向量

,注意這些sample不需要和步驟2中的保持一致。更新G的參數(shù)使得其最小化:所以其目標(biāo)函數(shù)(損失函數(shù))V(D,G)為:17.1.3算法的具體操作502PartTWO—6

算法改進(jìn)目標(biāo)函數(shù)進(jìn)行優(yōu)化時(shí),最直觀的處理方法就是將生成網(wǎng)絡(luò)G和判別網(wǎng)絡(luò)D進(jìn)行交替迭代。在一段時(shí)間內(nèi),固定G網(wǎng)絡(luò)內(nèi)的參數(shù),來(lái)優(yōu)化網(wǎng)絡(luò)D,另一段時(shí)間則固定D網(wǎng)絡(luò)中的參數(shù),來(lái)優(yōu)化G網(wǎng)絡(luò)中的參數(shù),從而形成兩個(gè)網(wǎng)絡(luò)。圖中假設(shè)剛開始的為真實(shí)樣本分布,生成樣本分布和判別模型,其分別對(duì)應(yīng)圖中的點(diǎn)狀線,實(shí)線和虛線,那么有以下結(jié)論:當(dāng)固定生成模型,而去優(yōu)化判別模型時(shí),會(huì)發(fā)現(xiàn)判別模型會(huì)對(duì)點(diǎn)狀線和虛線有很好的區(qū)分效果。固定判別模型,改進(jìn)生成模型時(shí),會(huì)發(fā)現(xiàn)生成模型生成的數(shù)據(jù)分布,也就是實(shí)線,會(huì)不斷往真實(shí)數(shù)據(jù)分布(點(diǎn)狀線)靠攏,從而使得判別模型很難分離判斷。結(jié)論1結(jié)論2—7

(a)不合適的模型(b)更新D后(c)更新G后(d)更新D后混合策略均衡17.2.1目標(biāo)函數(shù)的優(yōu)化—8

CGAN:CGAN在生成模型(D)和判別模型(G)的建模中均引入條件變量y,使用額外信息y為模型增加條件,從而可以指導(dǎo)數(shù)據(jù)生成過(guò)程。CGAN是對(duì)原始GAN的一個(gè)擴(kuò)展,生成器和判別器都增加額外信息y為條件,y可以是任意信息,例如類別信息,或者其他模態(tài)的數(shù)據(jù)。DCGAN:DCGAN的改進(jìn)主要是在網(wǎng)絡(luò)結(jié)構(gòu)上,極大地提升了GAN訓(xùn)練的穩(wěn)定性以及生成結(jié)果的質(zhì)量,同時(shí)為GAN的訓(xùn)練提供了一個(gè)很好的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。WGAN:WGAN主要從損失函數(shù)的角度對(duì)GAN做了改進(jìn),損失函數(shù)改進(jìn)之后的WGAN即使在全連接層上也能得到很好的表現(xiàn)結(jié)果。CGANDCGANWGAN17.2.2算法的改進(jìn)03算法實(shí)現(xiàn)PartTHREE—9

01020304載入數(shù)據(jù)首先載入數(shù)據(jù)并進(jìn)行劃分,劃分成兩類數(shù)據(jù),然后進(jìn)行歸一化處理并封裝。建立模型建立模型,其分別為生成器模型和判別器模型。定義函數(shù)定義損失函數(shù)和優(yōu)化器。迭代訓(xùn)練進(jìn)行迭代訓(xùn)練,訓(xùn)練生成器和判別器并生成圖片,最后得其結(jié)果?!?0

算法在實(shí)現(xiàn)過(guò)程中,就是定義一個(gè)生成器和一個(gè)判別器,讓生成器盡可能地生成真實(shí)的圖片,而判別器盡可能地將生成器生成的圖片和真實(shí)圖片分離,達(dá)到識(shí)別的目的。其算法的步驟大致如下:17.3.1算法的實(shí)現(xiàn)過(guò)程—11

為了加深我們對(duì)GAN的了解,下面我們用Python代碼來(lái)實(shí)現(xiàn)它們的博弈過(guò)程。算法的步驟大致如下:17.3.2核心代碼展示1.數(shù)據(jù)讀入

2.生成器模型17.3.2核心代碼展示—12

3.判別器模型

5.迭代訓(xùn)練4.定義損失函數(shù)—12

85%從圖中可以看出GAN訓(xùn)練10次后很模糊,但是隨著訓(xùn)練次數(shù)的增加,圖片會(huì)慢慢變得清晰。這就是GAN的訓(xùn)練過(guò)程,通過(guò)學(xué)習(xí)真實(shí)圖片的分布后生成的圖像結(jié)果。17.3.2核心代碼展示—13

GAN運(yùn)行10次結(jié)果GAN運(yùn)行100次結(jié)果應(yīng)用四半監(jiān)督學(xué)習(xí)方面應(yīng)用一圖像方面應(yīng)用二文本方面應(yīng)用三通信加密方面1圖像(1)圖像超分辨率GAN可以通過(guò)學(xué)習(xí),在一定程度上得到高分辨率清晰圖像的分布,從而生成一幅質(zhì)量較好的高分辨清晰圖像。同時(shí)也能減小圖像的分辨率,使圖像越來(lái)越模糊。(2)圖像編輯給GAN輸入一張?jiān)紙D像,可以生成各個(gè)版本的圖像,從而進(jìn)行圖片的編輯。(3)圖像轉(zhuǎn)換GAN應(yīng)用于圖像轉(zhuǎn)換領(lǐng)域,將圖像轉(zhuǎn)換成另一種形式的圖像,其生成器的輸入是一個(gè)隨機(jī)向量,輸出的是圖像,這里生成器的輸入是圖像,輸出的是轉(zhuǎn)換后的圖像。2文本GAN在圖像領(lǐng)域應(yīng)用頗多,但是在文本領(lǐng)域卻作用不大,主要是NLP中的數(shù)據(jù)都是離散數(shù)據(jù),GAN不適合學(xué)習(xí)離散的數(shù)據(jù)分布,但是并不意味著沒法學(xué),谷歌大腦團(tuán)隊(duì)發(fā)明了一個(gè)結(jié)合強(qiáng)化學(xué)習(xí)的MaskGAN,可用于完形填空,具體任務(wù)是補(bǔ)全句子中的缺失部分。17.3.3算法的應(yīng)用—14

3通信加密我們利用GAN加密技術(shù)來(lái)保護(hù)數(shù)據(jù),其加密技術(shù)涉及3個(gè)方面,我們可以用Alice、Bob和Eve來(lái)展示。通常,Alice和Bob是安全通信的兩端,Eve則監(jiān)聽它們的通信,試圖逆向找到原數(shù)據(jù)信息。通過(guò)GAN技術(shù),Alice和Bob被共同訓(xùn)練,在學(xué)習(xí)規(guī)避Eve監(jiān)聽的同時(shí),成功實(shí)現(xiàn)信息的傳遞。在進(jìn)行大量訓(xùn)練后,Bob能夠從Eve的行為中學(xué)習(xí)并保護(hù)通信,在避免被攻擊的同時(shí)實(shí)現(xiàn)準(zhǔn)確的消息重構(gòu)。其通信加密過(guò)程圖下圖所示:—15

4半監(jiān)督學(xué)習(xí)對(duì)于多分類問(wèn)題,若只有少量標(biāo)注過(guò)的樣本和大量未標(biāo)注過(guò)的樣本,可以利用GAN思想合理使用這些未標(biāo)注數(shù)據(jù),即通過(guò)學(xué)習(xí)這些未標(biāo)注樣本,得到樣本數(shù)據(jù)的分布,從而為監(jiān)督學(xué)習(xí)提供訓(xùn)練樣本,輔助其訓(xùn)練過(guò)程。應(yīng)用四半監(jiān)督學(xué)習(xí)方面應(yīng)用一圖像方面應(yīng)用二文本方面應(yīng)用三通信加密方面17.3.3算法的應(yīng)用(1)用GAN擬合二次函數(shù)我們用GAN來(lái)擬合二次函數(shù),分別有G網(wǎng)絡(luò)和D網(wǎng)絡(luò)兩種網(wǎng)絡(luò)。17.3.4算法案例—16

運(yùn)行結(jié)果如圖所示,可以看到G網(wǎng)絡(luò)生成的分布(綠色)已經(jīng)慢慢地接近真實(shí)分布(藍(lán)色),并且D網(wǎng)絡(luò)的判別能力也接近50%,G網(wǎng)絡(luò)的最優(yōu)值已到達(dá)很好的收斂效果。訓(xùn)練開始時(shí)的數(shù)據(jù)生成分布訓(xùn)練結(jié)束時(shí)的數(shù)據(jù)生成分布

17.3.4算法案例(2)用GAN生成假圖片

首先需要一個(gè)生成小狗圖片的生成器,還要有一個(gè)判斷小狗圖片真假的判別器。利用生成器生成一張假圖,同時(shí)獲取一張真圖,再用判別器進(jìn)行判別。把真圖與假圖進(jìn)行拼接,然后打上標(biāo)簽,真圖標(biāo)簽是1,假圖標(biāo)簽是0,送入訓(xùn)練的網(wǎng)絡(luò)進(jìn)行訓(xùn)練。首先將數(shù)據(jù)傳入生成器中,然后生成器生成圖片之后,就會(huì)把圖片傳入判別器中,標(biāo)簽此刻傳入的是1,為真實(shí)的圖片,但實(shí)際上是假圖,此刻判別器就會(huì)判斷為假圖,然后模型就會(huì)不斷調(diào)整生成器參數(shù),直到判別器認(rèn)為這是真圖。此刻判別器與生成器達(dá)到了一個(gè)平衡。也就是說(shuō)生成器產(chǎn)生的假圖,判別器已經(jīng)分辨不出來(lái)了。所以繼續(xù)迭代,提高判別器精度,如此往復(fù)循環(huán),直到生成連人都辨別不了的圖片。

—17

造假過(guò)程04算法總結(jié)PartFOUR—18

采用的是無(wú)監(jiān)督學(xué)習(xí)方式訓(xùn)練方式反向傳播和大部分現(xiàn)有的生成網(wǎng)絡(luò)算法結(jié)合使用其框架能訓(xùn)練任何一種生成器網(wǎng)絡(luò)算法的優(yōu)勢(shì)—19

模型過(guò)于自由不可控解決不收斂問(wèn)題難以訓(xùn)練同步問(wèn)題算法的不足—20

在實(shí)際應(yīng)用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論