Adventures in GANland
Research Lead / Experience Design / Development / Science Communication (2019)
Adventures in GANLand is a web-based interactive experience that takes participants through the process of training a GAN to create images of faces. It aims to address two high-level questions at the intersection of design & HCI — how do people respond to intelligent systems, and can this perception change over time? And can design influence how humans interact with machine intelligence?
Dataset + Training
GANLand is designed to give a participant a sense of how the output of a GAN changes over time, from random noise to a photorealistic image. Its overall goal is to present an experience that positively alters the audience’s perception of a GAN. Participating should help a user better identify a GAN’s output, ideally leading to more constructive human-computer interaction. Output from three different models were used in the creation of this experience —
Custom-built model using Tensorflow, trained on the LFW dataset
NVIDIA’s StyleGAN2 model, trained on the Flickr-Faces-HQ dataset
Experience Design
As part of GANLand, participants are asked to take the place of a GAN’s discriminator, distinguishing between real photos of faces and fake ones created by the generator. In each round of the game, they are shown a series of images and asked to distinguish the photos from the fakes. After each round, are shown how well they did as the discriminator using three key metrics:
Sensitivity indicates the percentage of photos you identified correctly
Specificity indicates what percentage of GANs you identified correctly
Accuracy indicates what percent of your guesses were correct overall
The feedback received is useful to both the participant as the discriminator, and to the generator itself. The better the participant’s performance, the more the generator will learn to improve its images in the next round. However, the worse their performance, the less the GAN will improve over time. This means that how well the GAN does in this experience relies, in part, on the participant’s abilities as a discriminator. The rounds will keep going until the GAN has “finished” training. The goal is to be the best discriminator one can be, so that the GAN can eventually produce truly photorealistic images.
Implementation + Final Web Experience
Based on the initial concept and design, I developed a Javascript-based web experience hosted on the prototyping platform Glitch. The experience has internal logic to determine level routing based on user performance, presents performance statistics that are valid regardless of image dataset size, collects and stores participant-provided data, and presents dynamic visualization via Chart.js.
At the end of the experience, participants are presented with a summary of how well they performed as a GAN discriminator, along with details about the datasets and models used to create the experience. To learn more and try out the experience for yourself, please visit ganland-adventures.glitch.me.