4.35 out of 5
4.35
1897 reviews on Udemy

Zero to Deep Learning™ with Python and Keras

Understand and build Deep Learning models for images, text and more using Python and Keras
Instructor:
Data Weekends
15,052 students enrolled
English [Auto-generated] More
To describe what Deep Learning is in a simple yet accurate way
To explain how deep learning can be used to build predictive models
To distinguish which practical applications can benefit from deep learning
To install and use Python and Keras to build deep learning models
To apply deep learning to solve supervised and unsupervised learning problems involving images, text, sound, time series and tabular data.
To build, train and use fully connected, convolutional and recurrent neural networks
To look at the internals of a deep learning model without intimidation and with the ability to tweak its parameters
To train and run models in the cloud using a GPU
To estimate training costs for large models
To re-use pre-trained models to shortcut training time and cost (transfer learning)

This course is designed to provide a complete introduction to Deep Learning. It is aimed at beginners and intermediate programmers and data scientists who are familiar with Python and want to understand and apply Deep Learning techniques to a variety of problems.

We start with a review of Deep Learning applications and a recap of Machine Learning tools and techniques. Then we introduce Artificial Neural Networks and explain how they are trained to solve Regression and Classification problems.

Over the rest of the course we introduce and explain several architectures including Fully Connected, Convolutional and Recurrent Neural Networks, and for each of these we explain both the theory and give plenty of example applications.

This course is a good balance between theory and practice. We don’t shy away from explaining mathematical details and at the same time we provide exercises and sample code to apply what you’ve just learned.

The goal is to provide students with a strong foundation, not just theory, not just scripting, but both. At the end of the course you’ll be able to recognize which problems can be solved with Deep Learning, you’ll be able to design and train a variety of Neural Network models and you’ll be able to use cloud computing to speed up training and improve your model’s performance.

Welcome to the course!

1
Welcome to the course!
2
Introduction

Welcome to the course!

3
Real world applications of deep learning

This is a hands-on course where you learn to train deep learning models. Deep learning models are used in real world applications to power technologies such as language translation and object recognition.

4
Download and install Anaconda

Lets get our development environment ready. Let's install Anaconda python and additional python packages you will need in order to follow the course.

5
Installation Video Guide
6
Obtain the code for the course

Let's get the source code that we will use during the course.

7
Course Folder Walkthrough
8
Your first deep learning model

Running your first model will help us check that you have installed all the material correctly.

Data

1
Section 2 Intro
2
Tabular data

First of all let's establish a common vocabulary and introduce some common terms that will be used throughout the course

3
Data exploration with Pandas code along

Descriptive statistics and a few simple checks can be very useful to formulate an initial intuition about the data.

4
Visual data Exploration

Plotting is a powerful way to explore the data and different kinds of plots are useful in different situations.

5
Plotting with Matplotlib

Let's show an example of plotting with Matplotlib!

6
Unstructured Data

Most often than not data is not just tabular. Deep learning can handle text documents, images, sound, and even binary data.

7
Images and Sound in Jupyter

Often Deep Learning uses Image or Audio data, let's see how we can work with it in the Jupyter Environment!

8
Feature Engineering

Feature engineering is the process through which we can transform an unstructured datapoint to a structured, tabular record.

9
Exercise 1 Presentation
10
Exercise 1 Solution

In this exercise you will load and plot a dataset, exploring it visually to gather some insights and also to familiarize with python's plotting library: Matplotlib.

11
Exercise 2 Presentation
12
Exercise 2 Solution

Let's continue working through and explaining the solutions!

13
Exercise 3 Presentation
14
Exercise 3 Solution

Let's continue working through and explaining the solutions!

15
Exercise 4 Presentation
16
Exercise 4 Solution

Let's continue working through and explaining the solutions!

17
Exercise 5 Presentation
18
Exercise 5 Solution

Let's continue working through and explaining the solutions!

Machine Learning

1
Section 3 Intro
2
Machine Learning Problems

There are several types of machine learning, including supervised learning, unsupervised learning, reinforcement learning etc. This course focuses primarily on Supervised Learning.

3
Supervised Learning

Supervised learning allows computers to learn patterns from examples. It is used in several domains and applications and here you learn to identify problems that can be solved using it.

4
Linear Regression

The easiest example of supervised learning is Linear Regression. LR looks for a functional relation between input and output variables.

5
Cost Function

In order to find the best possible linear model to describe our data, we need to define a criterion to evaluate the "goodness" of a particular model. This is the role of the cost function.

6
Cost Function code along

Let's begin to work through the notebook example for the cost function!

7
Finding the best model

Now that we have both a hypothesis (linear model) and a cost function (mean squared error), we need to find the combination of parameters that minimizes such cost.

8
Linear Regression code along

Let's play with Keras to create a Linear Regression Model!

9
Evaluating Performance

How can we know if the model we just trained is good? Since the purpose of our model is to learn to generalize from examples let's test how the model performs on a new set of data not used for training.

10
Evaluating Performance code along

Let's code through an example of evaluating model performance!

11
Classification

Classification is a technique to use when the target variable is discrete, instead of continuous. Here we introduce similarities and differences from a regression.

12
Classification code along

Let's code through a classification example!

