Have you heard of Generative Adversarial Networks, the hottest development in machine learning right now?
GANs are made up of two competing neural networks: a generator that tries to create an image, and a discriminator that tries to detect which images are real and which images are fakes created by the generator.
Both networks compete with each other during training, until eventually the generator becomes smart enough to create spectacular images that fool the discriminator every time.
You can use GANs to create virtually any kind of image…
Like for example these stunning pictures of people:
All these pictures were generated by a machine learning app hosted at Nvidia, the company famous for its high-performance graphics cards.
But none of these people actually exist!
The GAN is simply conjuring up new images, based on what it has learned about human faces. And after millions of training iterations, the generator has become so good at drawing faces that it manages to fool the discriminator every time!
Nvidia has now opened up their GAN to the public. Just click the link below, and you’ll be rewarded with a new face every time:
See if you can find mistakes in the generated faces. Can you do a better job than the discriminator?
So if you’re super excited right now and want to experiment with GANs in C# yourself, I totally understand.
And I can help you with that!
In one of the assignments in my Machine Learning Advantage course, my students and I build a GAN to generate pictures of frogs. After thousands of training iterations, the result looks like this:
This C# code can generate any kind of image, and the quality and size only depends on how long we train our neural networks.
Are you interested?
Check out my course here. It’s a 6-week action-packed curriculum that will get you fully up to speed in C# Machine Learning and Computer Vision. The course comes with 30 hands-on app building assignments with full source code, and I guarantee there’s ZERO Python code anywhere 😉