We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Deep Learning with Python and Keras

Data Weekends, Jose Portilla, and Francesco Mosconi

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.

Read more

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.

Enroll now

What's inside

Learning objectives

  • 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)

Syllabus

Welcome to the course!

Welcome to the course!

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.

Read more

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

Installation Video Guide

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

Course Folder Walkthrough

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

Data
Section 2 Intro

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

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

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

Let's show an example of plotting with Matplotlib!

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

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

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

Exercise 1 Presentation

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.

Exercise 2 Presentation

Let's continue working through and explaining the solutions!

Exercise 3 Presentation
Exercise 4 Presentation
Exercise 5 Presentation
Machine Learning
Section 3 Intro

There are several types of machine learning, including supervised learning, unsupervised learning, reinforcement learning etc. This course focuses primarily on 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.

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

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.

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

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.

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

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.

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

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

Let's code through a classification example!

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.

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.

Let's code through some cross validation!

Confusion matrix

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

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

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

Deep Learning Intro
Section 4 Intro

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

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

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.

Let's code through a NN example!

Let's learn how to work with multiple outputs!

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

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.

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

Let's work through our Deep Learning Introduction exercises!

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
Section 5 Intro

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.

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.

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

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.

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

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.

Let's briefly go over working with NumPy arrays!

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

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

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.

Let's code through an example of Gradient Descent!

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

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

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

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

Let's visualize the inner layers of our network!

Let's work through the solutions for exercise 1!

Let's work through the solutions for exercise 2!

Let's work through the solutions for exercise 3!

Let's work through the solutions for exercise 4!

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

Convolutional Neural Networks
Section 6 Intro

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

MNIST Classification

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops supervised learning skills, which are core to data science
Taught by renowned instructors Jose Portilla, Data Weekends, and Francesco Mosconi, who are recognized for their work in deep learning
Examines deep learning applications across fields, which is highly relevant in the tech industry
Covers essential deep learning architectures like fully connected, convolutional, and recurrent neural networks
Employs a balanced approach of theory and practice, providing a well-rounded understanding
Offers hands-on exercises and code examples for reinforcement of concepts

Save this course

Save Deep Learning with Python and Keras to your list so you can find it easily later:
Save

Reviews summary

Well-explained deep learning concepts

Learners say that this course offers clear explanations of deep learning concepts and practical coding exercises. However, some students note that you may need basic math knowledge to fully understand the equations.
Practical coding exercises.
"practical coding"
Concepts explained clearly.
"Clear Explanation of concept."
Basic math knowledge may be needed.
"To completely follow the equation, some prior basic knowledge of math is needed."

Career center

Learners who complete Deep Learning with Python and Keras will develop knowledge and skills that may be useful to these careers:
Deep Learning Engineer
A Deep Learning Engineer constructs artificial neural networks, which are used in a variety of applications such as image recognition, natural language processing, and speech recognition. This course teaches the fundamentals of Deep Learning, making it an excellent starting point for someone who is interested in becoming a Deep Learning Engineer. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for the role. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Deep Learning Engineer.
Machine Learning Engineer
Machine Learning Engineers develop and implement Machine Learning algorithms to solve real-world problems. This course provides a strong foundation in Machine Learning, covering topics such as supervised learning, unsupervised learning, and optimization algorithms. This knowledge is essential for any Machine Learning Engineer, and this course provides a solid starting point for someone who is interested in the field. Additionally, this course provides hands-on experience building and training Machine Learning models, which is a valuable skill for any Machine Learning Engineer.
Data Scientist
Data Scientists use statistical and computational techniques to analyze and interpret data. This course provides a strong foundation in Deep Learning, which is an important tool for Data Scientists. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Data Scientist. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Data Scientist.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in software development. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Software Engineer. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Software Engineer.
Research Scientist
Research Scientists conduct research in a variety of fields, including Deep Learning. This course provides a strong foundation in Deep Learning, covering topics such as supervised learning, unsupervised learning, and optimization algorithms. This knowledge is essential for any Research Scientist who is interested in Deep Learning, and this course provides a solid starting point for someone who is interested in the field. Additionally, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Research Scientist.
Data Analyst
Data Analysts use statistical and computational techniques to analyze data. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in data analysis. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Data Analyst. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Data Analyst.
Business Analyst
Business Analysts use data to solve business problems. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in business analysis. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Business Analyst. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Business Analyst.
Product Manager
Product Managers develop and manage software products. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in product development. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Product Manager. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Product Manager.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in quantitative analysis. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Quantitative Analyst. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Quantitative Analyst.
Actuary
Actuaries use mathematical and statistical models to assess risk. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in actuarial science. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Actuary. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Actuary.
Statistician
Statisticians use statistical methods to analyze data. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in statistics. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Statistician. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Statistician.
Operations Research Analyst
Operations Research Analysts use mathematical and statistical models to solve business problems. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in operations research. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Operations Research Analyst. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Operations Research Analyst.
Financial Analyst
Financial Analysts use financial data to make investment decisions. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in financial analysis. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Financial Analyst. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Financial Analyst.
Marketing Analyst
Marketing Analysts use data to analyze marketing campaigns. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in marketing analysis. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Marketing Analyst. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Marketing Analyst.
Sales Analyst
Sales Analysts use data to analyze sales performance. This course provides a strong foundation in Deep Learning, which is becoming increasingly important in sales analysis. The course covers topics such as supervised learning, unsupervised learning, and optimization algorithms, which are all essential concepts for any Sales Analyst. In addition, this course provides hands-on experience building and training Deep Learning models, which is a valuable skill for any Sales Analyst.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Deep Learning with Python and Keras.
Provides a conceptual introduction to deep learning, with a focus on making the concepts easy to understand.
Provides a specialized introduction to deep learning for natural language processing, covering topics such as text classification, sentiment analysis, and machine translation.
Provides a specialized introduction to deep learning for computer vision, covering topics such as image classification, object detection, and facial recognition.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Deep Learning with Python and Keras.
The Complete Neural Networks Bootcamp: Theory,...
Most relevant
Facial Expression Classification Using Residual Neural...
Most relevant
Tensorflow 2.0: Deep Learning and Artificial Intelligence
Most relevant
PyTorch: Deep Learning and Artificial Intelligence
Transfer Learning for Food Classification
Deep Learning with Keras 2
Machine Learning & Self-Driving Cars: Bootcamp with Python
Data Science: Modern Deep Learning in Python
Complete Guide to TensorFlow for Deep Learning with Python
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser