Generative Adversarial Networks

I listened to a super interesting talk about deep learning a few days ago. The talk was mostly an overview of deep learning but also presented current and future trends. According to the speaker, the hottest topic in deep learning is something called “generative adversarial networks” (GANs).

GANs are very difficult to explain succinctly. Regular deep neural networks require training data that has known input and output values. Then the network is trained which really means learning a very complex math equation that can be used to make predictions for new data that has unknown output values. For example, a deep neural network can predict if an image represents a ‘0’ or a ‘1’ or a ‘2’ or . . . or a ‘9’.

At a high level, GANs try to create input data and output data. Put another way, a GAN tries to generate a complex math equation that yields both input and output values.

A GAN has two main components. A common analogy is that a GAN has a “forger” / “generator” component that attempts to create data (a counterfeit bill that is indistinguishable from a real bill). The “investigator” / “discriminator” component looks at real training data and the forged data, and attempts to determine which is the real data (is a bill counterfeit or not).

This is a rather difficult concept to grasp. The classic example of a GAN is one that learns how to generate images of a cat or something similar). The idea here is that if a GAN can create very realistic images of a cat, then the GAN “discriminator” component can predict if any image is one of a cat. The images below are “Starry Night” by van Gogh and a fake image generated by a GAN. In theory the GAN can distinguish between real and fake van Gogh paintings.

gan_real_vs_generated

GANs are very new (first introduced in 2014) and it’s not clear if GANs can be used for tasks other than image processing and pattern recognition. At any rate, GANs are the subject of intense research efforts. Maybe GANs will turn out to be a major new deep learning technique, or maybe GANs will fade to obscurity in a few years. Or maybe they’ll be just another tool in the general bag of machine learning tools.

Advertisements
This entry was posted in Machine Learning. Bookmark the permalink.