深度卷積對抗生成網路 DCGAN

2021-08-01 02:09:16 字數 1752 閱讀 3017

注:有時間去看英文原版。

本文是參考文獻[1]的**筆記。

卷積神經網路在有監督學習中的各項任務上都有很好的表現,但在無監督學習領域,卻比較少。本文介紹的演算法將有監督學習中的cnn和無監督學習中的gan結合到了一起。

在非cnn條件下,lapgan在影象解析度提公升領域也取得了好的效果。

與其將本文看成是cnn的擴充套件,不如將其看成gan的擴充套件到cnn領域。而gan的基本演算法,可以參考對抗神經網路

。gan無需特定的cost function的優勢和學習過程可以學習到很好的特徵表示,但是gan訓練起來非常不穩定,經常會使得生成器產生沒有意義的輸出。而**的貢獻就在於:

模型結構上需要做如下幾點變化:

移除全連線層 

在generator的除了輸出層外的所有層使用relu,輸出層採用tanh。

在discriminator的所有層上使用leakyrelu。

dcgan的generator網路結構:

其中,這裡的conv層是four fractionally-strided convolution,在其他的*****中也可能被稱為是deconvolution.

經過一次迴圈的訓練(online learning)和收斂後得模型得到的效果分別如下:

這表明了dcgan不是通過記憶訓練資料來生成/過擬合高質量的。

為了驗證dcgan的特徵表示的有效性,將特徵表示輸入到l2-svm中,並將分類結果與其他的無監督學習演算法進行對比。

為了做到這一點,使用在imagenet-1k上訓練得到的generator,使用所有層的所有cnn特徵作為輸入,將每一層的cnn特徵使用max-pooling的方式降到4×4,然後展開,形成乙個28672維的向量,輸入到l2-svm中。

mnist資料集上的效果對比:

svnh資料集上的對比:

通過慢慢的調整初始向量來探索隱空間是如何影響最終的生成的。這樣,既可以探索特徵是如何摺疊到隱空間的,又可以判斷這些是由於真正學習到了語義特徵還是只是記住了(如果有sharp的變化)。

由上圖,可以看到一些逐漸的變化,比如第六行中,逐漸有了乙個窗戶。第四行中,電視逐漸消失。

通過分析filter,我們可以看到,在對房屋特徵的學習中,gan確實學習到了床、視窗等特徵。

左側是隨機filter,右側是學習到的filter,可見,右側的filter還是有意義的。

在隱空間上,假設知道哪幾個變數控制著某個物體,那麼僵這幾個變數擋住是不是就可以將生成中的某個物體消失?

**中的實驗是這樣的:首先,生成150張,包括有窗戶的和沒有窗戶的,然後使用乙個邏輯斯底回歸函式來進行分類,對於權重不為0的特徵,認為它和窗戶有關。將其擋住,得到新的生成。

類似於word2vec,影象是不是也有類似的特點,可以在隱空間裡進行加減法來得到新的影象?

實驗表明,使用單張的表示並不穩定,使用三張會比較穩定。

可以看到,單張並不穩定,而三張則可以學到表情和墨鏡等特徵。

更甚者,可以學到乙個穩定的向量,來進行某種變換,比如,方位變換。

這篇*****的主要貢獻看似簡單,但其實工作量很大,充分展現出作者在調參**上的卓越功力。

但我覺得,更大的貢獻在於作者對於效果的研究方式,生成模型很難來區分好與壞,而本*****通過探索隱空間,分析網路,比較特徵表現能力等一系列手段,證明了dcgan演算法確實是乙個強大的演算法。

[1]. unsupervised representations learning with deep convolutional generative adversarial networks

GAN對抗生成網路

網上看了很多教程結合自己理解整合了一下。原文 看了很多篇中通俗易懂的。判別模型 比作乙個二分類器 如同0 1分類器 來判斷輸入的樣本是真是假。就是輸出值大於0.5還是小於0.5 比如上面的這個圖,我們有的只是真實採集而來的人臉樣本資料集,僅此而已,而且很關鍵的一點是我們連人臉資料集的類標籤都沒有,也...

生成對抗網路(三)DCGAN

最近在研究dcgan,全稱為deep convolutional generative adversarial networks,是在gan的基礎上加入卷積層,使得模型在影象的生成上能夠穩定而不是簡單地對樣本輸入產生記憶。gan採用的是全連線神經網路,訓練時不穩定,容易崩潰,而這篇 針對原始gan進...

對抗生成網路(GAN)學習筆記

判別模型 由資料直接學習決策函式y f x 或條件概率分布p y x 作為 模型,即判別模型。判別方法關心的是對於給定的輸入x,應該 什麼樣的輸出y。生成模型 由資料學習聯合概率分布p x,y 然後由p y x p x,y p x 求出概率分布p y x 作為 的模型。該方法表示了給定輸入x與產生輸...