Machine-Learning
如何理解生成對抗網絡的判別分佈?
所以我目前正在研究生成對抗網絡,我現在讀了幾次 Goodfellow 的論文Generative Adversarial Nets和該領域的其他一些論文(DCGAN、CycleGAN、pix2pix 和其他一些)。
但我一直在努力解決本文中的圖 1,不知何故它似乎不適合我的腦海!
這是我目前的理解:
- 綠線是我們試圖匹配的分佈。
- 黑線是訓練圖像的當前分佈
但我真的不明白藍線!為什麼在(a)中是竇狀的,為什麼在(d)中是直線?
如果可以的話,讓我試著把事情弄清楚一點。首先,GAN 不是專門用來生成圖像的,而是用來生成各種數據的。實際上,您從中獲得圖形的第一篇論文並不是指圖像。
在圖中,您給出了 3 條曲線:
- 黑點。這些是您的訓練樣本 $ x $ . 如果將這些點連接起來,您可以形成一條線(即使在圖中看不到,我也將其稱為**黑線)。**這是數據生成分佈 $ p_x $ ,這是您的數據採樣的理論分佈。
- 綠線。這是您的生成器學習的分佈, $ p_g $ . 在訓練判別器時,您需要真假樣本。真實的是黑點,而假的是從綠色分佈中採樣的。
- 藍線。這是鑑別器的輸出,即圖像被分類為真假的概率。
還有黑色 $ x $ 水平線顯示我們可以繪製的範圍 $ x $ 樣品,而黑色 $ z $ 水平線顯示與潛在變量相同的東西 $ z $ . 繪製時,這些將遵循它們各自的分佈(黑線和綠線)。
現在來看每個數字告訴我們的內容:
- 第一個圖**(a)**顯示了分佈在訓練之前的樣子。生成器不產生真實的樣本(即綠線離黑線很遠),判別器不知道如何正確判別(即藍線波動很大)。
- 第二個圖**(b)**是在一個點 $ D $ 已經學會區分兩種類型的樣本(即真假)。藍線現在類似於 sigmoid。這是需要的,以便 $ G $ 可以對其樣品的公平性有準確的反饋。
- 第三個圖**(c)**是在一個點 $ G $ 開始學習如何生成逼真的樣本。請注意綠線現在如何更接近黑線。雖然 $ D $ 也不錯(藍線與兩個分佈之間距離的一半對齊),現在它的工作要困難得多。
- 第四個圖**(d)**是訓練結束時。 $ G $ 現在可以生成完全真實的樣本(即綠線和黑線是一個)。因為這 $ D $ 不能再區分了,所以它隨機預測圖像是真的還是假的(即 $ P(D) = 1/2 $ 到處)