GAN系列-03 Deep Convolutional Generative Adversarial Network

GAN系列-03 Deep Convolutional Generative Adversarial Network

Deep Convolutional Generative Adversarial Network

前言

DCGAN這篇可以看成將GAN應用到CNN的論文,所使用的Objective Function跟GAN一樣,不同的地方在這篇論文的作者使用CNN跟Deconvolution(DeConv)來當訓練用的模型。在DCGAN中,Discriminator是一個CNN的網路,輸入一張圖片,然後輸出是真還假的機率;而Generator和CNN相反,輸入noise通過Generator生成一張圖片,因為vector通過一層層layer而逐漸變大,和CNN的作用相反所以稱之為DeConv。

繼續閱讀
GAN系列-02 Conditional Generative Adversarial Nets

GAN系列-02 Conditional Generative Adversarial Nets

Conditional Generative Adversarial Nets

前言

CGAN跟GAN差別就只是差在加入了條件(Condition),作用是負責監督GAN,讓我們可以控制GAN的輸出。通過給GAN中的Discriminator跟Generator增加一些條件性的約束,來解決GAN對於較大圖片的訓練太自由的問題。

而這個條件可以是任何類型的資料,例如label、tag甚至是圖片等等,目的是有條件的監督Generator生成的資料,使Generator生成的結果不是隨機的,而是符合設定條件的。

以下是CGAN的Objective Function:

繼續閱讀
GAN系列-01 Generative Adversarial Network

GAN系列-01 Generative Adversarial Network

Generative Adversarial Network

前言

GAN基本的概念前一篇有稍微介紹過了,然而要怎麼證明這個概念要如何套用到類神經網路呢?Goodfellow透過了Minimax Theorem來訓練網路,詳細證明過程可以看Scott Rome的Blogger,裡面有很詳細的介紹了怎麼透過Shannon Entropy跟Kullback-Leibler Divergence來一步一步的證明怎麼可以收斂(Nash Equilibrium)。
下面是整個GAN的Objective Function:

繼續閱讀
GAN系列-00 Generative Adversarial Network 生成對抗網路

GAN系列-00 Generative Adversarial Network 生成對抗網路

GAN介紹

Generative Adversarial Network(生成對抗網路,簡稱GAN),算是這十年來最紅的技術,許多在機器學習領域的大佬都說:「GAN是這10年、20年來最酷、最有趣的想法。」,在網路上GAN的介紹文已經算是很氾濫了,這邊就簡單的介紹一下。

繼續閱讀

Neural Network-02 Triplet Loss Example at MNIST

前言

Triplet Loss在FaceNet那篇論文中,主要是要讓屬於相同一個人的人臉圖片在一個Latent Space中越靠近越好,而讓不屬於這個人的人臉在這個Latent Space中遠離這個人,在這裡我使用MNIST資料集來取代人臉資料,將具有相同類別的手寫圖片彼此聚在一起,讓不同的數字之間有一定的差距。

以下的內容為個人理解,如有其他見解歡迎留言討論~

繼續閱讀