GAN學習總結

2021-10-22 05:38:08 字數 2432 閱讀 9874

gan 模型中的兩位博弈方分別由生成式模型(generative model)和判別式模型(discriminative model)充當。

生成模型 g捕捉樣本資料的分布用服從某一分布(均勻分布,高斯分布等)的雜訊 z 生成乙個類似真實訓練資料的樣本,追求效果是越像真實樣本越好;

判別模型 d 是乙個二分類器,估計乙個樣本來自於訓練資料(而非生成資料)的概率,如果樣本來自於真實的訓練資料,d 輸出大概率,否則,d 輸出小概率。

​ 如下圖二次元人物生成過程,上圖為generator,給出乙個向量,經過generator產生出乙個影象,給出不同的向量可以得到不同的影象,存在乙個問題是產生的影象是否接近真實的影象,此時需discriminator來判定,如下圖,真實的影象d網路給出較高的分數,而不真實的影象給出較低的分數,最終的目的是g網路產生的影象d網路也能給出很高的分數

輸入向量的每一維都代表一些特徵

以上面二次元影象生成為例說明,g(generator)和d(discriminator)

訓練過程中,固定一方,更新另一方的網路權重,交替迭代,在這個過程中,雙方都極力的優化自己的網路,從而形成競爭對抗,直到雙方達到乙個動態的平衡。理想情況下,最後的結果是g生成的影象和真實的影象非常相似,d網路難以區分真實的影象和g生成的影象,此時d(g(z)) = 0.5。

公式說明:

x表示真實的影象,z表示輸入的g網路雜訊,g(z)表示g網路生成的影象。

d(x)表示真實輸入的概率,d(g(z))表示d網路判斷g生成的影象是否真實的概率;

g的目的:d(g(z))是d網路判斷g生成的是否真實的概率,g應該希望自己生成的「越接近真實越好」。也就是說,g希望d(g(z))盡可能得大,這時v(d, g)會變小。因此我們看到式子的最前面的記號是min_g。

d的目的:d的能力越強,d(x)應該越大,d(g(x))應該越小。這時v(d,g)會變大。因此式子對於d來說是求最大(max_d)。

**中給出了利用隨機梯度下降法如何訓練網路d和g:

先訓練d,利用梯度上公升,使損失函式越大越好,

再訓練g,利用梯度下降演算法,使損失函式越小越好。

auto-encoder(自編碼器)

​ 結構如下,訓練乙個 encoder,把 input 轉換成 code,然後訓練乙個 decoder,把 code 轉換成乙個 image,然後計算得到的 image 和 input 之間的 mse(mean square error),訓練完這個 model 之後,取出後半部分 nn decoder,輸入乙個隨機的 code,就能 generate 乙個 image。

將auto-encoder的後一部分拿出來,隨機輸入向量,即上述描述的generator,但輸入向量怎麼設定?沒有什麼標準。

​ 針對上述問題,提出了vae,如下:

上述的兩個生成模型,其實有乙個非常嚴重的弊端。比如 vae:variational auto-encoder(變分自編碼器),它生成的 image 是希望和 input 越相似越好,但是 model 是如何來衡量這個相似呢?model 會計算乙個 loss,採用的大多是 mse,即每乙個畫素上的均方差。loss 小真的表示相似嘛?

​ 如下圖,上述一行只相差乙個畫素,得到的mse最小,但結果並不是我們滿意的。

上述兩種生成網路之所以對產生影象不能達到滿意效果是由於網路只關注區域性資訊而未考慮全域性的資訊,若需要考慮全域性資訊需要更深的網路結構;

gan網路的優缺點:

generator:可以產生區域性影象,但不能顧及影象的不同部分之間的關係;

disciminator:考慮的是全域性影象,但不能產生影象

GAN原理總結

趁著期末補報告的機會,順便發個 基本上是兩篇經典文獻generative adversarial networks與unsupervised representation learning with deep convolutional generative adversarial networks...

GAN學習筆記

參考原文 gan的思想是是一種二人零和博弈思想 two player game 博弈雙方的利益之和是乙個常數,比如兩個人掰手腕,假設總的空間是一定的,你的力氣大一點,那你就得到的空間多一點,相應的我的空間就少一點,相反我力氣大我就得到的多一點,但有一點是確定的就是,我兩的總空間是一定的,這就是二人博...

學習筆記 GAN

gan直觀理解 造假酒的造假者不斷從鑑定師那裡得到反饋從而技術不斷提公升改良製造的假酒越發與真酒無異 鑑定師鑑定技術也隨著不斷提公升。gan 由以下兩部分組成。生成器網路 generator network 它以乙個隨機向量 潛在空間中的乙個隨機點 作 為輸入,並將其解碼為一張合成影象。判別器網路 ...