国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門(mén)文章> gan的模型 >

gan的模型

36氪企服點(diǎn)評(píng)小編
2021-11-30 16:50
911次閱讀

一、質(zhì)量提高方面—GAN的三種模型

(一)Wasserstein GAN(WGAN)

GAN的問(wèn)題,曾在Wasserstein的一篇論文中得到充分表達(dá),當(dāng)真實(shí)樣本和生成樣本的交集不可度量時(shí),就會(huì)出現(xiàn)問(wèn)題。

其實(shí)真實(shí)樣本和生成樣本不能說(shuō)絕對(duì)沒(méi)有交集,而是它們的交集要么是空集要么是不可度量,因?yàn)樗且粋€(gè)低微的流形。

舉例:在一個(gè)三維的立體空間中,有一個(gè)二維平面和另一個(gè)二維平面,它們的相交是一條直線,這條直線在三維空間中是沒(méi)有體積的。現(xiàn)在假設(shè)是10000維的高維空間,我們剛才講的圖片屬于低微流形,也就是10000維空間中一個(gè)低維的超平面而已。與隨機(jī)向量產(chǎn)生的生成樣本之間,是兩個(gè)超平面,就算有交集,交集的體積也是0(這個(gè)體積是多維體積,而不是真實(shí)體積)。

這會(huì)使得我們的運(yùn)算出問(wèn)題,回顧上面的公式:有真實(shí)樣本和生成樣本的分布,它們之間的交集體積為0,那么X和G(Z)幾乎沒(méi)有可度量的重合部分,這樣的數(shù)對(duì)真實(shí)樣本來(lái)說(shuō),它的分布為0,對(duì)生成樣本的分布來(lái)說(shuō),概率為0,兩個(gè)必有一個(gè)為0。我們知道對(duì)數(shù)里面取0,就會(huì)是一個(gè)負(fù)無(wú)窮,這個(gè)時(shí)候就會(huì)產(chǎn)生問(wèn)題,使得訓(xùn)練進(jìn)行不下去。

這里,可以看成是log對(duì)真實(shí)樣本分布和生成樣本分布的求積分。計(jì)算過(guò)程中我們可以發(fā)現(xiàn),這兩個(gè)分布是沒(méi)有交集的。對(duì)于特定X來(lái)說(shuō),要么分子為0,要么分母為0,最后計(jì)算都無(wú)法進(jìn)行。

GAN研究方法綜述

JS距離是基于KL距離的,使用的是兩個(gè)分布÷2的公式。因?yàn)閮蓚€(gè)分布很有可能其中一個(gè)值為0,所以取平均數(shù)。計(jì)算發(fā)現(xiàn),無(wú)論真實(shí)樣本還是生成樣本,兩個(gè)值一個(gè)是1,另一個(gè)就是0,結(jié)果使得JS距離為一個(gè)常數(shù)。做深度學(xué)習(xí)和神經(jīng)元網(wǎng)絡(luò)模型訓(xùn)練,我們最不希望遇到一個(gè)不變的常量,因?yàn)槿绻龅剑馕吨词且粋€(gè)無(wú)用的參數(shù),要么它就是最后我們計(jì)算出來(lái)的損的值,如果這個(gè)值是一個(gè)常量保持不變,也就意味著我們的梯度沒(méi)有了。最后模型的訓(xùn)練就會(huì)出問(wèn)題。

【W(wǎng)GAN給我們帶來(lái)的啟示】

1、不要使用基于KL距離或者JS距離的梯度。

WGAN的建議是EM距離,輸入X樣本,輸出Y,Y并不是一個(gè)0~1之間的數(shù),而是一個(gè)圖片。這是WGAN一個(gè)創(chuàng)新的地方。

GAN研究方法綜述

2、讓生成樣本集合和真實(shí)樣本集合之間有可度量的重疊。

比如:給真實(shí)樣本加噪音。這個(gè)噪音可以是高斯分布,也可以是平均分布。加噪音的原因是只有這樣的樣本,才和隨機(jī)生成的樣本之間有可度量的交集,才能產(chǎn)生梯度,有了梯度,就可以訓(xùn)練生成器和辨別器。

(二)Energy-Based GAN (EBGAN)

GAN研究方法綜述

G指生成器,z代表隨機(jī)向量,x代表真實(shí)樣本。中間矩形框出的是辨別器,辨別器由Encoder和Decoder兩部分組成。

