GAN 結構總覽

生成對抗網路 (GAN) 包含兩個部分:

  • 產生器會學習產生可產生的資料。產生的執行個體會成為歧視器的負面訓練範例。
  • 歧視器學習如何將產生器和假資料與實際資料區分開來。歧視者會對生成機產生懲罰。

訓練開始時,產生器會產生明顯的假資料,而歧視器會快速學習它知道這是假的。

三個資料欄標示為「#39;GenerateData'」、「'Discriminator'」和「Real Data'」。在「#39;Generate Data'」(生成的資料) 下方,一個藍色矩形包含一個松鼠和一個圓圈。這個矩形是發電機最初的不好軌跡。在《##9; Real Data'》中,我們找到一張實際 10 美元帳單的圖片。'Discriminator' 這兩個字詞是 'FAKE' 和 'REAL'. 有一個箭頭從「#K9;FAKE'」字樣指向一個箭頭,指向「#39;Generate Data'」下方的圖片。另一個箭頭從「#AL」|「#39; ReAL'」出現的圖片中指向「#39;Real Data'」底下的圖片。

訓練進行時,產生器會更接近產生會產生結果的輸出內容:

這張圖片會在「#I9;Generate Data '」、「'Discriminator'」、「'Real Data ' Real Data'上圖」中的標題下方新增一列。在「##9;Generate Data'」下方,有一個左上角有個綠色矩形,數字為 10,旁邊是簡單的臉部圖畫。在《##9; Real Data'》中,我們找到一張實際 100 美元帳單的圖片。在「#39;Discriminator'」下方是「##9;FAKE'」一個箭頭,指向「#39;Generate Data'」和「'REAL'」下方的圖片。箭頭下方是「#39;Real Data'」下方的圖片。

最後,如果產生器產生器的運作情況良好,辨別器就更顯而易見的實際和虛構差異。這會開始將假資料真實分類,準確度也會降低。

此圖片會在「##9;Generate Data'」、「'Discriminator'」和「##9;Real Data' Real Data' First 圖片」中的標題下方新增一列。在「#39;Generate data'」底下,有一張二十美元帳單的圖片。在「 #
          32 實境資料」下方,查看 20 美元帳單的圖片。在「#39;Discriminator'」下方是「##9;REAL'」一個箭頭,指向「'Generate Data'」和「'REAL'」下方圖中的箭頭。「#39;Real Data'」下方有箭頭。

整個系統的圖片如下:

生成對抗網路的圖表。圖表中央是標示為 'discriminator' 的方塊。兩個分支版本則會從左側往這個方塊中。上方分支版本位於圖表左上方,標有「#39;real world image'」的圓柱。一個箭頭從這個圓形指向另一個標示為「#39;Sample'」的方塊。標示「'Sample'」方塊的箭頭,指向「#39;Discriminator'」方塊。底部分支部分會送入 'Discriminator' 方塊,開頭為「'Random Input'」。一個箭頭從「#39;Random Input'」方塊引進,以標示為「##9;Generator'」的方塊。箭頭從「#39;Generator'」方塊導向第二個「##9;Sample'」方塊。一個箭頭從「##9;Sample'」方塊指向「##9;Discriminator」方塊。在「Dicriminator」方塊右側,箭頭會指向包含綠色圓圈和紅色圓圈的方塊。方塊上方的「'Real'」這個字樣會顯示在方塊上方的綠色文字中,「#39;False'」則在方塊下方以紅色顯示。兩個箭頭從這個方塊指向圖表右側的兩個方塊。其中一個箭頭會導向一個標示為「##39;Discriminator Loss'」的方塊。另一個箭頭會導向標示為「##39Generator Loss'」的方塊。

產生器和歧視者都是類神經網路。產生器輸出結果會直接連結至歧視輸入內容。透過反向傳播,歧視器的分類提供了發電機用來更新權重的訊號。

讓我們來詳細說明這個系統的各個部分。