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.
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.
News
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.
-
Gnome OS Transitioning Toward a General-Purpose Distro
If you're looking for the perfectly vanilla take on the Gnome desktop, Gnome OS might be for you.