這個(gè)模型輸入的不管是真實(shí)樣本還是假樣本,都是圖片,輸出也是圖片,比較兩張圖片是否一致。大家可能覺(jué)得奇怪,這不就是復(fù)制嗎?是的,但在復(fù)制過(guò)程,先編碼生成一維向量,然后一維向量經(jīng)過(guò)解碼,恢復(fù)圖片,再與原始圖片比較,如果是真實(shí)圖片,我們希望兩張圖片完全一樣;如果是生成圖片,我們希望兩張圖片的差別越大越好。這改變了在最早GAN模型中用0和1區(qū)分真實(shí)樣本與生成樣本的做法,也避免了上面WGAN中發(fā)現(xiàn)的梯度為0的情況發(fā)生。

Encoder-Decoder中間會(huì)生成一個(gè)語(yǔ)義向量,這個(gè)語(yǔ)義向量圖上沒(méi)有畫(huà)出來(lái),但是非常重要。這個(gè)向量可以看成是輸入向量的一個(gè)語(yǔ)義,因?yàn)檎掌g進(jìn)行圖像操作非常困難,但是向量之間是可以加減乘除的,這樣使得我們操作一個(gè)人臉改變他的表情,甚至變成另一張人臉的過(guò)程是平滑自然的。這就是這個(gè)語(yǔ)義向量做的事,如果沒(méi)有Encoder-Decoder,這個(gè)事情就做不成。
GAN研究方法綜述

EBGAN定義了一個(gè)D(X)函數(shù):X經(jīng)過(guò)Encoder編碼,再經(jīng)過(guò)Decoder解碼后,得到一個(gè)X的預(yù)測(cè)值,我們希望這個(gè)預(yù)測(cè)值跟X是無(wú)差別的。

在這個(gè)過(guò)程,我們希望真實(shí)樣本的輸入與輸出之間的誤差D(x)越小越好,生成樣本的輸入與輸出之間的誤差D(G(z))越大越好,整個(gè)公式就是判別器的損失函數(shù)Lost。m-D(G(z))指里面的數(shù)如果小于0,整個(gè)值就取0;如果大于0數(shù),則這個(gè)數(shù)是幾就取幾。這么做的原因是,如果不加m-函數(shù)的限制,D(G(z))可以變成無(wú)窮大,前加負(fù)號(hào)就變成無(wú)窮小,Lost函數(shù)本來(lái)就希望無(wú)窮小,最后就會(huì)沒(méi)有最小值。用梯度下降法對(duì)這個(gè)Lost求梯度是沒(méi)有意義的,用這樣的所謂梯度去優(yōu)化模型,肯定沒(méi)有結(jié)果。所以大家在做模型時(shí),一定要注意:可以對(duì)函數(shù)求極值,條件是這個(gè)極值能達(dá)到,而且這個(gè)極值不是正無(wú)窮也不是負(fù)無(wú)窮。

另外,把-的誤差改成+的誤差,就是對(duì)生成器的優(yōu)化。

(三)Boundary-Equilibrium GAN(BEGAN)

BEGAN模型,D函數(shù)就是之前的D函數(shù),t指的是計(jì)算過(guò)程中第幾輪訓(xùn)練,不斷進(jìn)行優(yōu)化。

GAN研究方法綜述

小結(jié)

對(duì)GAN的研究分為兩個(gè)方向,一個(gè)是試圖使GAN的精度提高,使生成的圖片越像照片;第二個(gè)是令它的功能更強(qiáng)大。上面主要講的是第一個(gè)方向,這里再?gòu)?qiáng)調(diào)一下,GAN在質(zhì)量提高這條線上的模型,遠(yuǎn)不止上文介紹的三個(gè)。下面我們講第二個(gè)方向,GAN的應(yīng)用很強(qiáng),從功能上,我們有哪些模型可以考慮。

二、功能方面—GAN的三種模型

(一)CGAN-條件生成式對(duì)抗網(wǎng)絡(luò)

這個(gè)模型的樣本是帶有標(biāo)簽的,比如輸入一個(gè)樣本,同時(shí)需要帶上性別標(biāo)簽,表示要求生成一張男人/女人的照片。這個(gè)模型是對(duì)原始GAN的一個(gè)擴(kuò)展。

對(duì)判別器的訓(xùn)練:真實(shí)樣本和標(biāo)簽,同時(shí)輸入到判別器,輸出要么是0要么是1。

