# Generative Adversarial Network for Class-Conditional Data Augmentation
## 4 Experiments  
### Implementation Details  
Network architecture details: The proposed method consists of two main components for conditional denoising autoencoder initialization and adversarial learning. For stable learning, we add the spectral normalization layer [33] to the encoder (i.e., part of the discriminator) and imposed the Lipschitz constraint. In addition, the decoder adopts transposed convolution layer, of which the structure is same as that of the generator. For more details about the network architecture, please refer to Table 1.  
Hyperparameters: The proposed network is trained with a batch size of 32. We use the ADAM optimizer with a fixed learning rate of 0.00005, \(\beta_{1}=0.5\), and \(\beta_{2}=0.9999\). For conditional \begin{table}
\begin{tabular}{c c c} \hline \hline
**Name** & **Input Size** & **Output Size** \\ \hline Encoder & \(128\times 128\times 3,2\times 1\) & \(100\times 1\) \\ \hline Conv + SN + IReLU & \(128\times 128\times 3\) & \(64\times 64\times 32\) \\ Conv + SN + IReLU & \(64\times 64\times 32\) & \(64\times 64\times 64\) \\ Conv + SN + IReLU & \(64\times 64\times 64\) & \(32\times 32\times 128\) \\ Conv + SN + IReLU & \(32\times 32\times 128\) & \(16\times 16\times 256\) \\ Conv + SN + IReLU & \(16\times 16\times 256\) & \(8\times 8\times 256\) \\ Conv + SN + IReLU & \(8\times 8\times 256\) & \(8\times 8\times 256\) \\ \hline Conv + SN + IReLU & \(8\times 8\times 256\) & \(4\times 4\times 256\) \\ Conv + SN + IReLU & \(4\times 4\times 256\) & \(4\times 4\times 256\) \\ Flatten & \(4\times 4\times 256\) & \(4096\times 1\) \\ Concat & \(4096\times 1,2\times 1\) & \(4098\times 1\) \\ Dense & \(4098\times 1\) & \(100\times 1\) \\ \hline Decoder (Generator) & \(100\times 1,2\times 1\) & \(128\times 128\times 3\) \\ \hline Concat & \(100\times 1,2\times 1\) & \(102\times 1\) \\ Dense + ReLU & \(102\times 1\) & \(1024\times 1\) \\ Dense + ReLU & \(1024\times 1\) & \(8192\times 1\) \\ Tconv + ReLU & \(8\times 8\times 128\) & \(16\times 16\times 128\) \\ Tconv + ReLU & \(16\times 16\times 128\) & \(32\times 32\times 128\) \\ Tconv + ReLU & \(32\times 32\times 128\) & \(64\times 64\times 64\) \\ Tconv + ReLU & \(64\times 64\times 64\) & \(128\times 128\times 32\) \\ Tconv + Tanh & \(128\times 128\times 32\) & \(128\times 128\times 3\) \\ \hline Discriminator & \(128\times 128\times 3,2\times 1\) & \(11\times 1\) \\ \hline Encoder (partial) & \(128\times 128\times 3,2\times 1\) & \(8\times 8\times 256\) \\ flatten & \(8\times 8\times 256\) & \(16384\times 1\) \\ Dense + Softmax & \(16384\times 1\) & \(11\times 1\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Network architectures for the CelebA dataset (\(128\times 128\times 3\)). The slopes of all IReLU functions were set to 0.1.  
denoising autoencoding, we train the encoder \(\phi\) and decoder \(\psi\) with 150 epochs by using the L2 loss. For denoising, we use a standard normal function \(N(0,I)\) to make noise and combine the noise with an input image using a weight of 0.5 to make a noisy image. If the standard deviation is high, we can make heavy and diverse images with noises. We initialize the weights of the discriminator (generator) with the encoder (decoder). Subsequently, we train the discriminator and generator via adversarial learning using the sparse categorical cross-entropy loss function. Datasets: We conduct experiments using the MNIST [34] and CelebA [35] datasets, where MNIST contains around 50 K handwritten images of \(28\times 28\) in size with 10 different classes. For CelebA, we randomly extract 10 K images of males and females, respectively, and resized them to \(128\times 128\) resolutions. We conduct the ablation test (i.e., in-depth analysis through evaluating the proposed method in a component-wise manner) by changing the degree of class imbalance. For this experiment, we use the MNIST and CelebA datasets. In the case of the MNIST dataset, we consider class 0 as a minority class and removed 60%, 80%, 90%, 95%, and 97.5% of the training images for class 0.