天天看點

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

生成對抗網絡(Generative adversarial nets,GAN)是Goodfellow等人在2014年提出的一種生成式模型。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

GAN是由一個生成器和一個判别器構成。生成器捕捉真實資料樣本的潛在分布,并由潛在分布生成新的資料樣本;判别器是一個二分類器,判别輸入是真實資料還是生成的樣本。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

其優化過程類似于極小極大遊戲,通過反向傳播算法,最終目标可實作納什均衡,即生成器完全獲得真實資料樣本的分布。

生成式對抗網絡是一種深度學習模型,是近年來複雜分布上無監督學習最具前景的方法之一。模型通過架構中(至少)兩個子產品:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈學習産生相當好的輸出。原始 GAN 理論中,并不要求 G 和 D 都是神經網絡,隻需要是能拟合相應生成和判别的函數即可。但實用中一般均使用深度神經網絡作為 G 和 D 。一個優秀的GAN應用需要有良好的訓練方法,否則可能由于神經網絡模型的自由性而導緻輸出不理想。--百度百科

根據The-gan-zoo資料顯示,截至2018年9月GAN衍生模型已經到達502種。

接下來是台灣大學李弘毅老師關于GAN的PPT講解:

兩個機率分布,一個是真實的樣本資料分布,另一個是生成模型的資料分布,通過極大似然估計求生成模型的參數,也就是說參數使生成模型的分布很像真實資料的分布。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

利用極大似然估計方法,求生成模型機率分布與真實資料機率分布的相近程度L,我們希望L越大越好。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

由此,我們定義生成模型G,G生成的資料分布與真實資料的分布的差距Div(x)越小越好。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

定義一個判别模型D,近似生成的資料分布與真實資料的分布的差距Div(x),我們想到JS散度可以度量兩個分布之間的差距,故将D帶入V(G,D)。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

V(G,D)是關于D衡量兩個分布的JS散度公式的變體,我們推斷V(G,D)越大,D越好,也就是越能區分真假資料。具體而言,真實資料使D(x)=1,生成資料使D(x)=0。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

那怎麼使V(G,D)最大呢?通過給定G,x我們可以計算出來D。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

将D帶入V(G,D),可以推出JS散度公式。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)
生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

 我們知道,G生成的資料分布與真實資料的分布的差距MaxV(G,D)越小越好,下一步就是怎麼更新G使MaxV(G,D)最小?

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

答案就是通過反向傳播更新G的參數。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

最後就是算法。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)
生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)

更新一次G的原因如下,G更新會導緻V(G,D)更新,D=MaxV(G,D)會發生變化,如果還是使用固定的D來判别G會有誤差。一次使用可以,多次使用不行。

生成對抗網絡GAN(六)深入了解生成對抗網絡(Generative Adversarial Networks,GAN)
GAN

繼續閱讀