A generative adversarial network (GAN) is a computing procedure that uses two neural networks, which are considered “adversaries” of each other. These deep neural networks produce new and fabricated data that can easily mimic real information. In real life, GANs help in image, video, and voice generation. They are the very devices used to produce deep fakes.
You can consider the components of a GAN (the generator and the discriminator) as representations of a criminal and a cop, where the criminal mixes fake with real money for purchases. In contrast, the police detects which of the notes are counterfeit.
Read More about “Generative Adversarial Network (GAN)”
GANs were introduced in 2014 via a paper written by Ian Goodfellow, Yoshua Bengio, and other University of Montreal researchers. Their potential for mimicking legitimate data pushed even one of the fathers of deep learning to refer to them as one of the “coolest machine learning (ML) applications” in the past two decades.
Using GANs can, however, also be considered scary in that their application can pass off even fake data for the real thing. GANs can take the form of machines or robots that can produce impressive outputs, including phony media content.
One example of a by-product of GANs at work is a GAN-generated portrait sold at Christie’s for US$432,000. How is this possible? Let’s explore how GANs work.
How a Generative Adversarial Network Works
As has been mentioned earlier, GANs comprise two neural networks. The first of which is the generator, which is responsible for obtaining new data. The second—the discriminator performs authenticity checks. The discriminator checks if each piece of information that the generator gathered belongs to the dataset or not. It separates fake from real data. The process results in outputs that would fool anyone into thinking they are real.
Real-World Applications of a Generative Adversarial Network
The following are examples of technologies that make use of GANs today:
1. Semantic Image-to-Photo Translation
GANs can be used to synthesize high-resolution and hyper-realistic images using sketches or semantic images as initial inputs.
2. Text-to-Image Translation
Using GANs, specifically StackGANs, also allows users to create realistic images based on textual descriptions of objects. Before, text-to-image applications produced low-resolution images. At present, GANs have addressed the issue and refined processes, allowing them to create high-resolution images.
3. Face Frontal View Generation
GANs can also be used in facial recognition applications because the technology allows systems to generate frontal views of photographs taken at an angle.
4. Transforming Photos to Emojis
The rise of the mobile industry, particularly among younger generations, has made it necessary to convert photos to emojis to enhance communication. GANs made it possible to translate images to emojis or cartoon faces.
5. Photograph Editing
GANs are also widely used in software that allows users to edit photos to easily change hairstyles and hair color, altering the color and shape of one’s eyes, and even changing someone’s gender.
These are just some of the many other uses of GANs we have seen so far.