生成對抗網路 (GAN) 是如何工作的?



生成對抗網路 (GAN) 是一種強大的生成建模方法。GAN 基於深度神經網路架構,可以生成看起來像原始訓練資料的新複雜輸出。

GAN 通常利用卷積神經網路 (CNN) 等架構。事實上,像 ChatGPT 一樣,其他基於深度學習的大型語言模型 (LLM) 都是 GAN 的一個顯著應用。本章涵蓋了您需要了解的有關 GAN 及其工作原理的所有內容。

什麼是生成對抗網路?

生成對抗網路 (GAN) 是一種用於無監督學習的人工智慧框架。GAN 由兩個神經網路組成:一個**生成器**和一個**判別器**。GAN 使用對抗訓練來生成類似於實際資料的合成數據。

GAN 可以分為**三個組成部分** -

  • **生成** - 該元件專注於透過理解資料集中的潛在模式來學習如何生成新資料。
  • **對抗** - 簡單來說,“對抗”意味著將兩件事置於對立面。在 GAN 中,生成的資料與來自資料集的真實資料進行比較。這是使用一個訓練有素的模型來區分真實資料和虛假資料完成的。此模型稱為判別器。
  • **網路** - 為了實現學習過程,GAN 使用深度神經網路。

在深入瞭解 GAN 的工作原理之前,讓我們首先討論其兩個主要部分:生成器模型和判別器模型。

生成器模型

生成器模型的目標是生成新的資料樣本,這些樣本旨在類似於來自資料集的真實資料。

  • 它將隨機輸入資料作為輸入,並將其轉換為合成數據樣本。
  • 轉換後,生成器的另一個目標是在呈現給判別器時生成與真實資料相同的資料。
  • 生成器實現為神經網路模型。根據生成的資料型別,它使用全連線層(如 Dense)或卷積層。

判別器模型

判別器模型的目標是評估輸入資料並試圖區分來自資料集的真實資料樣本和生成器模型生成的虛假資料樣本。

  • 它接收輸入資料並預測它是真實的還是虛假的。
  • 判別器模型的另一個目標是正確地將輸入資料的來源分類為真實或虛假。
  • 與生成器模型類似,判別器模型也實現為神經網路模型。它也使用 Dense 或卷積層。

在 GAN 的訓練過程中,生成器和判別器都同時進行訓練,但方式相反,即相互競爭。

GAN 是如何工作的?

要了解 GAN 的工作原理,首先請檢視此圖表,該圖表顯示了 GAN 的不同元件如何發揮作用以生成與真實資料非常相似的新資料樣本 -

Generative Model Architecture

GAN 有兩個主要元件:一個**生成器網路**和一個**判別器網路**。下面是 GAN 工作原理中涉及的步驟 -

初始化

GAN 由兩個神經網路組成:生成器(假設為**G**)和判別器(假設為**D**)。

  • 生成器的目標是生成新的資料樣本(如影像或文字),這些樣本與來自資料集的真實資料非常相似。
  • 判別器扮演評論家的角色,其目標是區分真實資料和生成器生成的資料。

訓練迴圈

訓練迴圈包括交替訓練生成器和判別器。

訓練判別器

在訓練判別器時,對於每次迭代 -

  • 首先,從資料集中選擇一批真實資料樣本。
  • 接下來,使用當前的生成器生成一批虛假資料樣本。
  • 生成後,在真實資料和虛假資料樣本上訓練判別器。
  • 最後,判別器透過調整其權重以最小化其分類誤差來學習區分真實資料和虛假資料。

訓練生成器

在訓練生成器時,對於每次迭代 -

  • 首先,使用生成器生成一批虛假資料樣本。
  • 接下來,訓練生成器以生成判別器分類為真實資料的虛假資料。為此,我們需要將虛假資料透過判別器,並根據判別器的分類誤差更新生成器的權重。
  • 最後,生成器將透過調整其權重以最大化判別器在對生成的樣本進行分類時的誤差來學習生成更逼真的虛假資料。

對抗訓練

隨著訓練的進行,生成器和判別器都以對抗的方式提高其效能,即相互對立。

生成器在建立類似於真實資料的虛假資料方面變得更好,而判別器在區分真實資料和虛假資料方面變得更好。

藉助生成器和判別器之間這種對抗關係,這兩個網路都嘗試持續改進,直到生成器生成與真實資料相同的資料。

評估

訓練完成後,生成器可用於生成類似於來自資料集的真實資料的新資料樣本。

我們可以透過目視檢查樣本或使用定量度量(如相似度得分或分類器準確率)來評估生成資料的質量。

微調和最佳化

根據應用,您可以微調訓練好的 GAN 模型以提高其效能或將其適應特定任務或資料集。

結論

生成對抗網路 (GAN) 是最突出和最廣泛使用的生成模型之一。在本章中,我們解釋了 GAN 的基礎知識以及它如何使用神經網路生成類似於實際資料的合成數據。

GAN 工作原理中涉及的步驟包括:初始化、訓練迴圈、訓練判別器、訓練生成器、對抗訓練、評估以及微調和最佳化。

廣告

© . All rights reserved.