Exploring the power of generative adversarial networks
Resources
As you can probably guess, a system of two adversarial neural networks is a complex thing, and programming one from scratch is a difficult road unless you have considerable experience with AI. Still, several resources are available for those who wish to further explore this fascinating field.
First of all, Ian Goodfellow's original GAN code is still available on GitHub [11], and you are free to download it yourself and experiment. The code is mostly in Python, and the authors include the following note: "We are an academic lab, not a software company, and we have no personnel devoted to documenting and maintaining this research code. Therefore this code is offered with absolutely no support." The GitHub page makes reference to the original June 2014 article "Generative Adversarial Networks" by Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. The article, which is also available today for free download at the arxiv.org website [12], offers a technical introduction that is a good starting point if you are looking for more information on GANs. The first two sentences of the abstract succinctly sum up this promising technique: "We propose a new framework for estimating generative models via an adversarial process, in which we simultaneously train two models: a generative model G that captures the data distribution, and a discriminative model D that estimates the probability that a sample came from the training data rather than G. The training procedure for G is to maximize the probability of D making a mistake."
You'll also find several other GAN implementations, some showcasing different AI development tools, including a Torch implementation [13] and a TensorFlow-based lightweight library for training GANs [14]. Other projects let you use GANs to edit images [15], generate images from text [16], and even generate anime characters [17].
If you want to explore GANs but you're not quite ready to dive down into the code, you will also find some illuminating demo sites online that will give you a closer look. One example is GAN Lab [18] (Figure 6), an application developed by the Polo Club of Data Science, a group of programmers and scientists affiliated with Georgia Tech University. GAN Lab is an application that lets you experiment with GANs in your browser window. To maximize its effect as a teaching tool, GAN Lab takes a very simple approach. Rather than generating a computerized painting or a fake video, the Lab simply generates a scattering of data points to match a sample. The user can choose a preconfigured sample data distribution pattern or define a custom pattern.
![](/var/linux_magazin/storage/images/issues/2023/266/generative-adversarial-networks/figure-6/814627-1-eng-US/Figure-6_large.png)
Curse, Blessing, or Both?
In the nearly two decades since Ian Goodfellow got the ball rolling, GANs have taken several fields by storm, and the technology is still rapidly evolving. Generative AI is already delivering impressive results, especially in the context of images and video, and the technique is still in its infancy. Future possibilities include assisting with medical imaging methods, such as X-rays, CT scans, or MRIs. With the help of an AI-modeled disease progression, doctors could adjust their treatment at an early stage to improve outcomes.
But for all the hype surrounding GANs, the technology also has its downsides: It drastically simplifies the process of creating fake content. The Internet has played an important role in publishing and disseminating false information for many years, and more convincing fake videos could compound the problem significantly. The best way to prepare for this challenge is to raise awareness about the power of GANs.
Infos
- Portrait of Edmond de Belamy: https://en.wikipedia.org/wiki/Edmond_de_Belamy
- Obvious: https://obvious-art.com/page-projects/
- NightCafÈ: https://creator.nightcafe.studio/my-creations
- Thispersondoesnotexist.com: https://thispersondoesnotexist.com/
- StyleGAN: https://github.com/NVlabs/stylegan
- Whichfaceisreal.com: https://www.whichfaceisreal.com/
- Nixon Deepfake: https://www.scientificamerican.com/article/a-nixon-deepfake-a-moon-disaster-speech-and-an-information-ecosystem-at-risk1/
- GameGAN: https://nv-tlabs.github.io/gameGAN/
- GANTheftAuto on GitHub: https://github.com/Sentdex/GANTheftAuto
- GANTheftAuto on YouTube: https://www.youtube.com/watch?v=udPY5rQVoW0
- Code and Hyperparameters for the Paper "Generative Adversarial Networks": https://github.com/goodfeli/adversarial
- "Generative Adversarial Networks" by Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio: https://arxiv.org/abs/1406.2661
- gans-collection.torch: https://github.com/nashory/gans-collection.torch
- Tooling for GANs in TensorFlow: https://github.com/tensorflow/gan
- Invertible Conditional GANs for Image Editing: https://github.com/Guim3/IcGAN
- TAC-GAN: https://github.com/dashayushman/TAC-GAN
- animeGAN: https://github.com/jayleicn/animeGAN
- GAN Lab: https://poloclub.github.io/ganlab/
« Previous 1 2
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
![Learn More](https://www.linux-magazine.com/var/linux_magazin/storage/images/media/linux-magazine-eng-us/images/misc/learn-more/834592-1-eng-US/Learn-More_medium.png)
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.