aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornunzip <np.scarh@gmail.com>2019-03-13 13:04:41 +0000
committernunzip <np.scarh@gmail.com>2019-03-13 13:04:41 +0000
commit06310df0389921e20ce194370344e4f12828049b (patch)
tree3d45d12dd3a46bce5e1abe6084f8c9a613224337
parent9eeba3d77e0dbd1610213c2857bc32fb3187db28 (diff)
downloade4-gan-06310df0389921e20ce194370344e4f12828049b.tar.gz
e4-gan-06310df0389921e20ce194370344e4f12828049b.tar.bz2
e4-gan-06310df0389921e20ce194370344e4f12828049b.zip
Fix epoch/batch
-rw-r--r--report/fig/cgan_dropout01.pngbin19085 -> 18171 bytes
-rw-r--r--report/fig/cgan_dropout05.pngbin20612 -> 19569 bytes
-rw-r--r--report/fig/dcgan_dropout01_gd.pngbin21547 -> 20802 bytes
-rw-r--r--report/fig/dcgan_dropout05_gd.pngbin25444 -> 24782 bytes
-rw-r--r--report/fig/generic_gan_loss.pngbin32275 -> 28806 bytes
-rw-r--r--report/fig/long_cgan.pngbin23641 -> 22301 bytes
-rw-r--r--report/fig/long_cgan_ex.pngbin0 -> 90457 bytes
-rw-r--r--report/fig/long_dcgan.pngbin18557 -> 17753 bytes
-rw-r--r--report/fig/long_dcgan_ex.pngbin0 -> 142641 bytes
-rw-r--r--report/fig/med_cgan.pngbin19123 -> 18352 bytes
-rw-r--r--report/fig/med_cgan_ex.pngbin0 -> 84936 bytes
-rw-r--r--report/fig/med_dcgan.pngbin18041 -> 17503 bytes
-rw-r--r--report/fig/med_dcgan_ex.pngbin0 -> 186851 bytes
-rw-r--r--report/fig/short_cgan.pngbin26839 -> 24681 bytes
-rw-r--r--report/fig/short_cgan_ex.pngbin0 -> 79789 bytes
-rw-r--r--report/fig/short_dcgan.pngbin22431 -> 20998 bytes
-rw-r--r--report/fig/short_dcgan_ex.pngbin0 -> 158578 bytes
-rw-r--r--report/fig/smoothing.pngbin18734 -> 17544 bytes
-rw-r--r--report/fig/smoothing_ex.pngbin0 -> 96210 bytes
-rw-r--r--report/paper.md22
20 files changed, 11 insertions, 11 deletions
diff --git a/report/fig/cgan_dropout01.png b/report/fig/cgan_dropout01.png
index 450deaf..4c97618 100644
--- a/report/fig/cgan_dropout01.png
+++ b/report/fig/cgan_dropout01.png
Binary files differ
diff --git a/report/fig/cgan_dropout05.png b/report/fig/cgan_dropout05.png
index 0fe282f..a0baff0 100644
--- a/report/fig/cgan_dropout05.png
+++ b/report/fig/cgan_dropout05.png
Binary files differ
diff --git a/report/fig/dcgan_dropout01_gd.png b/report/fig/dcgan_dropout01_gd.png
index 37914ff..d20f9bf 100644
--- a/report/fig/dcgan_dropout01_gd.png
+++ b/report/fig/dcgan_dropout01_gd.png
Binary files differ
diff --git a/report/fig/dcgan_dropout05_gd.png b/report/fig/dcgan_dropout05_gd.png
index d15ced2..29137b8 100644
--- a/report/fig/dcgan_dropout05_gd.png
+++ b/report/fig/dcgan_dropout05_gd.png
Binary files differ
diff --git a/report/fig/generic_gan_loss.png b/report/fig/generic_gan_loss.png
index 701b191..42716dd 100644
--- a/report/fig/generic_gan_loss.png
+++ b/report/fig/generic_gan_loss.png
Binary files differ
diff --git a/report/fig/long_cgan.png b/report/fig/long_cgan.png
index 6b80387..55ce4f8 100644
--- a/report/fig/long_cgan.png
+++ b/report/fig/long_cgan.png
Binary files differ
diff --git a/report/fig/long_cgan_ex.png b/report/fig/long_cgan_ex.png
new file mode 100644
index 0000000..053d06c
--- /dev/null
+++ b/report/fig/long_cgan_ex.png
Binary files differ
diff --git a/report/fig/long_dcgan.png b/report/fig/long_dcgan.png
index 4e12495..c0cbdf9 100644
--- a/report/fig/long_dcgan.png
+++ b/report/fig/long_dcgan.png
Binary files differ
diff --git a/report/fig/long_dcgan_ex.png b/report/fig/long_dcgan_ex.png
new file mode 100644
index 0000000..2bac124
--- /dev/null
+++ b/report/fig/long_dcgan_ex.png
Binary files differ
diff --git a/report/fig/med_cgan.png b/report/fig/med_cgan.png
index b42bf7b..f7981be 100644
--- a/report/fig/med_cgan.png
+++ b/report/fig/med_cgan.png
Binary files differ
diff --git a/report/fig/med_cgan_ex.png b/report/fig/med_cgan_ex.png
new file mode 100644
index 0000000..120ad57
--- /dev/null
+++ b/report/fig/med_cgan_ex.png
Binary files differ
diff --git a/report/fig/med_dcgan.png b/report/fig/med_dcgan.png
index 9a809c9..790608b 100644
--- a/report/fig/med_dcgan.png
+++ b/report/fig/med_dcgan.png
Binary files differ
diff --git a/report/fig/med_dcgan_ex.png b/report/fig/med_dcgan_ex.png
new file mode 100644
index 0000000..9d7af5d
--- /dev/null
+++ b/report/fig/med_dcgan_ex.png
Binary files differ
diff --git a/report/fig/short_cgan.png b/report/fig/short_cgan.png
index 2ddb5cd..4ff9c90 100644
--- a/report/fig/short_cgan.png
+++ b/report/fig/short_cgan.png
Binary files differ
diff --git a/report/fig/short_cgan_ex.png b/report/fig/short_cgan_ex.png
new file mode 100644
index 0000000..5097d80
--- /dev/null
+++ b/report/fig/short_cgan_ex.png
Binary files differ
diff --git a/report/fig/short_dcgan.png b/report/fig/short_dcgan.png
index ea8199b..d7c3326 100644
--- a/report/fig/short_dcgan.png
+++ b/report/fig/short_dcgan.png
Binary files differ
diff --git a/report/fig/short_dcgan_ex.png b/report/fig/short_dcgan_ex.png
new file mode 100644
index 0000000..56a2462
--- /dev/null
+++ b/report/fig/short_dcgan_ex.png
Binary files differ
diff --git a/report/fig/smoothing.png b/report/fig/smoothing.png
index 86de8e8..3e09cf6 100644
--- a/report/fig/smoothing.png
+++ b/report/fig/smoothing.png
Binary files differ
diff --git a/report/fig/smoothing_ex.png b/report/fig/smoothing_ex.png
new file mode 100644
index 0000000..6bddcbc
--- /dev/null
+++ b/report/fig/smoothing_ex.png
Binary files differ
diff --git a/report/paper.md b/report/paper.md
index 1989472..364e6a5 100644
--- a/report/paper.md
+++ b/report/paper.md
@@ -19,7 +19,7 @@ Training a shallow GAN with no convolutional layers poses problems such as mode
\end{figure}
-Mode collapse is achieved with our naive *vanilla GAN* (Appendix-\ref{fig:vanilla_gan}) implementation after 200,000 epochs. The generated images observed during a mode collapse can be seen on figure \ref{fig:mode_collapse}. The output of the generator only represents few of the labels originally fed. When mode collapse is reached loss function of the generator stops improving as shown in figure \ref{fig:vanilla_loss}. We observe, the discriminator loss tends to zero as the discriminator learns to assume and classify the fake 1's, while the generator is stuck producing 1 and hence not able to improve.
+Mode collapse is achieved with our naive *vanilla GAN* (Appendix-\ref{fig:vanilla_gan}) implementation after 200,000 batches. The generated images observed during a mode collapse can be seen on figure \ref{fig:mode_collapse}. The output of the generator only represents few of the labels originally fed. When mode collapse is reached loss function of the generator stops improving as shown in figure \ref{fig:vanilla_loss}. We observe, the discriminator loss tends to zero as the discriminator learns to assume and classify the fake 1's, while the generator is stuck producing 1 and hence not able to improve.
A significant improvement to this vanilla architecture is Deep Convolutional Generative Adversarial Networks (DCGAN).
@@ -54,7 +54,7 @@ We evaluate three different GAN architectures, varying the size of convolutional
\begin{figure}
\begin{center}
-\includegraphics[width=24em]{fig/med_dcgan_ex.pdf}
+\includegraphics[width=24em]{fig/med_dcgan_ex.png}
\includegraphics[width=24em]{fig/med_dcgan.png}
\caption{Medium DCGAN}
\label{fig:dcmed}
@@ -62,9 +62,9 @@ We evaluate three different GAN architectures, varying the size of convolutional
\end{figure}
We observed that the deep architectures result in a more easily achievable equilibria of G-D losses.
-Our medium depth DCGAN achieves very good performance, balancing both binary cross entropy losses at approximately 0.9 after 5.000 epochs, reaching equilibrium quicker and with less oscillation that the Deepest DCGAN tested.
+Our medium depth DCGAN achieves very good performance, balancing both binary cross entropy losses at approximately 0.9 after 5.000 batches, reaching equilibrium quicker and with less oscillation that the Deepest DCGAN tested.
-As DCGAN is trained with no labels, the generator primary objective is to output images that fool the discriminator, but does not intrinsically separate the classes form one another. Therefore we sometimes observe oddly shape fused digits which may temporarily full be labeled real by the discriminator. This issue is solved by training the network for more epochs or introducing a deeper architecture, as it can be deducted from a qualitative comparison
+As DCGAN is trained with no labels, the generator primary objective is to output images that fool the discriminator, but does not intrinsically separate the classes form one another. Therefore we sometimes observe oddly shape fused digits which may temporarily full be labeled real by the discriminator. This issue is solved by training the network for more batches or introducing a deeper architecture, as it can be deducted from a qualitative comparison
between figures \ref{fig:dcmed}, \ref{fig:dcshort} and \ref{fig:dclong}.
Applying Virtual Batch Normalization our Medium DCGAN does not provide observable changes in G-D balancing, but reduces within-batch correlation. Although it is difficult to qualitatively assess the improvements, figure \ref{fig:vbn_dc} shows results of the introduction of this technique.
@@ -78,7 +78,7 @@ Applying Virtual Batch Normalization our Medium DCGAN does not provide observabl
\end{figure}
We evaluated the effect of different dropout rates (results in appendix figures \ref{fig:dcdrop1_1}, \ref{fig:dcdrop1_2}, \ref{fig:dcdrop2_1}, \ref{fig:dcdrop2_2}) and concluded that the optimisation
-of the droupout hyper-parameter is essential for maximising performance. A high dropout rate results in DCGAN producing only artifacts that do not match any specific class due to the generator performing better than the discriminator. Conversely a low dropout rate leads to an initial stabilisation of G-D losses, but ultimately results in instability under the form of oscillation when training for a large number of epochs.
+of the droupout hyper-parameter is essential for maximising performance. A high dropout rate results in DCGAN producing only artifacts that do not match any specific class due to the generator performing better than the discriminator. Conversely a low dropout rate leads to an initial stabilisation of G-D losses, but ultimately results in instability under the form of oscillation when training for a large number of batches.
While training the different proposed DCGAN architectures, we did not observe mode collapse, indicating the DCGAN is less prone to a collapse compared to our *vanilla GAN*.
@@ -117,7 +117,7 @@ We evaluate permutations of the architecture involving:
\begin{figure}
\begin{center}
-\includegraphics[width=24em]{fig/med_cgan_ex.pdf}
+\includegraphics[width=24em]{fig/med_cgan_ex.png}
\includegraphics[width=24em]{fig/med_cgan.png}
\caption{Medium CGAN}
\label{fig:cmed}
@@ -162,7 +162,7 @@ We observe increased accruacy as we increase the depth of the arhitecture at the
\begin{figure}
\begin{center}
-\includegraphics[width=24em]{fig/smoothing_ex.pdf}
+\includegraphics[width=24em]{fig/smoothing_ex.png}
\includegraphics[width=24em]{fig/smoothing.png}
\caption{One sided label smoothing}
\label{fig:smooth}
@@ -329,7 +329,7 @@ $$ L_{\textrm{total}} = \alpha L_{\textrm{LeNet}} + \beta L_{\textrm{generator}}
\begin{figure}
\begin{center}
-\includegraphics[width=24em]{fig/short_dcgan_ex.pdf}
+\includegraphics[width=24em]{fig/short_dcgan_ex.png}
\includegraphics[width=24em]{fig/short_dcgan.png}
\caption{Shallow DCGAN}
\label{fig:dcshort}
@@ -338,7 +338,7 @@ $$ L_{\textrm{total}} = \alpha L_{\textrm{LeNet}} + \beta L_{\textrm{generator}}
\begin{figure}
\begin{center}
-\includegraphics[width=24em]{fig/long_dcgan_ex.pdf}
+\includegraphics[width=24em]{fig/long_dcgan_ex.png}
\includegraphics[width=24em]{fig/long_dcgan.png}
\caption{Deep DCGAN}
\label{fig:dclong}
@@ -379,7 +379,7 @@ $$ L_{\textrm{total}} = \alpha L_{\textrm{LeNet}} + \beta L_{\textrm{generator}}
\begin{figure}
\begin{center}
-\includegraphics[width=24em]{fig/short_cgan_ex.pdf}
+\includegraphics[width=24em]{fig/short_cgan_ex.png}
\includegraphics[width=24em]{fig/short_cgan.png}
\caption{Shallow CGAN}
\label{fig:cshort}
@@ -388,7 +388,7 @@ $$ L_{\textrm{total}} = \alpha L_{\textrm{LeNet}} + \beta L_{\textrm{generator}}
\begin{figure}
\begin{center}
-\includegraphics[width=24em]{fig/long_cgan_ex.pdf}
+\includegraphics[width=24em]{fig/long_cgan_ex.png}
\includegraphics[width=24em]{fig/long_cgan.png}
\caption{Deep CGAN}
\label{fig:clong}