Book Image

Hands-On Deep Learning Algorithms with Python

By : Sudharsan Ravichandiran
Book Image

Hands-On Deep Learning Algorithms with Python

By: Sudharsan Ravichandiran

Overview of this book

Deep learning is one of the most popular domains in the AI space that allows you to develop multi-layered models of varying complexities. This book introduces you to popular deep learning algorithms—from basic to advanced—and shows you how to implement them from scratch using TensorFlow. Throughout the book, you will gain insights into each algorithm, the mathematical principles involved, and how to implement it in the best possible manner. The book starts by explaining how you can build your own neural networks, followed by introducing you to TensorFlow, the powerful Python-based library for machine learning and deep learning. Moving on, you will get up to speed with gradient descent variants, such as NAG, AMSGrad, AdaDelta, Adam, and Nadam. The book will then provide you with insights into recurrent neural networks (RNNs) and LSTM and how to generate song lyrics with RNN. Next, you will master the math necessary to work with convolutional and capsule networks, widely used for image recognition tasks. You will also learn how machines understand the semantics of words and documents using CBOW, skip-gram, and PV-DM. Finally, you will explore GANs, including InfoGAN and LSGAN, and autoencoders, such as contractive autoencoders and VAE. By the end of this book, you will be equipped with all the skills you need to implement deep learning in your own projects.
Table of Contents (17 chapters)
Free Chapter
1
Section 1: Getting Started with Deep Learning
4
Section 2: Fundamental Deep Learning Algorithms
10
Section 3: Advanced Deep Learning Algorithms

What this book covers

Chapter 1, Introduction to Deep Learning, explains the fundamentals of deep learning and helps us to understand what artificial neural networks are and how they learn. We will also learn to build our first artificial neural network from scratch.

Chapter 2, Getting to Know TensorFlow, helps us to understand one of the most powerful and popular deep learning libraries called TensorFlow. You will understand several important functionalities of TensorFlow and how to build neural networks using TensorFlow to perform handwritten digits classification.

Chapter 3, Gradient Descent and Its Variants, provides an in-depth understanding of gradient descent algorithm. We will explore several variants of gradient descent algorithm such as SGD, Adagrad, ADAM, Adadelta, Nadam, and many more and learn how to implement them from scratch.

Chapter 4, Generating Song Lyrics Using RNN, describes how an RNN is used to model sequential datasets and how it remembers the previous input. We will begin by getting a basic understanding of RNN then we will deep dive into its math. Next, we will learn how to implement RNN in TensorFlow for generating song lyrics.

Chapter 5, Improvements to the RNN, begins by exploring LSTM and how exactly LSTM overcomes the shortcomings of RNN. Later, we will learn about GRU cell and how bidirectional RNN and deep RNN work. At the end of the chapter, we will learn how to perform language translation using seq2seq model.

Chapter 6, Demystifying Convolutional Networks, helps us to master how convolutional neural networks work. We will explore how forward and backpropagation of CNNs work mathematically. We will also learn about various architectures of CNN and Capsule networks and implement them in TensorFlow.

Chapter 7, Learning Text Representations, covers the state-of-the-art text representation learning algorithm known as word2vec. We will explore how different types of word2vec models such as CBOW and skip-gram work mathematically. We will also learn how to visualize the word embeddings using TensorBoard. Later we will learn about doc2vec, skip-thoughts and quick-thoughts models for learning the sentence representations.

Chapter 8, Generating Images Using GANs, helps us to understand one of the most popular generative algorithms called GAN. We will learn how to implement GAN in TensorFlow to generate images. We will also explore different types of GANs such as LSGAN and WGAN.

Chapter 9, Learning More about GANs, uncovers various interesting different types of GANs. First, we will learn about CGAN, which conditions the generator and discriminator. Then we see how to implement InfoGAN in TensorFlow. Moving on, we will learn to convert photos to paintings using CycleGAN and how to convert text descriptions to photos using StackGANs.

Chapter 10, Reconstructing Inputs Using Autoencoders, describes how autoencoders learn to reconstruct the input. We will explore and learn to implement different types of autoencoders such as convolutional autoencoders, sparse autoencoders, contractive autoencoders, variational autoencoders, and more in TensorFlow.

Chapter 11, Exploring Few-Shot Learning Algorithms, describes how to build models to learn from a few data points. We will learn what is few-shot learning and explore popular few-shot learning algorithms such as siamese, prototypical, relation, and matching networks.