“Can machines exhibit behavior that cannot be distinguished from that of human behavior? The answer is a resounding “Yes!” The technology behind this is called a Generative Adversarial Network.”
Can a machine imitate a person? This question was first asked by one of modern computing’s founders, Alan Turing, nearly 70 years ago and it is the basis of the Turing Test. This thought experiment asks, simply, “Can machines think?”. Answering this, Turing asserted in his paper, Computing Machinery and Intelligence, that if a person cannot distinguish a machine’s behavior from that of a human, that the machine passed the test. That is, that the machine was intelligent.1
What has changed in the past 70-plus years? Certainly, a lot! Early on, machines were only capable of winning against a human in a simple game of Tic-Tac-Toe. However, the modern rise of deep learning has brought witness to a machine winning out over game champions. The modern world now has virtual assistants capable of answering questions and completing simple tasks. So, not only have we gotten to the point where machines can answer questions, but machines can also give these answers in the form of a question.
Yet one important question remains– can machines pass the Turing test? Can machines exhibit behavior that cannot be distinguished from that of human behavior? The answer is a resounding “Yes!” The technology behind this is called a Generative Adversarial Network, or GAN for short, and the implications of this emerging technology are far reaching. So, what are GANs?
A GAN is a specialized neural network, that is designed to beat the Turing test. The network is made up of three components: real-world data, a discriminator, and a generator. Of these, the discriminator network is trained using true, real-world, data. This component’s job is to answer the question “Is this real or manufactured?”. The discriminator network becomes a judge, of sorts. It decides what’s real and what’s fake.
The “generative” node of a GAN typically creates text, images, or video. It begins with random data, and generates progressively-better samples, to try and trick the discriminator into believing that the sample is real-world data. The generator and discriminator are two discrete networks competing against each other.
Initially, the generator network’s attempts are completely off the mark. Its initial guesses are incomprehensible text, static, or noise. Over time, the generator’s performance improves. This is done by iteratively improving both the discriminator and generator components of the network.
When the generator fails to fool the judge, it learns from its mistakes and improves itself. Conversely, when the discriminator is fooled, it undergoes self-improvement and the contest continues. This adversarial competition doesn’t stop until the generator and the “judge” call a truce. If this competition hosted world-class competitors–meaning that the GAN, itself, had an ideal setup–the GAN would produce synthetic data that cannot be differentiated from real world samples and it would pass the Turing Test.
A way to visualize this concept is to imagine a pair of sparring partners training in marital arts. As the student tries to best the teacher, the teacher presents new ways to defend against the different moves the student attempts. Every round, the martial artists train with each other, and both individuals improve on what they have learned.