什么是生成對抗網(wǎng)絡(luò)gan,什么是生成對抗網(wǎng)絡(luò)?工作原理是什么?
chanong
生成模型和判別模型
在討論生成對抗網(wǎng)絡(luò)之前,我們需要澄清兩個概念:生成模型和判別模型。
所謂生成網(wǎng)絡(luò)是指構(gòu)建生成模型的神經(jīng)網(wǎng)絡(luò),同樣判別網(wǎng)絡(luò)是指構(gòu)建判別模型的神經(jīng)網(wǎng)絡(luò)。
機(jī)器學(xué)**/深度學(xué)**模型的主要任務(wù)之一是根據(jù)某事物的屬性(X)來預(yù)測其標(biāo)簽(Y)。生成模型和判別模型都可以完成這個任務(wù),但具體方法有所不同。
生成模型求X 與不同Y 和Yi 之間的聯(lián)合概率P(Y1,X)、P(Y2,X)、P(Y2,X)、P(Yn,X),其中有加入的最高概率作為預(yù)測結(jié)果。
判別模型找到以X 為條件的Y 的條件概率:P(Y|X),并直接獲得特定P(Y|X) 的結(jié)果。以此作為預(yù)測。
生成對抗網(wǎng)絡(luò)(GAN)
那么什么是生成對抗網(wǎng)絡(luò)?
簡單來說,生成對抗網(wǎng)絡(luò)是Goodfellow 等人在2014 年提出的一種無監(jiān)督學(xué)**方法。
該方法通過兩個網(wǎng)絡(luò)——的相互限制來實(shí)現(xiàn)學(xué)**過程:生成網(wǎng)絡(luò)——和鑒別器網(wǎng)絡(luò)——。
生成對抗網(wǎng)絡(luò)的生成網(wǎng)絡(luò)G和判別網(wǎng)絡(luò)D分別對假幣團(tuán)伙和警察可見,——G努力讓假幣更接近真實(shí)貨幣,D努力區(qū)分假幣和真實(shí)貨幣。
通過G和D的對抗,最終兩個模型的準(zhǔn)確率都有所提高。
生成對抗網(wǎng)絡(luò)結(jié)構(gòu)
下圖展示了一個用于手寫數(shù)字生成的獨(dú)特的GAN 網(wǎng)絡(luò)結(jié)構(gòu),由生成器和判別器組成。
生成器用于從噪聲中生成手寫數(shù)字的圖像,鑒別器嘗試將訓(xùn)練集中的圖像與生成器生成的假圖像區(qū)分開。
可以證明,如果網(wǎng)絡(luò)足夠強(qiáng)大,生成器最終會產(chǎn)生與訓(xùn)練集具有相同特征的圖像。具體訓(xùn)練步驟如下(來自原論文中的偽代碼):
for num_of_training_iterations: for k_steps: #k這里是一個超參數(shù),代表每次迭代優(yōu)化分類器的次數(shù)。從訓(xùn)練集中隨機(jī)選擇m張圖像并隨機(jī)選擇(生成)m張?jiān)肼晥D像來更新分類器參數(shù)(正常神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程)交叉熵誤差函數(shù)或概率隨機(jī)選擇m張?jiān)肼晥D像來更新生成器的參數(shù)(例如梯度下降)。事實(shí)上,在GAN論文中,主要思想是使用生成器和判別器來相互約束,而不是詳細(xì)的模型結(jié)構(gòu),上面的訓(xùn)練方法只是一個示例,并不需要生成器和判別器應(yīng)用于網(wǎng)絡(luò)。
生成對抗網(wǎng)絡(luò)的優(yōu)點(diǎn)和缺點(diǎn)
GAN的優(yōu)點(diǎn)和缺點(diǎn)可以總結(jié)如下。
缺點(diǎn):
1.網(wǎng)絡(luò)自由度太多,訓(xùn)練困難;2.兩個模型分別更新,導(dǎo)致兩個模型之間存在同步問題,如果一個模型訓(xùn)練得太快,另一個模型會影響訓(xùn)練。支持者:
1.僅使用反向傳播即可完成訓(xùn)練,不使用馬爾可夫鏈進(jìn)行訓(xùn)練。 2. GAN可以與大多數(shù)現(xiàn)有的生成網(wǎng)絡(luò)算法結(jié)合使用,以提高性能。從實(shí)際應(yīng)用的角度來看,訓(xùn)練模型的難度是困擾許多研究者的最大問題。然而,自從提出GAN 的論文(2014)發(fā)表以來,眾多的GAN 改進(jìn)技術(shù)被提出來更好地解決GAN 中存在的問題,并且圖像生成任務(wù)已經(jīng)達(dá)到了商業(yè)適用的成熟度。
生成對抗網(wǎng)絡(luò)的主要應(yīng)用
我之前提到過生成對抗網(wǎng)絡(luò)。經(jīng)過幾年的研究,已經(jīng)相對成熟,現(xiàn)已投入商用。以下是一些著名的開源應(yīng)用程序的示例。
zi2zi:基于pix2pixiGAN的轉(zhuǎn)換中文字體的應(yīng)用程序:我叫他馬良。 Adobe 和Berkeley 聯(lián)合發(fā)布的圖像增強(qiáng)網(wǎng)絡(luò),可讓您從簡單的繪圖生成高度逼真的圖像。 Domain-transfer-network: 感覺和CNN的風(fēng)格遷移類似,實(shí)現(xiàn)的功能也和人臉可愛程度類似,可以從真實(shí)頭像生成卡通頭像。neural-enhance: 低分辨率圖像轉(zhuǎn)換轉(zhuǎn)化為高分辨率圖像,以后可以處理成圖像用于各種游戲和電影中,大大降低了重制成本。 Deepfake:是前段時間引起轟動的一款可以給視頻換臉的現(xiàn)象級應(yīng)用,并且在很多應(yīng)用場景中都有很多類似的應(yīng)用,效果都不錯。我個人覺得GAN是一個非常有前途的領(lǐng)域。