13
Overfitting

In some cases our model may seem to be performing really well on the training data, but poorly on the test data. This is called overfitting.

14
Cross Validation

A more accurate way to assess the ability of our model to generalize to unseen datapoints is to repeat the train/test split procedure multiple times and then average the results. This is called cross-validation.

15
Cross Validation code along

Let's code through some cross validation!

16
Confusion matrix
17
Confusion Matrix code along

In a binary classification we can define several types of error and choose which one to reduce.

18
Feature Preprocessing code along

Sometimes we need to preprocess the features, for example if we have categorical data or if the scale is too big or too small.

19
Exercise 1 Presentation
20
Exercise 1 solution

Let's code through an example solution of the pre-processing problems!

21
Exercise 2 Presentation
22
Exercise 2 solution

Let's code through an example solution of the pre-processing problems!

Deep Learning Intro

1
Section 4 Intro
2
Deep Learning successes

Deep learning is successfully applied to many different domains. Here we review a few of them.

3
Neural Networks

The perceptron is the simplest neural network and here we learn all about Nodes, Edges, Biases, Weights as well as the need for an Activation function

4
Deeper Networks

We can combine the output of a perceptron to the input of another one, stacking them into layers. A fully connected architecture is just a series of such layers. Forward propagation still applies.

5
Neural Networks code along

Let's code through a NN example!

6
Multiple Outputs

Let's learn how to work with multiple outputs!

7
Multiclass classification code along

Let's code through an example of multi-class classification!

8
Activation Functions

The activation function is what makes neural networks so powerful. In this lecture we review several types of activation functions and understand why it is necessary.

9
Feed forward

A neural network formulates a prediction using "forward propagation". Here you will learn what it is.

10
Exercise 1 Presentation
11
Exercise 1 Solution

Let's work through our Deep Learning Introduction exercises!

12
Exercise 2 Presentation
13
Exercise 2 Solution

Let's work through our Deep Learning Introduction exercises!

14
Exercise 3 Presentation
15
Exercise 3 Solution

Let's work through our Deep Learning Introduction exercises!

16
Exercise 4 Presentation
17
Exercise 4 Solution

The Tensorflow playground is a nice web app that allows you to play around with simple neural network parameters to get a feel for what they do.

Gradient Descent

1
Section 5 Intro
2
Derivatives and Gradient

What is the gradient and why is it important? In this lecture we introduce the gradient in 1 dimension and then extend it to many dimensions.

3
Backpropagation intuition

The gradient is important because it allows us to know how to adjust the parameters of our model in order to find the best model. Here I will give you some intuition about it.

4
Chain Rule

Let's quickly cover the Chain Rule that you'll need to understand!

5
Derivative Calculation

How does backpropagation work when we have a more complex neural network? The chain rule of derivation is the answer. As we shall see this reduces to a lot of matrix multiplications.

6
Fully Connected Backpropagation

The learning rate is the external parameter that we can control to decide the size of our updates to the weights.

7
Matrix Notation

How do we feed the data to our model in order to adjust the weights by gradient descent? The answer is in batches. In this lecture you will learn all about epochs, batches and mini-batches.

8
Numpy Arrays code along

Let's briefly go over working with NumPy arrays!

9
Learning Rate

The learning rate is an important parameter of your model, let's go over it!

10
Learning Rate code along

Let's see how models can be effected using the learning rate

11
Gradient Descent

Gradient descent is a first-order iterative optimization algorithm. To find a local minimum of a function using gradient descent, one takes steps proportional to the negative of the gradient (or of the approximate gradient) of the function at the current point.

12
Gradient Descent code along

Let's code through an example of Gradient Descent!

13
EWMA

Exponentially Weighted Moving Average is one of the most common algorithms used for smoothing!

14
Optimizers

Many improved optimization algorithms use the ewma filter. Here we review a few improvements to the naive backpropagation algorithm.

15
Optimizers code along

Let's code through some optimization algorithms that are using ewma.

16
Initialization code along

Let's code through some initialization, assigning weights to the initial values of our model.

17
Inner Layers Visualization code along

Let's visualize the inner layers of our network!

18
Exercise 1 Presentation
19
Exercise 1 Solution

Let's work through the solutions for exercise 1!

20
Exercise 2 Presentation
21
Exercise 2 Solution

Let's work through the solutions for exercise 2!

22
Exercise 3 Presentation
23
Exercise 3 Solution

Let's work through the solutions for exercise 3!

24
Exercise 4 Presentation
25
Exercise 4 Solution

Let's work through the solutions for exercise 4!

26
Tensorboard

Tensorflow comes equipped with a small visualization server that allows us to display a bunch of things.

Convolutional Neural Networks

1
Section 6 Intro
2
Features from Pixels

Images can be viewed as a sequence of pixels or we can extract ad hoc features from them. Both approaches offer advantages and limitations.

3
MNIST Classification
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.4
4.4 out of 5
1897 Ratings

Detailed Rating

Stars 5
863
Stars 4
720
Stars 3
227
Stars 2
53
Stars 1
34
2fcb1f052d135d7d80573528fcdd3b84
30-Day Money-Back Guarantee

Includes

10 hours on-demand video
6 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion