【論文筆記】生成對抗網絡Generative adversarial nets
-
- Generative Adversarial Nets
-
- 核心思想
- 概念
- 理論證明*
-
- 最優性
- 收斂性
- 方法
-
- 對抗訓練
-
- 後期
- 前期
- 流程
Generative Adversarial Nets
核心思想
GAN是一種生成模型,GAN中除了生成網絡外,加入了一個與生成網絡對立的判别網絡。該網絡學習确定樣本是來自生成網絡還是來自真實資料。 生成網絡可以被認為類似于一組僞造者,試圖生産假币并在未經檢測的情況下使用它,而判别網絡類似于警察,試圖發現僞鈔。 在這場比賽中,競争促使雙方都改進自己的方法,直到假冒僞劣品與真品無法區分為止。
概念
理論證明*
最優性
當G固定時,D的最優解是:
D G ∗ ( x ) = p d a t a ( x ) p d a t a ( x ) + p g ( x ) D^*_G(x)=\frac{p_{data}(x)}{p_{data}(x)+p_g(x)} DG∗(x)=pdata(x)+pg(x)pdata(x)
當G固定時,D的訓練是最大化V(G,D)。
V ( G , D ) = ∫ x p d a t a ( x ) log ( D ( x ) ) d x + ∫ z p z ( z ) l o g ( 1 − D ( g ( z ) ) ) d z = ∫ x p d a t a ( x ) log ( D ( x ) ) + p g ( x ) log ( 1 − D ( x ) ) d x V(G,D)=\int_xp_{data}(x)\log(D(x))dx+\int_zp_z(z)log(1-D(g(z)))dz\\ =\int_xp_{data}(x)\log(D(x))+p_g(x)\log(1-D(x))dx V(G,D)=∫xpdata(x)log(D(x))dx+∫zpz(z)log(1−D(g(z)))dz=∫xpdata(x)log(D(x))+pg(x)log(1−D(x))dx
收斂性
。。。
方法
對抗訓練
生成網絡
對于先驗的随機噪聲z,生成網絡G将其映射到資料空間:
z ⟶ G ( z ; θ G ) z\longrightarrow G(z;\theta_G) z⟶G(z;θG)
對抗網絡
對于一個資料x,判别網絡D将其映射為x是真實資料的機率(或x的标簽)。
x ⟶ D ( x ; θ D ) x\longrightarrow D(x;\theta_D) x⟶D(x;θD)
對抗訓練
{ min D 1 2 ( y − D ( x ) ) 2 min G log ( 1 − D ( G ( z ) ) ) \begin{cases} \min\limits_{D}\frac{1}{2}(y-D(x))^2\\ \min\limits_{G}\log(1-D(G(z))) \end{cases} ⎩⎨⎧Dmin21(y−D(x))2Gminlog(1−D(G(z)))
或
min G max D V ( D , G ) = E x p d a t a ( x ) [ log ( D ( x ) ) ] + E x p z ( z ) [ log ( 1 − D ( G ( z ) ) ) ] … … ( 1 ) \min\limits_G\max\limits_D V(D,G)=\mathbb{E}_{x~p_{data}(x)}[\log(D(x))]+\mathbb{E}_{x~p_z(z)}[\log(1-D(G(z)))]\;\;……(1) GminDmaxV(D,G)=Ex pdata(x)[log(D(x))]+Ex pz(z)[log(1−D(G(z)))]……(1)
後期
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN2XjlGcjAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLxcmeOp3YU5UNNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4ADO1UDNxITM0ETOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
圖一是對抗訓練後期,即生成網絡分布快要接近能完全模拟生成真實資料的網絡分布時的圖像。其中黑色點線是生成網絡的目标分布,綠色實線是生成網絡的分布,藍色點線是判别器的分布。下方的水準線是生成網絡的輸出空間,上方水準線是生成網絡的輸出空間。向上箭頭表示随機噪聲到生成圖檔的映射。圖(a)到圖(d)所描述的過程分别是:
- 剛剛經曆了生成網絡的訓練,此時的生成網絡已經接近收斂。但此時的判别網絡還沒有随之調整。
- 訓練判别網絡,使其達到目标分布 p d a t a ( x ) p d a t a ( x ) + p g ( x ) \frac{p_{data}(x)}{p_{data}(x)+p_g(x)} pdata(x)+pg(x)pdata(x)。此時生成網絡隻能把輸入映射到判别網絡分布密度較低的區域。判别器以較高的置信度判别其為生成資料。
- 繼續訓練生成網絡和判别網絡,當生成網絡和目标網絡重合時, D ( x ) = 1 2 D(x)=\frac{1}{2} D(x)=21,判别器已無法做出判斷。
前期
在學習的早期,當G較差時,D可以以很高的置信度拒絕生成資料,因為它們明顯不同于訓練資料。在這種情況下…