Conditional Generative Adversarial Networks(CGAN)筆記

1.概述

CGAN即條件對抗網絡。GAN可以學習到訓練樣本的分佈,從而生成新的數據。GAN雖然能生成新的數據,但是無法確切的控制新樣本的類型。比如手寫數字集,我們無法通過GAN來指定要生成的具體數字。條件對抗網絡就是爲了解決這個問題。

2. 理解CGAN

  1. 下面通過GAN 和CGAN的輸入輸出對比來理解CGAN.
    GAN:
    生成器G, 輸入一個噪聲z, 輸入一個圖像G(Z)
    判別器D, 輸入一個圖片x,輸出一個圖像是真實圖片的概率(D(x)),x是真實樣本或生成樣本
    損失函數: V(D, G) = log(D(x)) + log((1- D(G(z)))) , 這裏僅x是真實樣本, D(z)是生成樣本
    CGAN:
    生成器G, 輸入一個噪聲z,一個條件y, 輸出符合條件y的圖像(G(z/y))
    判別器D,輸入一張圖片x, 一個條件y, 輸出x,在條件y下是真實圖像的概率D(x/y).x是真實樣本或生成樣本
    損失函數: V(D, G) = log(D(x/y)) + log((1- D(G(z/y))))這裏x僅是真實樣本, D(z/y)是生成樣本
    條件y就是希望生成的標籤,因此生成器必須要生成和標籤匹配的樣本, 而判別器要做的不僅是判段圖片是否是真實圖片,還要判讀圖像和條件是否匹配。
    所以在訓練完之後,可以通過標籤和噪聲來使G生成指定的數據樣本!
  2. CGAN基本結構圖解
    圖片來自原論文,相信看完2.1之後這幅結構圖很好理解了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章