Book Image

Hands-On Generative Adversarial Networks with Keras

By : Rafael Valle
Book Image

Hands-On Generative Adversarial Networks with Keras

By: Rafael Valle

Overview of this book

Generative Adversarial Networks (GANs) have revolutionized the fields of machine learning and deep learning. This book will be your first step toward understanding GAN architectures and tackling the challenges involved in training them. This book opens with an introduction to deep learning and generative models and their applications in artificial intelligence (AI). You will then learn how to build, evaluate, and improve your first GAN with the help of easy-to-follow examples. The next few chapters will guide you through training a GAN model to produce and improve high-resolution images. You will also learn how to implement conditional GANs that enable you to control characteristics of GAN output. You will build on your knowledge further by exploring a new training methodology for progressive growing of GANs. Moving on, you'll gain insights into state-of-the-art models in image synthesis, speech enhancement, and natural language generation using GANs. In addition to this, you'll be able to identify GAN samples with TequilaGAN. By the end of this book, you will be well-versed with the latest advancements in the GAN framework using various examples and datasets, and you will have developed the skills you need to implement GAN architectures for several tasks and domains, including computer vision, natural language processing (NLP), and audio processing. Foreword by Ting-Chun Wang, Senior Research Scientist, NVIDIA
Table of Contents (14 chapters)
Free Chapter
1
Section 1: Introduction and Environment Setup
4
Section 2: Training GANs
8
Section 3: Application of GANs in Computer Vision, Natural Language Processing, and Audio

Model implementation

Implementing the models for Progressive Growing of GANs is a complex task, as the models have many custom layers and operations that are not implemented out of the box, including layers to perform pixel normalization, weight normalization during runtime, and more.

In addition to these layers, in our model design, we are including a mechanism in the models themselves; this allows for the runtime evaluation of the block that will be used as a model output, including how much input it receives from the previous layer.

The implementation described in this book, which encourages code reuse, uses (or adapts) code from an excellent implementation made by the Microsoft's Student Club of Beihang University group (https://github.com/MSC-BUAA/Keras-progressive_growing_of_gans/tree/master/Progressive%20growing%20of%20GANs).

...