aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornunzip <np.scarh@gmail.com>2019-03-14 19:33:09 +0000
committernunzip <np.scarh@gmail.com>2019-03-14 19:33:09 +0000
commit80d5df3b64c65f0bb582404ca18a6db0fff4d408 (patch)
tree724dff2e4be062bf321924c8fefc5dfaef2665f3
parent5f6549eb38ba92762e7f4419deeb6a9b6284ebf3 (diff)
downloade4-gan-80d5df3b64c65f0bb582404ca18a6db0fff4d408.tar.gz
e4-gan-80d5df3b64c65f0bb582404ca18a6db0fff4d408.tar.bz2
e4-gan-80d5df3b64c65f0bb582404ca18a6db0fff4d408.zip
Add mode collapse and fix architecture report
-rw-r--r--report/fig/cdc_collapse.pngbin0 -> 16386 bytes
-rw-r--r--report/fig/cdcdesc.pdfbin0 -> 284475 bytes
-rw-r--r--report/fig/cdcgen.pdfbin0 -> 109586 bytes
-rw-r--r--report/fig/cdcloss3.pngbin0 -> 16346 bytes
-rw-r--r--report/fig/clustcollapse.pngbin0 -> 19917 bytes
-rw-r--r--report/paper.md151
6 files changed, 12 insertions, 139 deletions
diff --git a/report/fig/cdc_collapse.png b/report/fig/cdc_collapse.png
new file mode 100644
index 0000000..01e5fd6
--- /dev/null
+++ b/report/fig/cdc_collapse.png
Binary files differ
diff --git a/report/fig/cdcdesc.pdf b/report/fig/cdcdesc.pdf
new file mode 100644
index 0000000..07710e8
--- /dev/null
+++ b/report/fig/cdcdesc.pdf
Binary files differ
diff --git a/report/fig/cdcgen.pdf b/report/fig/cdcgen.pdf
new file mode 100644
index 0000000..a25d0f5
--- /dev/null
+++ b/report/fig/cdcgen.pdf
Binary files differ
diff --git a/report/fig/cdcloss3.png b/report/fig/cdcloss3.png
new file mode 100644
index 0000000..4b3c726
--- /dev/null
+++ b/report/fig/cdcloss3.png
Binary files differ
diff --git a/report/fig/clustcollapse.png b/report/fig/clustcollapse.png
new file mode 100644
index 0000000..a1293c8
--- /dev/null
+++ b/report/fig/clustcollapse.png
Binary files differ
diff --git a/report/paper.md b/report/paper.md
index 2177177..d89a394 100644
--- a/report/paper.md
+++ b/report/paper.md
@@ -85,15 +85,15 @@ but no mode collapse was observed even with the shallow model.
## CGAN Architecture description
-CGAN is a conditional version of a GAN which utilises labeled data. Unlike DCGAN, CGAN is trained with explicitly provided labels which allow CGAN to associate features with specific labels. This has the intrinsic advantage of allowing us to specify the label of generated data. The baseline CGAN which we evaluate is visible in figure \ref{fig:cganarc}. The baseline CGAN architecture presents a series blocks each contained a dense layer, LeakyReLu layer (slope=0.2) and a Batch Normalisation layer. The baseline discriminator uses Dense layers, followed by LeakyReLu (slope=0.2) and a Droupout layer.
+CGAN is a conditional version of a GAN which utilises labeled data. Unlike DCGAN, CGAN is trained with explicitly provided labels which allow CGAN to associate features with specific labels. This has the intrinsic advantage of allowing us to specify the label of generated data. The baseline CGAN which we evaluate is visible in figure \ref{fig:cganarc}. The baseline CGAN architecture presents a series blocks each contained a dense layer, `LeakyReLu` layer (slope=0.2) and a Batch Normalisation layer. The baseline discriminator uses Dense layers, followed by `LeakyReLu` (slope=0.2) and a Droupout layer.
The optimizer used for training is `Adam`(`learning_rate=0.002`, `beta=0.5`).
The Convolutional CGAN (CDCGAN) analysed follows the structure presented in the relevant Appendix section. It uses TODO ADD BRIEF DESCRIPTION
We evaluate permutations of the architecture involving:
-* Shallow CGAN - 1 Dense-LeakyReLu-BN block
-* Deep CGAN - 5 Dense-LeakyReLu-BN
+* Shallow CGAN - 1 `Dense-LeakyReLu-BN` block
+* Deep CGAN - 5 `Dense-LeakyReLu-BN`
* Deep Convolutional GAN - DCGAN + conditional label input
* One-Sided Label Smoothing (LS)
* Various Dropout (DO)- Use 0.1, 0.3 and 0.5
@@ -382,8 +382,6 @@ $$ L_{\textrm{total}} = \alpha L_{\textrm{LeNet}} + \beta L_{\textrm{generator}}
<div id="refs"></div>
-\newpage
-
# Appendix
## DCGAN-Appendix
@@ -540,145 +538,20 @@ $$ L_{\textrm{total}} = \alpha L_{\textrm{LeNet}} + \beta L_{\textrm{generator}}
## CDCGAN Alternative Architecture
-### Generator
-```
-__________________________________________________________________________________________________
-Layer (type) Output Shape Param # Connected to
-==================================================================================================
-input_1 (InputLayer) (None, 100) 0
-__________________________________________________________________________________________________
-dense_2 (Dense) (None, 3136) 316736 input_1[0][0]
-__________________________________________________________________________________________________
-reshape_2 (Reshape) (None, 7, 7, 64) 0 dense_2[0][0]
-__________________________________________________________________________________________________
-conv2d_transpose_1 (Conv2DTrans (None, 14, 14, 64) 36928 reshape_2[0][0]
-__________________________________________________________________________________________________
-batch_normalization_1 (BatchNor (None, 14, 14, 64) 256 conv2d_transpose_1[0][0]
-__________________________________________________________________________________________________
-activation_1 (Activation) (None, 14, 14, 64) 0 batch_normalization_1[0][0]
-__________________________________________________________________________________________________
-input_2 (InputLayer) (None, 1) 0
-__________________________________________________________________________________________________
-conv2d_transpose_2 (Conv2DTrans (None, 28, 28, 64) 36928 activation_1[0][0]
-__________________________________________________________________________________________________
-dense_1 (Dense) (None, 64) 128 input_2[0][0]
-__________________________________________________________________________________________________
-batch_normalization_2 (BatchNor (None, 28, 28, 64) 256 conv2d_transpose_2[0][0]
-__________________________________________________________________________________________________
-reshape_1 (Reshape) (None, 1, 1, 64) 0 dense_1[0][0]
-__________________________________________________________________________________________________
-activation_2 (Activation) (None, 28, 28, 64) 0 batch_normalization_2[0][0]
-__________________________________________________________________________________________________
-up_sampling2d_1 (UpSampling2D) (None, 28, 28, 64) 0 reshape_1[0][0]
-__________________________________________________________________________________________________
-multiply_1 (Multiply) (None, 28, 28, 64) 0 activation_2[0][0]
- up_sampling2d_1[0][0]
-__________________________________________________________________________________________________
-conv2d_1 (Conv2D) (None, 28, 28, 64) 36928 multiply_1[0][0]
-__________________________________________________________________________________________________
-batch_normalization_3 (BatchNor (None, 28, 28, 64) 256 conv2d_1[0][0]
-__________________________________________________________________________________________________
-activation_3 (Activation) (None, 28, 28, 64) 0 batch_normalization_3[0][0]
-__________________________________________________________________________________________________
-multiply_2 (Multiply) (None, 28, 28, 64) 0 activation_3[0][0]
- up_sampling2d_1[0][0]
-__________________________________________________________________________________________________
-conv2d_2 (Conv2D) (None, 28, 28, 64) 36928 multiply_2[0][0]
-__________________________________________________________________________________________________
-batch_normalization_4 (BatchNor (None, 28, 28, 64) 256 conv2d_2[0][0]
-__________________________________________________________________________________________________
-activation_4 (Activation) (None, 28, 28, 64) 0 batch_normalization_4[0][0]
-__________________________________________________________________________________________________
-multiply_3 (Multiply) (None, 28, 28, 64) 0 activation_4[0][0]
- up_sampling2d_1[0][0]
-__________________________________________________________________________________________________
-conv2d_3 (Conv2D) (None, 28, 28, 1) 577 multiply_3[0][0]
-__________________________________________________________________________________________________
-activation_5 (Activation) (None, 28, 28, 1) 0 conv2d_3[0][0]
-==================================================================================================
-Total params: 466,177
-Trainable params: 465,665
-Non-trainable params: 512
-__________________________________________________________________________________________________
-```
-
-### Discriminator
-
-```
-__________________________________________________________________________________________________
-Layer (type) Output Shape Param # Connected to
-==================================================================================================
-input_3 (InputLayer) (None, 28, 28, 1) 0
-__________________________________________________________________________________________________
-input_2 (InputLayer) (None, 1) 0
-__________________________________________________________________________________________________
-conv2d_4 (Conv2D) (None, 28, 28, 64) 640 input_3[0][0]
-__________________________________________________________________________________________________
-dense_3 (Dense) (None, 64) 128 input_2[0][0]
-__________________________________________________________________________________________________
-batch_normalization_5 (BatchNor (None, 28, 28, 64) 256 conv2d_4[0][0]
-__________________________________________________________________________________________________
-reshape_3 (Reshape) (None, 1, 1, 64) 0 dense_3[0][0]
-__________________________________________________________________________________________________
-leaky_re_lu_1 (LeakyReLU) (None, 28, 28, 64) 0 batch_normalization_5[0][0]
-__________________________________________________________________________________________________
-up_sampling2d_2 (UpSampling2D) (None, 28, 28, 64) 0 reshape_3[0][0]
-__________________________________________________________________________________________________
-multiply_4 (Multiply) (None, 28, 28, 64) 0 leaky_re_lu_1[0][0]
- up_sampling2d_2[0][0]
-__________________________________________________________________________________________________
-conv2d_5 (Conv2D) (None, 28, 28, 64) 36928 multiply_4[0][0]
-__________________________________________________________________________________________________
-batch_normalization_6 (BatchNor (None, 28, 28, 64) 256 conv2d_5[0][0]
-__________________________________________________________________________________________________
-leaky_re_lu_2 (LeakyReLU) (None, 28, 28, 64) 0 batch_normalization_6[0][0]
-__________________________________________________________________________________________________
-multiply_5 (Multiply) (None, 28, 28, 64) 0 leaky_re_lu_2[0][0]
- up_sampling2d_2[0][0]
-__________________________________________________________________________________________________
-conv2d_6 (Conv2D) (None, 28, 28, 64) 36928 multiply_5[0][0]
-__________________________________________________________________________________________________
-batch_normalization_7 (BatchNor (None, 28, 28, 64) 256 conv2d_6[0][0]
-__________________________________________________________________________________________________
-leaky_re_lu_3 (LeakyReLU) (None, 28, 28, 64) 0 batch_normalization_7[0][0]
-__________________________________________________________________________________________________
-multiply_6 (Multiply) (None, 28, 28, 64) 0 leaky_re_lu_3[0][0]
- up_sampling2d_2[0][0]
-__________________________________________________________________________________________________
-conv2d_7 (Conv2D) (None, 14, 14, 64) 36928 multiply_6[0][0]
-__________________________________________________________________________________________________
-batch_normalization_8 (BatchNor (None, 14, 14, 64) 256 conv2d_7[0][0]
-__________________________________________________________________________________________________
-leaky_re_lu_4 (LeakyReLU) (None, 14, 14, 64) 0 batch_normalization_8[0][0]
-__________________________________________________________________________________________________
-conv2d_8 (Conv2D) (None, 7, 7, 64) 36928 leaky_re_lu_4[0][0]
-__________________________________________________________________________________________________
-batch_normalization_9 (BatchNor (None, 7, 7, 64) 256 conv2d_8[0][0]
-__________________________________________________________________________________________________
-leaky_re_lu_5 (LeakyReLU) (None, 7, 7, 64) 0 batch_normalization_9[0][0]
-__________________________________________________________________________________________________
-flatten_1 (Flatten) (None, 3136) 0 leaky_re_lu_5[0][0]
-__________________________________________________________________________________________________
-dropout_1 (Dropout) (None, 3136) 0 flatten_1[0][0]
-__________________________________________________________________________________________________
-dense_4 (Dense) (None, 1) 3137 dropout_1[0][0]
-==================================================================================================
-Total params: 152,897
-Trainable params: 152,257
-Non-trainable params: 640
-__________________________________________________________________________________________________
-```
-
-## Retrain-Appendix
+\begin{figure}[H]
+\begin{center}
+\includegraphics[width=24em]{fig/cdcgen.pdf}
+\end{center}
+\end{figure}
-\begin{figure}
+\begin{figure}[H]
\begin{center}
-\includegraphics[width=24em]{fig/train_few_real.png}
-\caption{Training with few real samples}
-\label{fig:few_real}
+\includegraphics[width=24em]{fig/cdcdesc.pdf}
\end{center}
\end{figure}
+## Retrain-Appendix
+
\begin{figure}[H]
\begin{center}
\includegraphics[width=24em]{fig/fake_only.png}