The encoder network consists of a series of convolutional layers, similar to the AlexNet architecture [1]}, but with stride one and two for down-scaling, instead of maxpool, with LeakyReLU activation. The generator network has three convolutional layers. The discriminator network has the same architecture as the encoder, except for the last layer that outputs a single value for each example. Only the generator uses batch normalization after each convolution. All convolutions have kernel size \(k=3\) .
