Project Info


The Optimization Geometry of Training Generative Adversarial Networks

Gongguo Tang | gtang@mines.edu

Generative Adversarial Networks (GANs) can be trained to produce realistic images, but the procedure of training GANs is very fragile and computationally expensive. The project aims at exploring the geometry of the optimization used to training GANs, which can help to develop more efficient and robust training algorithms.

More Information

* NIPS 2016 Tutorial: Generative Adversarial Networks: https://arxiv.org/abs/1701.00160
* CVPR 2018 Tutorial on GANs: https://sites.google.com/view/cvpr2018tutorialongans/
* An intuitive introduction to Generative Adversarial Networks (GANs): https://medium.freecodecamp.org/an-intuitive-introduction-to-generative-adversarial-networks-gans-7a2264a81394
* A Beginner’s Guide to Generative Adversarial Networks (GANs): https://skymind.ai/wiki/generative-adversarial-network-gan
* GANs from Scratch 1: A deep introduction. With code in PyTorch and TensorFlow: https://medium.com/ai-society/gans-from-scratch-1-a-deep-introduction-with-code-in-pytorch-and-tensorflow-cb03cdcdba0f

Grand Engineering Challenge: Reverse-engineer the brain

Student Preparation


Qualifications

The student should be able to program in Python. Proficiency in Tensorflow, PyTorch, or Keras is preferable. Familiarity with optimization, machine learning, deep neural networks is a plus.

Time Commitment

20 hours/month

Skills/Techniques Gained

* Python programming
* Machine learning and deep learning
* Optimization
* Programming using Tensorflow and Pytorch

Mentoring Plan

I will meet with the student weekly to provide guidance on how to program training algorithms for GAN to gain insight on the optimization geometry. I will also explain and teach other necessary knowledge in machine learning and optimization.