Using GANS to generate images that are then used for deep fakes
A generative model is a system that performs the difficult task of generating novel data points given the current data distribution, and requires enormous amounts of data to train. A discriminative model on the other hand acts as a classifier, giving us the probability of an input belonging to a particular class. A GAN (Generative Adversarial Network) is a very popular machine learning technique created just two years ago that has found uses in almost every field. Applications include drug discovery by generating sample drug candidates, image generation from a text description, applying color or transfering a style to a drawing or an image. It has 2 components which are trained at the same time as adversaries in a minimax game: a generator that attempts to transform samples drawn from a prior distribution to samples from a complex data distribution with much higher dimensionality and a discriminator that decides whether the given sample is real or generated. The generator is trained to fool the discriminator by creating realistic images, and the discriminator is trained not to be fooled by the generator. However, GANS are notorious for being difficult to train due to the minimax optimization and the training might be quite unstable with vanishing gradients, mode collapse etc. Traditionally, GANS use CNNs but since Capsule networks were recently shown to outperform CNNs, we would like to attempt designing a GAN using Capsule networks and employ several techniques devised to stabilize and make training more robust. Internal data representation of a CNN does not capture important spatial hierarchies between simple and complex objects. Capsules on the other hand are a groups of neurons that are locally invariant and learn to recognize visual entities and output activation vectors that represent both the presence of those entities and their properties relevant to the visual task.
We would have to qualitatively compare images generated randomly using both a regular GAN and our model for the lack of a proper metric (Human evaluation). Quantitatively we can perhaps try some classification task using the generated images.
git clone snknitin-DeepfakeCapsuleGAN_-_2018-05-09_01-42-39.bundle