GANs and their applications
By Kumar Sambhav, Research Computing, NUS Information Technology
Generative Adversarial Networks (GANs) are an approach to do generative modelling using deep learning methods. GANs comprise of competing neural networks that try to outperform each other at a given task. Given a dataset, GANs try to generate synthetic datasets which have similar statistical properties as the given dataset.
GANs consist of two parts named as Generator and Discriminator. The Generator generates synthetic datasets, and the Discriminator checks whether the synthesised dataset looks real or not. The Discriminator also tells the Generator about where it went wrong in synthesising the datasets.
As GANs have the capability to synthesise data which look and feel very real, they are heavily employed in areas where obtaining data might be difficult and is necessary. Some of the areas where we can find applications of GANs are:
- Data Augmentation
GANs are capable of doing high-resolution image synthesis. This comes in handy especially in scenarios where there is a scarcity of images for training an Image-based model. The core dataset can be augmented using some of the GANs like DCGAN (Deep Convolutional GAN). The same can be applied to other kinds of datasets.
- Game Development
Realistic game development depends heavily upon the resolution and variety of the graphics served through the game . High-end or near realistic graphic development can take up a lot of time and it can be challenging for game graphics designers. Recent development in GANs has provided alternatives by which creating very realistic scenes with sufficient variety in games has become possible. The graphics created by GANs are at times higher in quality than the same graphics created by humans, with the human taking exponentially higher amount of time as compared to GANs. Example: CESAGAN
- Image Enhancements
Some GANs are capable of altering the parameters of images to make them clearer and more defined. There can be multiple faults in an image like bad light, bad camera angles or even missing or cropping part of the subject. GANs are quite powerful in this regard and help users perform a lot of these enhancements like balancing the light, inpainting for missing parts or even merge photographs to create novel scenes.
- Cybersecurity
Signature based malware protection systems depend entirely on the database of virus/malware signatures that is frequently updated. The dependency creates a loophole, where it will not be able to flag out any malware that it has not seen before. Similarly in the case of Intrusion Detection Systems which rely heavily on a few parameters in the logs, they scan to flag out any activity that can be classified as an intrusion or malicious in nature.
Recent research has shown that synthetic data has proved to be useful for both malware as well as network log analysis. Hence GANs, can play a major role here.
- Fashion and Advertising
GANs like StyleGAN are capable of creating images of models which look exactly like real-life. Fashion companies can use these techniques to save money on hiring models and make their time to advertisement markets really small.
The applications of Deep Learning are endless. If there is anything that you are interested in , feel free to drop an email to us at dataengineering@nus.edu.sg