GAN損失函數


https://zhuanlan.zhihu.com/p/33752313,講的不錯。

1.損失函數

 第一項主要是針對真實樣本的,第二項是針對生成樣本的損失。

//判別器是盡可能地判別出是真實數據還是生成數據,我一直以為是盡可能判別不出呢。。。

 2.訓練過程

可以看到是先確定G,優化D,確定了優化D之后,再優化G,然后循環進行上面的過程。

3.GAN的缺點

https://zhuanlan.zhihu.com/p/58260684

當固定Generator時,最優的Discriminator是

 在面對最優Discriminator時,Generator的優化目標就變成了

 如果把Discriminator訓練到極致,那么整個GAN的訓練目標就成了最小化真實數據分布與合成數據分布之間的JS散度

有關JS散度的目標函數會帶來梯度消失的問題。也就是說,如果Discriminator訓練得太好,Generator就無法得到足夠的梯度繼續優化,而如果Discriminator訓練得太弱,指示作用不顯著,同樣不能讓Generator進行有效的學習。這樣一來,Discriminator的訓練火候就非常難把控,這就是GAN訓練難的根源。

//2021-4-5更新——————

4.基本訓練過程 

雖然圖中畫的是真實和生成圖片同時進入判別器,但實際上是分階段進入的。

 使用交叉熵損失,針對判別器D和生成器G有不同的優化器,是分階段優化的。

4.1 訓練判別器D

基本分為4個步驟:

①向判別器D輸入真實圖片,獲取輸出,計算與真實label交叉熵損失;

②用生成器G生成虛假圖片;

③將虛假圖片輸入判別器D,獲取輸出,計算與虛假label交叉熵損失;

④更新判別器D的參數

 計算損失時分別計算的是真實的圖片與真實的label,虛假的圖片與虛假的label,目的是讓判別器盡可能地分辨出真偽圖片。

4.2 訓練生成器G

基本分為3個步驟:

①生成虛假image;

②向判別器D輸入虛假image,計算和真實label的交叉熵;

③更新G的參數

 訓練G的目的是盡可能生成和真實圖片相似的image。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM