生成對抗網路 GAN 是如何工作的?
生成對抗網路 (GAN) 是乙個框架,由兩個同時進行對抗訓練的神經網路組成,乙個判別器和乙個生成器。 鑑別器將生成的資料與真實資料分開,而生成器則生成嘗試對真實資料進行建模的合成資料。 訓練使生成器更好地生成真實樣本來欺騙判別器,從而增強生成器的判別能力。 GAN是在多個領域(包括文字和影象生成)中產生逼真、高質量的輸出的有效工具,因為這種來回競爭導致產生越來越令人信服和難以區分的合成資料。
讓我們舉乙個生成狗影象的例子。
第 1 步 - 鑑別員培訓
首先,一些隨機雜訊訊號被傳送到發生器,生成器會產生一些包含雜訊的無用影象。
鑑別器有兩個輸入。 第乙個是生成器生成的樣本輸出影象,第二個是真實世界的狗影象的樣本。
此後,鑑別器在比較兩個影象後填充一些值(概率),如圖 2 所示。 它輸出生成器的影象計算。 3 和 05. 計算真實世界的影象。 9 和 02。
現在,通過將生成的影象的概率與 0(零)進行比較,並將真實單詞影象的概率與 1(一)進行比較來計算誤差。 (示例-0。5 和 -02)。
在計算出單個誤差後,計算反向傳播的累積誤差(損耗),並調整判別器的權重。 這就是鑑別者的培訓方式。
步驟 2建造者培訓
如前所述,將損耗反向傳播到鑑別器以調整其權重。 現在,我們還需要將誤差反向傳播到生成器,以便它也可以調整其權重並訓練自己以生成改進的影象。
現在,生成器生成的影象被用作生成器本身的輸入,而不是隨機雜訊。
例如,從生成器新生成的影象將被輸入鑑別器,鑑別器再次計算概率。 1 和 02。
現在將通過將生成的影象的概率與 1(一)進行比較來計算誤差。
在計算出單個誤差後,它計算出反向傳播的累積誤差(損耗),並調整發電機的權重。 這就是發電機的訓練方式。
經過幾次迭代後,您將看到生成器開始生成接近真實世界影象的影象。
Gans 通過獨特的設定解決了這一挑戰,將其視為乙個監督學習問題,涉及兩個關鍵元件:生成器,學習生成新例項,以及鑑別器,負責區分真實例項和生成例項。 通過對抗性訓練,這些模型可以競爭性地相互作用,直到生成器熟練地建立真實樣本,這欺騙了鑑別器大約一半的時間。
Gans 的這個動態領域發展迅速,展示了在各個領域生成逼真內容的非凡能力。 值得注意的應用包括影象到影象的轉換任務和建立與真實影象無法區分的逼真影象**,展示了GAN在生成建模領域的變革潛力。