GAN生成對抗網絡合集(一):理論基礎及一些相關概念

       對抗神經網絡其實是兩個網絡的的組合,兩者關係形成對抗。是用網絡來監督網絡的一個自學習過程。

  • 生成器(generator)生成模擬數據:不斷優化自己讓判別器判斷不出來是模擬數據。主要是從訓練數據中產生相同分佈的samples,對於輸入x,類別標籤y,在生成式模型中估計其聯合概率分佈(兩個及以上隨機變量組成的隨機向量的概率分佈);
  • 判別器(discriminator)判斷生成的數據是真實還是模擬的:不斷優化自己讓自己判斷更準確。是估計樣本屬於某類的條件概率分佈。採用傳統監督學習方法。

       生成器用一個隨機編碼向量x’來輸出一個模擬樣本,x’是由高斯分佈隨機採樣得到的噪聲
       判別器的輸入是一個樣本(真實樣本和模擬樣本放在一起隨機抽取),輸出一個判斷該樣本是真樣本還是模擬樣本(假樣本)的結果。

在這裏插入圖片描述
                                                                                                         圖1-1 GAN網絡

       二者結合後,經過大量次數的迭代訓練會使generator儘可能模擬出以假亂真的樣本,而discriminator會有更精確的鑑別真僞數據的能力,最終整個GAN會達到所謂的納什均衡,即discriminator對於generator的數據鑑別結果爲正確率和錯誤率各佔50%。根據GAN的結構不同,會有不同的對應訓練方法。無論什麼方法,其原理是一樣的,即在迭代訓練的優化過程中進行兩個網絡的優化。有的會在一個優化步驟中對兩個網絡優化,有的會對兩個網絡採取不同的優化步驟
       GAN的具體網絡結構圖如下所示:

在這裏插入圖片描述
       生成式對抗網絡分兩種類型,一種是從高斯隨機分佈中生成具有隨機變化的高質量虛擬圖像,另一種是通過多幅圖像的強關聯性,結合各圖像和數據的特有信息獲得雜糅指定屬性的高質量虛擬圖像,而後者存在着數據關聯性的約束,通常用於實現圖像遷移。

1 GAN的目標(損失)函數

這部分暫時看不懂可以先看後面章節,這部分在這裏是先做一個彙總~

在這裏插入圖片描述
Loss = 真實樣本的期望值 - 模擬樣本的期望值

在這裏插入圖片描述

       即判別器的目標是最小化交叉熵損失,生成器的目標是最小化生成數據分佈和真實數據分佈的JS散度。

-----------------------------------------------------------------------------------------------------------------------------------------

       現有的GAN中,原始GAN、InfoGAN等的loss值函數是“各自爲營”,就是D、G、Info、分類等各種交叉熵loss值的混合項相加,再分成D、G兩部分進行Adam優化;(sigmoid交叉熵函數)
       其中,模擬樣本與正確分類/真實樣本與正確分類這兩種輸入進D中,模擬樣本與真實分類輸入進G中(要明白D的目的就是通過訓練分辨出誰是真實圖片誰是模擬圖片,G的目的就是通過訓練以假亂真,讓D判斷不出圖片是真實還是模擬的

在這裏插入圖片描述
在這裏插入圖片描述
       WGan以及WGan-gp的loss值函數採用判別器D=模擬樣本-真實樣本+約束項的方式。生成器G= -模擬樣本 的方式;(絕對值差法)

在這裏插入圖片描述
       LSGan的loss損失函數就是如下:(MSE平方差法)

在這裏插入圖片描述
在這裏插入圖片描述

       經典論文復現 | LSGAN:最小二乘生成對抗網絡

       GAN-cls是對判別器的輸入進行了調整,原來是模擬樣本與正確分類/真實樣本與正確分類這兩種輸入進D中,Gan-cls是將真實樣本與正確分類/真實樣本與隨機分類/模擬樣本與隨機分類這三種輸入進D中,其實沒啥大影響。損失函數也相應在D上調整一下。

在這裏插入圖片描述
       歸根結底,GAN的創新就是在1.改變loss值的計算方式,或者2.加各種約束項來控制生成的值,再或者3.增添多個D或者G組合一下進行一下所謂的結構創新這三點上做文章。而目標檢測的多數算法,都是在改變(優化)內部各個結構來創新的。而且目標檢測有map/召回率/FPS作爲衡量標準。而GAN基本是在看結果圖,中間只要G和D的loss函數越來越小即可。

2 mode collapsing(模式崩塌)

       某個模式(mode)出現大量重複樣本,如:

在這裏插入圖片描述
       生成樣本缺乏多樣性,存在大量重複。比如上圖右側,紅框裏面人物反覆出現。

       解決方案:

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

3 GAN的評價標準

3.1 主觀評價

       最常見。但容易帶有主觀色彩,且當GAN過擬合後,生成的樣本非常真實,人類主觀評價非常高,卻不一定是個好的GAN。

3.2 inception score

在這裏插入圖片描述

3.3 mode score

在這裏插入圖片描述

3.4 Kernel MMD(Maximum Mean Discrepancy)

在這裏插入圖片描述

3.5 推土機距離

在這裏插入圖片描述

3.6 FID(frechet inception distance)

在這裏插入圖片描述

3.7 1-Nearest Neighbor classifier

在這裏插入圖片描述

4 儘量避免GAN的訓練崩潰問題

在這裏插入圖片描述

5 GAN的輸入隨機噪聲

在這裏插入圖片描述
在這裏插入圖片描述

6 GAN的應用

6.1 圖像翻譯

       圖像翻譯是指從一幅圖像到另一幅圖像的轉換。常見的圖像翻譯任務有:
       圖像去噪、圖像超分辨、圖像補全、風格遷移…

       分爲:有監督圖像翻譯——原始域與目標域存在一一對應數據;
                  無監督圖像翻譯——原始域與目標域不存在一一對應數據。

在這裏插入圖片描述
                                                                                                         圖1 有監督圖像翻譯

在這裏插入圖片描述
                                                                                                         圖2 無監督圖像翻譯

在這裏插入圖片描述

數據增廣

在這裏插入圖片描述

語音領域

文本領域

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章