Screen Shot 2021-04-06 at 11.45.04 PM.png

Adventures in GANLand

ganland.gif

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 —

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.

UI for distinguishing between real and GAN-generated images

UI for distinguishing between real and GAN-generated images

Dynamic visualization of participant performance per round

Dynamic visualization of participant performance per round

Implementation + Final Web Experience

Screen Shot 2021-04-07 at 12.08.49 AM.png

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.

Screen Shot 2021-04-07 at 12.08.58 AM.png

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.