Book Image

Advanced Deep Learning with Python

By : Ivan Vasilev
Book Image

Advanced Deep Learning with Python

By: Ivan Vasilev

Overview of this book

In order to build robust deep learning systems, you’ll need to understand everything from how neural networks work to training CNN models. In this book, you’ll discover newly developed deep learning models, methodologies used in the domain, and their implementation based on areas of application. You’ll start by understanding the building blocks and the math behind neural networks, and then move on to CNNs and their advanced applications in computer vision. You'll also learn to apply the most popular CNN architectures in object detection and image segmentation. Further on, you’ll focus on variational autoencoders and GANs. You’ll then use neural networks to extract sophisticated vector representations of words, before going on to cover various types of recurrent networks, such as LSTM and GRU. You’ll even explore the attention mechanism to process sequential data without the help of recurrent neural networks (RNNs). Later, you’ll use graph neural networks for processing structured data, along with covering meta-learning, which allows you to train neural networks with fewer training samples. Finally, you’ll understand how to apply deep learning to autonomous vehicles. By the end of this book, you’ll have mastered key deep learning concepts and the different applications of deep learning models in the real world.
Table of Contents (17 chapters)
Free Chapter
1
Section 1: Core Concepts
3
Section 2: Computer Vision
8
Section 3: Natural Language and Sequence Processing
12
Section 4: A Look to the Future

Introduction to GANs

In this section, we'll talk about arguably the most popular generative model today: the GAN framework. It was first introduced in 2014 in the landmark paper Generative Adversarial Nets (http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf). The GAN framework can work with any type of data, but its most popular application by far is to generate images, and we'll discuss them in this context only. Let's see how it works:

A GAN system

A GAN is a system of two components (neural networks):

  • Generator: This is the generative model itself. It takes a probability distribution (random noise) as input and tries to generate a realistic output image. Its purpose is similar to the decoder part of the VAE.
  • Discriminator: This takes two alternating inputs: real images of the training dataset or generated fake samples from the generator. It tries...