Book Image

Deep Learning for Beginners

By : Dr. Pablo Rivas
Book Image

Deep Learning for Beginners

By: Dr. Pablo Rivas

Overview of this book

With information on the web exponentially increasing, it has become more difficult than ever to navigate through everything to find reliable content that will help you get started with deep learning. This book is designed to help you if you're a beginner looking to work on deep learning and build deep learning models from scratch, and you already have the basic mathematical and programming knowledge required to get started. The book begins with a basic overview of machine learning, guiding you through setting up popular Python frameworks. You will also understand how to prepare data by cleaning and preprocessing it for deep learning, and gradually go on to explore neural networks. A dedicated section will give you insights into the working of neural networks by helping you get hands-on with training single and multiple layers of neurons. Later, you will cover popular neural network architectures such as CNNs, RNNs, AEs, VAEs, and GANs with the help of simple examples, and learn how to build models from scratch. At the end of each chapter, you will find a question and answer section to help you test what you've learned through the course of the book. By the end of this book, you'll be well-versed with deep learning concepts and have the knowledge you need to use specific algorithms with various tools for different tasks.
Table of Contents (20 chapters)
1
Section 1: Getting Up to Speed
8
Section 2: Unsupervised Deep Learning
13
Section 3: Supervised Deep Learning

What this book covers

Chapter 1, Introduction to Machine Learning, gives an overview of machine learning. It introduces the motivation behind machine learning and the terminology that is commonly used in the field. It also introduces deep learning and how it fits in the realm of artificial intelligence.

Chapter 2, Setup and Introduction to Deep Learning Frameworks, helps you in the process of setting up TensorFlow and Keras and introduces their usefulness and purpose in deep learning. This chapter also briefly introduces other deep learning libraries to get you acquainted with them in some small way.

Chapter 3, Preparing Data, introduces you to the main concepts behind data processing to make it useful in deep learning. It will cover essential concepts of formatting outputs and inputs that are categorical or real-valued, as well as exploring techniques for augmenting data or reducing the dimensions of data.

Chapter 4, Learning from Data, introduces the most elementary concepts around the theory of deep learning, including measuring performance on regression and classification as well as the identification of overfitting. It also offers some warnings about optimizing hyperparameters.

Chapter 5, Training a Single Neuron, introduces the concept of a neuron and connects it to the perceptron model, which learns from data in a simple manner. The perceptron model is key to understanding basic neural models that learn from data. It also exposes the problem of non-linearly separable data.

Chapter 6, Training Multiple Layers of Neurons, brings you face to face with the first challenges of deep learning using the multi-layer perceptron algorithm, such as gradient descent techniques for error minimization, and hyperparameter optimization to achieve generalization.

Chapter 7, Autoencoders, describes the AE model by explaining the necessity of both encoding and decoding layers. It explores the loss functions associated with the autoencoder problem and it applies it to the dimensionality reduction problem and data visualization.

Chapter 8, Deep Autoencoders, introduces the idea of deep belief networks and the significance of this type of deep unsupervised learning. It explains such concepts by introducing deep AEs and contrasting them with shallow AEs.

Chapter 9, Variational Autoencoders, introduces the philosophy behind generative models in the unsupervised deep learning field and their importance in the production of models that are robust against noise. It presents the VAE as a better alternative to a deep AE when working with perturbed data.

Chapter 10, Restricted Boltzmann Machines, complements the book's coverage of deep belief models by presenting RBMs. The backward-forward nature of RBMs is introduced and contrasted with the forward-only nature of AEs. The chapter compares RBMs and AEs on the problem of data dimensionality reduction using visual representations of the reduced data.

Chapter 11, Deep and Wide Neural Networks, explains the difference in performance and complexities of deep versus wide neural networks. It introduces the concept of dense networks and sparse networks in terms of the connections between neurons.

Chapter 12, Convolutional Neural Networks, introduces CNNs, starting with the convolution operation and moving forward to ensemble layers of convolutional operations aiming to learn filters that operate over data. The chapter concludes by showing how to visualize the learned filters.

Chapter 13, Recurrent Neural Networks, presents the most fundamental concepts of recurrent networks, exposing their shortcomings to justify the existence and success of long short-term memory models. Sequential models are explored with applications for image processing and natural language processing.

Chapter 14, Generative Adversarial Networks, introduces the semi-supervised learning approach of GANs, which belong to the family of adversarial learning. The chapter explains the concepts of generator and discriminator and talks about why having good approximations to the distribution of the training data can lead to the success of a model in, for example, the production of data from random noise.

Chapter 15, Final Remarks on the Future of Deep Learning, briefly exposes you to the new exciting topics and opportunities in deep learning. Should you want to continue your learning, you will find here other resources from Packt Publishing that you can use to move forward in this field.