對抗式神經網路(GAN, Generative Adversarial Network)

核心概念

它訓練兩個神經網路來彼此競爭,
從指定的訓練資料集中產生更真實的新資料
可以彌補資料過少與過擬合問題

架構介紹

假設建立兩個神經網路:

  • ANN(生成器 Generator):用來生成圖像(例如假人臉)。
  • BNN(判別器 Discriminator):用來判斷輸入圖像是真人還是假人。

流程說明

  1. ANN 生成一張假的人臉圖片。
  2. 將圖片輸入給 BNN 判斷:
    • 輸出 1 代表認為是真人。
    • 輸出 0 代表認為是假人。
  3. ANN 接收回饋,學習如何「騙過」 BNN
  4. BNN 也會根據結果修正判斷機制,變得更難被騙。
  5. 不斷循環訓練,直到:
    • ANN 能生成非常逼真的圖片。
    • BNN 無法分辨真假,達到對抗平衡。

如果判別器越強,那生成器也會變強很多


📊 圖示說明

image

  • 左邊藍色神經網路為 ANN(生成器)
  • 右邊紅色神經網路為 BNN(判別器)
  • 中間箭頭表示生成→判斷的資料流
  • 下方箭頭代表訓練不斷迴圈進行

🎯 最終目標

讓 ANN 生成的圖片真實到足以騙過 BNN。

這種結構可廣泛應用於:

  • 假人臉生成(如:ThisPersonDoesNotExist)
  • AI 繪圖與風格轉換(如:CycleGAN)
  • 偽造音訊、影片、語音等