人工智能–GAN算法
前言:人工智能機器學習有關(guān)算法內(nèi)容,人工智能之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下GAN算法。
我們知道機器學習模型有:生成模型(GenerativeModel)和判別模型(Discriminative Model)。判別模型需要輸入變量x,通過某種模型來預測p(y|x)。生成模型是給定某種隱含信息,來隨機產(chǎn)生觀測數(shù)據(jù)。
不管何種模型,其損失函數(shù)(Loss Function)選擇,將影響到訓練結(jié)果質(zhì)量,是機器學習模型設(shè)計的重要部分。對于判別模型,損失函數(shù)是容易定義的,因為輸出的目標相對簡單。但對于生成模型,損失函數(shù)卻是不容易定義的。
2014年GoodFellow等人發(fā)表了一篇論文“Goodfellow, Ian, et al. Generative adversarial nets." Advances inNeural Information Processing Systems. 2014”,引發(fā)了GAN生成式對抗網(wǎng)絡的研究,值得學習和探討。今天就跟大家探討一下GAN算法。
GAN算法概念:
GAN生成式對抗網(wǎng)絡(Generative Adversarial Networks )是一種深度學習(請參見人工智能(23))模型,是近年來復雜分布上無監(jiān)督學習最具有前景的方法之一。 GAN生成式對抗網(wǎng)絡的模型至少包括兩個模塊:G模型-生成模型(Generative Model)和D模型-判別模型(Discriminative Model)。兩者互相博弈學習產(chǎn)生相當好的輸出結(jié)果。GAN 理論中,并不要求G、D模型都是神經(jīng)網(wǎng)絡,只需要是能擬合相應生成和判別的函數(shù)即可。但實際應用中一般均使用深度神經(jīng)網(wǎng)絡作為G、D模型。
對于生成結(jié)果的期望,往往是一個難以數(shù)學公理化定義的范式。所以不妨把生成模型的回饋部分,交給判別模型處理。于是Goodfellow等人將機器學習中的兩類模型(G、D模型)緊密地聯(lián)合在了一起(該算法最巧妙的地方!)。
一個優(yōu)秀的GAN模型應用需要有良好的訓練方法,否則可能由于神經(jīng)網(wǎng)絡模型的自由性而導致輸出結(jié)果不理想。
GAN算法原理:
1.先以生成圖片為例進行說明:
假設(shè)有兩個網(wǎng)絡,分別為G(Generator)和D(Discriminator),它們的功能分別是:
1)G是一個生成圖片的網(wǎng)絡,它接收一個隨機的噪聲z,通過這個噪聲生成圖片,記做G(z)。
2)D是一個判別網(wǎng)絡,判別一張圖片是不是“真實的”。它的輸入?yún)?shù)是x,x代表一張圖片,輸出D(x)代表x為真實圖片的概率,如果為1,就代表100%是真實的圖片,而輸出為0,就代表不可能是真實的圖片。
3)在最理想的狀態(tài)下,G可以生成足以“以假亂真”的圖片G(z)。對于D來說,它難以判定G生成的圖片究竟是不是真實的,因此D(G(z)) = 0.5。
4)這樣目的就達成了:得到了一個生成式的模型G,它可以用來生成圖片。
在訓練過程中,生成網(wǎng)絡G的目標就是盡量生成真實的圖片去欺騙判別網(wǎng)絡D。而判別網(wǎng)絡D的目標就是盡量把G生成的圖片和真實的圖片分別開來。這樣,G和D構(gòu)成了一個動態(tài)的“博弈過程”。
2.再以理論抽象進行說明:
GAN是一種通過對抗過程估計生成模型的新框架。框架中同時訓練兩個模型:捕獲數(shù)據(jù)分布的生成模型G,和估計樣本來自訓練數(shù)據(jù)的概率的判別模型D。G的訓練程序是將D錯誤的概率最大化?梢宰C明在任意函數(shù)G和D的空間中,存在唯一的解決方案,使得G重現(xiàn)訓練數(shù)據(jù)分布,而D=0.5(D判斷不出真假,50%概率,跟拋硬幣決定一樣)。在G和D由多層感知器定義的情況下,整個系統(tǒng)可以用反向傳播進行訓練。在訓練或生成樣本期間,不需要任何馬爾科夫鏈或展開的近似推理網(wǎng)絡。實驗通過對生成的樣品的定性和定量評估,證明了GAN框架的潛在優(yōu)勢。
Goodfellow從理論上證明了該算法的收斂性。在模型收斂時,生成數(shù)據(jù)和真實數(shù)據(jù)具有相同分布,從而保證了模型效果。
GAN公式形式如下:
GAN公式說明如下:
1)公式中x表示真實圖片,z表示輸入G網(wǎng)絡的噪聲,G(z)表示G網(wǎng)絡生成的圖片;
2)D(x)表示D網(wǎng)絡判斷圖片是否真實的概率,因為x就是真實的,所以對于D來說,這個值越接近1越好。
3)G的目的:D(G(z))是D網(wǎng)絡判斷G生成的圖片的是否真實的概率。G應該希望自己生成的圖片“越接近真實越好”。也就是說,G希望D(G(z))盡可能得大,這時V(D, G)會變小。因此公式的最前面記號是min_G。
4)D的目的:D的能力越強,D(x)應該越大,D(G(x))應該越小。這時V(D,G)會變大。因此式子對于D來說是求最大max_D。
GAN訓練過程:
GAN通過隨機梯度下降法來訓練D和G。
1) 首先訓練D,D希望V(G, D)越大越好,所以是加上梯度(ascending)
2) 然后訓練G時,G希望V(G, D)越小越好,所以是減去梯度(descending);
3) 整個訓練過程交替進行。
GAN訓練具體過程如下:
GAN算法優(yōu)點:
1)使用了latent code,用以表達latent dimension、控制數(shù)據(jù)隱含關(guān)系等;
2)數(shù)據(jù)會逐漸統(tǒng)一;
3)不需要馬爾可夫鏈;
4)被認為可以生成最好的樣本(不過沒法鑒定“好”與“不好”);
5)只有反向傳播被用來獲得梯度,學習期間不需要推理;
6)各種各樣的功能可以被納入到模型中;
7)可以表示非常尖銳,甚至退化的分布。
GAN算法缺點:
1)Pg(x)沒有顯式表示;
2)D在訓練過程中必須與G同步良好;
3)G不能被訓練太多;
4)波茲曼機必須在學習步驟之間保持最新。
GAN算法擴展:
GAN框架允許有許多擴展:
1)通過將C作為輸入,輸入G和D,可以得到條件生成模型P(x|c);
2)學習近似推理,可以通過訓練輔助網(wǎng)絡來預測Z。
3)通過訓練一組共享參數(shù)的條件模型,可以近似地模擬所有條件。本質(zhì)上,可以使用對抗性網(wǎng)絡實現(xiàn)確定性MP-DBM的隨機擴展。
4)半監(jiān)督學習:當僅有有限標記數(shù)據(jù)時,來自判別器或推理網(wǎng)絡的特征可以提高分類器的性能。
5)效率改進:通過劃分更好的方法可以大大加快訓練,更好的方法包括:a)協(xié)調(diào)G和D; b) 在訓練期間,確定訓練樣本Z的更好分布。
GAN算法應用:
GAN的應用范圍較廣,擴展性也強,可應用于圖像生成、數(shù)據(jù)增強和圖像處理等領(lǐng)域。
1)圖像生成:
目前GAN最常使用的地方就是圖像生成,如超分辨率任務,語義分割等。
2)數(shù)據(jù)增強:
用GAN生成的圖像來做數(shù)據(jù)增強。主要解決的問題是a)對于小數(shù)據(jù)集,數(shù)據(jù)量不足,可以生成一些數(shù)據(jù);b)用原始數(shù)據(jù)訓練一個GAN,GAN生成的數(shù)據(jù)label不同類別。
結(jié)語:
GAN生成式對抗網(wǎng)絡是一種深度學習模型,是近年來復雜分布上無監(jiān)督學習最具有前景的方法之一,值得深入研究。GAN生成式對抗網(wǎng)絡的模型至少包括兩個模塊:G模型-生成模型和D模型-判別模型。兩者互相博弈學習產(chǎn)生相當好的輸出結(jié)果。GAN算法應用范圍較廣,擴展性也強,可應用于圖像生成、數(shù)據(jù)增強和圖像處理等領(lǐng)域。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-12.26立即報名>>> 【在線會議】村田用于AR/VR設(shè)計開發(fā)解決方案
-
1月8日火熱報名中>> Allegro助力汽車電氣化和底盤解決方案優(yōu)化在線研討會
-
即日-1.14火熱報名中>> OFweek2025中國智造CIO在線峰會
-
即日-1.24立即參與>>> 【限時免費】安森美:Treo 平臺帶來出色的精密模擬
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
-
精彩回顧立即查看>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容