GANs (Generative Adversarial Networks)
GANs are an approach to generative modeling using deep learning methods, such as convolutional neural networks, they provide feedback loops to make the model smarter. They are categorized as unsupervised learning task in machine learning that involves automatically discovering and learning the regularities or patterns in input data
There are 2 main components to this, the generator and the discriminator
There are 2 inputs. Couple of faces (can be animals, landscape, planets anything) and a noise matrix. The goal is to convert the noise matrix into a face
The Generator and Discriminator are both convolutional neural networks which adjust the weights and biases to converge on results.
The Generator creates an image and feeds to discriminator, along with all the faces which were provided in the side input.
The Discriminator now do the checks in 2 parts.
- It tries to Guess if it can identify the fake image from the pool.
- Also since it already knows the correct inputs so it matches its guesses with input to see if it is correct or not.
Based on above 2 points the discriminator adjusts its CNN and advises the Generator to adjust its CNN also. (Adversarial behavior)
This process keeps on repeating till both generator and discriminator are tuned so Discriminator is not able to identify the fakes generated by the generator.
Use cases for GANs
Deep fakes – Replicating facial details to misrepresent
Filling in gaps in images, or removing a object from image and replacing with background
Video Compression to fill in details at play time
Video games – graphic enhancements
Self driving car – to generate photorealistic images given a semantic image or sketch as input
A recent innovation is DALL·E 2 which is a new AI system that can create realistic images and art from a description in natural language.
Reference : https://openai.com/dall-e-2/
Reference : https://thispersondoesnotexist.com
Cheers – Amit Tomar