生成式對抗網絡(GAN)-(Generative Adversarial Networks)算法總結(從原始GAN到....目前)

本文將按時間順序總結gan的paper(非所有,會挑選個人認爲比較重要的),並將參考其它博客(會給出鏈接),如有侵權,請私信刪除。
IS 可以反應圖像的生成質量(越大越好),FID 則會更假注重生成的多樣性(越小越好)。
IS_score=233(真實圖片)
SAGAN的IS=52.52、FID=18.65
BigGAN的IS=166

🔴(2014.06-arXiv)GAN:Generative Adversarial Nets論文原文

💡contributions:

  • 開山之作;
  • 原理:生成網絡和判別網絡的互相對抗。生成網絡儘可能生成逼真樣本,判別網絡則儘可能去判別該樣本是真實樣本,還是生成的假樣本。
  • 採用JS散度作爲評判依據。

loss函數(原始gan損失函數的詳細解釋):

  • 損失值只由discriminator計算提供。D(x)結果要麼爲real(1),要麼爲fake(0)。
    在這裏插入圖片描述

(2014.11-arXiv)CGAN:Conditional Generative Adversarial Nets論文原文

💡contributions:

  • 將G和D網絡的輸入都添加了類別標籤,通過訓練,既可以通過給與生成器給定的標籤能夠得到給定的輸出。

loss函數:

  • 跟原始GAN一樣的結構;只是多了個條件標籤
    在這裏插入圖片描述

🔴(2015.11-ICLR)DCGAN:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks論文原文

💡contributions:

  • 在GAN上加了一系列的訓練技巧。
  • 去掉了G和D網絡中的polling layer;
  • 去掉全連接的隱藏層;
  • 在G網絡中最後一層之前所有的層使用RELU,最後一層使用Tanh;
  • 在D網絡中的每一層使用LeakRELU。

網絡結構:

在這裏插入圖片描述

(2016.06-NIPS)InfoGAN:Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets論文原文】【參考文章

💡contributions:

  • 讓網絡學到了可解釋的特徵;
  • 添加互信息函數;
  • 訓練完成後,可以通過給與生成器特定的隱含編碼得生成包含特定特徵的數據;
  • 跟CGAN的區別(CGAN輸入的標籤y是指定的-監督學習,infoGAN輸入的latent C 是通過訓練得到的-無監督學習)

loss函數:

  • V(D,G)爲原始GAN的損失函數。只是添加了一個互信息損失函數。
    在這裏插入圖片描述

🔴(2016.11-arXiv)LSGAN:Least Squares Generative Adversarial Networks論文原文

💡contributions:

  • 採用最小二乘loss作爲評判依據。

loss函數:

  • abc參數的選擇:1、a=-1 b=1 c=0(b-c=1 and b-a=2);2、a=0、c=b=1(c=b)
    在這裏插入圖片描述

🔴(2017.01-arXiv)WGAN:Wasserstein GAN論文原文】【原理解析

💡contributions:

  • 採用地球移動距離(EM, Earth-mover distance),也叫 Wasserstein 距離,作爲評判依據。
  • 判別器最後一層去掉sigmoid;
  • 生成器和鑑別器的loss不取log;
  • 每次更新鑑別器的參數之後將其絕對值截斷到不超過一個固定常數;
  • 不用基於動量的優化算法。

loss函數:

  • 將原始GAN的JS散度換成EM距離作爲評判標準;可以計算兩個無交集的分佈之間的距離。

在這裏插入圖片描述

🔴(2017.04-arXiv)WGAN-GP:Improved Training of Wasserstein GANs論文原文】【原理解析

💡contributions:

  • 出了一種梯度懲罰策略,來取代WGAN中的weight clipping策略。

loss函數:

  • 添加一個梯度懲罰項,滿足Lipschitz條件。
    在這裏插入圖片描述

(2017.10-ICLR)PGGAN:PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION論文原文

💡contributions:

  • 漸進式地增加生成器和判別器的規模,訓練過程中不斷給G和D添加層;
  • 爲了防止新加入的層對原網絡產生巨大影響,提出一種平滑的加入新層的方法。

訓練過程:

  • 漸進式
    在這裏插入圖片描述

(2018.01-?)?-GAN:Which Training Methods for GANs do actually Converge?論文原文】【參考文章-優秀

💡contributions:

  • 總結之前GAN爲什麼收斂不穩定(從數學角度)。

(2018.02-ICLR)SNGAN:SPECTRAL NORMALIZATION FOR GENERATIVE ADVERSARIAL NETWORKS論文原文】【原理推導

💡contributions:

  • 提出一種“嚴格”地解決了1-Lipshcitz約束的方法。
  • 對權重矩陣做譜範數歸一化就可以更好的訓練。

感想:

  • 對WGAN-GP的補充?

🔴(2018.05-arXiv)SAGAN:Self-Attention Generative Adversarial Networks論文原文

💡contributions:

  • 使用SNGAN的Spectral normalization;
  • 引入了Attention機制,讓生成器和判別器可以自動學習圖像中的重要目標(全局);
  • 在訓練過程中,給予G和D不同的學習速率,以平衡兩者的訓練速度;

attention機制:

  • (1)f(x),g(x)和h(x)都是普通的1x1卷積,差別只在於輸出通道大小不同;
  • (2)將f(x)的輸出轉置,並和g(x)的輸出相乘,再經過softmax歸一化得到一個Attention Map;
  • (3)將得到的Attention Map和h(x)逐像素點相乘,得到自適應的注意力feature maps.

在這裏插入圖片描述

🔴(2018.07-arxiv)RSGAN:The relativistic discriminator: a key element missing from standard GAN論文原文】【參考文章

💡contributions:

  • 依據圖靈思想:打亂了數據,是否還能分辨出來?。
  • 還提出了一個 RaSGAN,a 是 average 的意思,就是用整個 batch 的平均來代替單一的真/僞樣本。
  • 解決了SGAN(standard)存在的問題:訓練生成器時,真實樣本沒有參與,所以判別器必須把關於真實樣本的所有屬性記住,這樣才能指導生成器生成更真實的樣本。

loss函數:

  • RGAN:
    在這裏插入圖片描述
  • RaGAN:
    在這裏插入圖片描述

🔴(2018.09-ICLR)Big-GAN:PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION論文原文】【參考文章

💡contributions:

  • batch-size=2048;增加每層的通道數;
  • 採用先驗分佈 z 的“截斷技巧”,根據IS和FID值進行閾值選擇,允許對樣本多樣性和保真度進行精細控制;
  • 正交正則化的思想引入 GAN,爲截斷技巧提供幫助;
  • 傳統的 GAN 都是將 z 作爲輸入直接嵌入生成網絡,而 BigGAN 將噪聲向量 z 送到 G 的多個層而不僅僅是初始層。(FPN?)

共享嵌入:

  • 如下,左圖所示將噪聲向量 z 通過 split 等分成多塊,然後和條件標籤 c 連接後一起送入到生成網絡的各個層中,對於生成網絡的每一個殘差塊又可以進一步展開爲右圖的結構。可以看到噪聲向量 z 的塊和條件標籤 c 在殘差塊下是通過 concat 操作後送入 BatchNorm 層,這種嵌入方式就是共享嵌入,線性投影到每個層的 bias 和 weight。共享嵌入與傳統嵌入的差別是,傳統嵌入爲每個嵌入分別設置一個層,而共享嵌入是將z與c的連接一併傳入所有BatchNorm。
    在這裏插入圖片描述

(2029.09-?)?-GAN:?論文原文】【等待更新】

💡contributions:

  • 等待更新。

訓練過程:

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