Ludens AI Meetup #3: Generative Adversarial Networks (GAN)

Couger Team
Couger
Published in
5 min readNov 8, 2018

After the great success of the two previous AI meetups, the third meetup was held on 25th October 2018 in the Aqua meeting space, Shibuya, Tokyo. The event drew a full house.

The aim of the Ludens AI meetup is to let people from different backgrounds exchange knowledge and experience on GANs and gain new knowledge from highly skilled professionals. The talk was split into three parts: theory, hands-on experience, and applications. Below is a summary of the event.

Introduction to Ludens| Atsushi Ishii (CEO, Couger Inc.)

Couger CEO Atsushi Ishii talked about Ludens and purpose of the meetups.

The three key concepts of the Ludens Meetups are: Go Frontier, Cross-Cutting, and Be Open.

  • Go Frontier — Gaining experience and insight from cutting-edge knowledge and skills is necessary for moving fast.
  • Cross-Cutting — One technology will not solve everything. Various technologies need to interact with each other to maximize their effectiveness.
  • Be Open — If you want to make an innovation, the fastest way is to meet and talk with people from various fields. We believe this community will expand people’s networks and accelerate technological innovation.

Introduction to GANs | Mustafa Yagmur (Weathernews INC. and University of Tokyo)

Mustafa explained the differences between generative models and discriminative models.

Discriminative models: learn about a decision boundary between classes.

Generative models: generate new samples, such as new media, new music, new text.

With a generative model, you can request what you want and the generative model will generate it for you. It can be movies, songs, and etc.

Generative models generate image distributions which are close to the real image distribution. For example in the image below, the model begins with noise and we try to get the image of numbers that is shown in the target distribution. First, the algorithm starts to imitate the true distribution and generate images with noise. After many attempts, in the final attempt, it will be able to generate real numbers.

For example, as you can see below, a generator will generate a fake image of money. The discriminator compares the real and fake money and gives feedback to the generator.

For example, discriminator learns that the fake money doesn’t have any picture on it, so it will discard the fake image and let the generator will know that it is not same as the real image.

The generator uses the feedback in its next generation of a picture, which helps make it more similar to real money. This process goes on and on for thousands of times to make the generator’s images look more and more like the real money. This process is known as “mutual learning”.

Traditional convolutional neural networks have one loss function, whereas the generative model has three loss functions: one loss function for the generator and two loss functions for the discriminator. As shown in the figure, the loss function of the discriminator is the error in recognizing the fake images (true label :0) as real (predicted label:1) and the loss functions of the generator is the capacity of the discriminator to recognize the fake image (true label:0) as fake (predicted label:0)

Toy Implementation of GANs | Dimitris Katsios (Machine Learning Engineer, LPixel Inc.)

Dimitris started his presentation by describing a toy implementation of a simple GAN model. He implemented the simple GAN model in a Keras framework. He started with building the generator using a random noise, and explained how he had built the discriminator to evaluate between fake and real images. Next, he compiled both generator and discriminator to train them. He also demonstrated how the adversarial process of GAN works in terms of freezing one model and training the other model. He used the MNIST dataset to train the models.

Template to start with ↓

Solution ↓

Some Cool Applications of GANs | Priya Kansal (AI Researcher, Couger.Inc)

Dr. Priya introduced some cool applications of GANs and each application’s technical details. Below is the list of applications.

When compared to the traditional GAN model, research papers about recent applications detailed different variations of GAN. For example, in, image-to-image and video-to-video translation, the authors used conditional GANs, as well as two discriminators in place of one discriminator, along with a sequential generator.

Similarly, generating images from text used multi-stage attentional GAN wherein each stage’s generated image and the loss of that stage is forwarded to the next stage. Also, in some applications, researchers used the input extracted from a different convolutional neural network (CNN). For example in the “Anybody can Dance Now” paper where an open pose is used to extract the pose and then a dance video of the target subject is generated using GAN.

Dr. Priya also discussed applications where the process of training a GAN is simplified and made easier and faster, like in the case of progressive GAN, where the training is simplified by changing the size of inputs at every layer. This makes the output better than the previous model’s.

Other than what has been mentioned above, there are many other applications that are using GAN. For example the portrait below, which was created by an AI program. It was sold at auction for $432,000.

Networking time!

The networking part of the event started with everyone introducing themselves and sharing their reasons for joining this meetup. Ludens AI meetup is all about letting people from different backgrounds, amateur to professional to share their interest in AI and empowering them to learn from others. Of course, beers and snacks are a must for such awesome discussion times. Everyone had a great time of sharing and learning from one another.

--

--

Couger Team
Couger
Editor for

We develop next generation interface “Virtual Human Agent” and XAI(Explainable AI).