對(duì)生成器的訓(xùn)練:隨機(jī)向量和標(biāo)簽,同時(shí)輸入生成器,然后標(biāo)簽和生成樣本同時(shí)輸入判別器。從輸入的結(jié)構(gòu)角度看出,真實(shí)樣本的輸入由真實(shí)樣本和標(biāo)簽組成,而假樣本的輸入也是由假樣本與標(biāo)簽組成,這個(gè)訓(xùn)練GAN模型的提高是一個(gè)比較大的進(jìn)步。
GAN研究方法綜述

(二)Pix2Pix模型

這個(gè)模型同時(shí)也是一個(gè)應(yīng)用,它的功能是手畫(huà)一個(gè)鞋子或者包的線條,可以變成一個(gè)真實(shí)的鞋或者包的圖片。這個(gè)模型的輸入過(guò)程與上文CGAN一樣,唯一區(qū)別是不需要隨機(jī)向量,只需要把簡(jiǎn)筆畫(huà)作為生成器的輸入。

GAN研究方法綜述

但是Pix2Pix在訓(xùn)練時(shí),需要簡(jiǎn)筆畫(huà)與真實(shí)樣本,必須是成對(duì)的。比如簡(jiǎn)筆畫(huà)是鞋子的線條,照片就需要是那張鞋子的照片,成對(duì)輸入。然而樣本的收集非常難,現(xiàn)在95%以上的時(shí)間、精力和費(fèi)用都在樣本的收集上,所以要簡(jiǎn)筆畫(huà)與真實(shí)照片配對(duì),非常不容易。這是Pix2Pix模型的一個(gè)重大缺陷。為解決這個(gè)缺陷,提出了CycleGAN的概念。

(三)CycleGAN

以上文簡(jiǎn)筆畫(huà)為例,CycleGAN只需要兩類,一類是簡(jiǎn)筆畫(huà),一類是照片,不需要一一配對(duì),其它功能與Pix2Pix完全一致。但是取消了配對(duì)的限制,使得對(duì)樣本收集的負(fù)擔(dān)大大減輕。CycleGAN模型的結(jié)構(gòu),它有兩個(gè)判別器,兩個(gè)生成器。其中,B判別器和B生成器是為B圖片做一個(gè)GAN模型,A判別器和A生成器是為A圖片做一個(gè)GAN模型。

GAN研究方法綜述

【CycleGAN的訓(xùn)練步驟】

第一步,用A的真實(shí)樣本訓(xùn)練A判別器,用B的真實(shí)樣本訓(xùn)練B判別器,使得判別器對(duì)兩類不同真實(shí)樣本,分別都判別為1,這是從最早普通GAN模型擴(kuò)展出來(lái)的。

GAN研究方法綜述

第二步,B真實(shí)樣本輸入A生成器,輸出假的A樣本A’,然后通過(guò)A判別器,輸出為0;第二條路徑是A真實(shí)樣本輸入B生成器,輸出假的B樣本B’,再通過(guò)B判別器,輸出為0。

第三步,B真實(shí)樣本經(jīng)過(guò)A生成器,生成假的A樣本A’,再經(jīng)過(guò)B生成器,生成假的B樣本B’,目的是使假的B樣本與B真實(shí)樣本誤差最小。注意:B’與B之間的誤差,所產(chǎn)生的梯度應(yīng)該去訓(xùn)練A生成器,而不是B生成器,因?yàn)锽生成器輸入的是A樣本,與這條路徑?jīng)]有關(guān)系,所以梯度不應(yīng)該影響B(tài)生成器,而應(yīng)該優(yōu)化A生成器。

GAN研究方法綜述

第四步,對(duì)A樣本重復(fù)第三步驟,期望A’與A一致。如果不一致,產(chǎn)生的梯度用來(lái)訓(xùn)練B生成器,與A生成器無(wú)關(guān)。這是很巧妙的一個(gè)結(jié)構(gòu)。

GAN研究方法綜述

(本文來(lái)源于:Boolan首席AI咨詢師—方林老師)

[免責(zé)聲明]

文章標(biāo)題: gan的模型

文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)溝通。發(fā)送郵件至36dianping@36kr.com,我們會(huì)在3個(gè)工作日內(nèi)處理。

消息通知
咨詢?nèi)腭v
商務(wù)合作