Based on feedback that course content is at graduate level (501) rather than undergraduate level (101), we have renumbered the courses to reflect the depth of the content more accurately. There has been no change to the lectures or exercises.

Summary

This course provides an introduction to deep learning on modern Intel® architecture. Deep learning has gained significant attention in the industry by achieving state of the art results in computer vision and natural language processing.

By the end of this course, students will have a firm understanding of:

  • Techniques, terminology, and mathematics of deep learning
  • Fundamental neural network architectures, feedforward networks, convolutional networks, and recurrent networks
  • How to appropriately build and train these models
  • Various deep learning applications
  • How to use pre-trained models for best results

The course is structured around 12 weeks of lectures and exercises. Each week requires three hours to complete.

Week 1

This class recaps Course 1: Machine Learning 501. Students who are experts in machine learning can skip to the next week’s class.

Download

Watch the Class

Week 2

The inspiration for neural networks comes from biology. This class teaches students the basic nomenclature in deep learning: what is a neuron (and it’s similarity to a biological neuron), the architecture of a feedforward neural network, activation functions and weights.

Download

Watch the Class

Week 3

This class builds on the concepts learned in week 2: how a neural network computes the output given an input in a single forward pass, and how to use this network to train a model. Learn how to calculate the loss and adjust weights using a technique called backpropagation. Different types of activation functions are also introduced.

Download

Watch the Class

Week 4

Learn techniques to improve training speed and accuracy. Identify the pros and cons of using gradient descent, stochastic gradient descent, and mini-batches. With the foundational knowledge on neural networks covered in Weeks 2 through 4, learn how to build a basic neural network using Keras* with TensorFlow* as the backend.

Download

Watch the Class

Week 5

How can you prevent overfitting (regularization) in a neural network? In this class, learn about penalized cost function, dropout, early stopping, momentum, and some optimizers like AdaGrad and RMSProp that help with regularizing a neural network.

Download

Watch the Class

Week 6

Learn about convolutional neural networks (CNN) and compare them to the fully connected neural networks already introduced. Learn how to build a CNN by choosing the grid size, padding, stride, depth, and pooling.

Download

Watch the Class

Week 7

Using the LeNet-5* topology, learn how to apply all the CNN concepts learned in the last lesson to the MNIST (Modified National Institute of Standards and Technology) dataset for handwritten digits. With a trained neural network, see how the primitive features learned in the first few layers can be generalized across image classification tasks, and how transfer learning helps.

Download

Watch the Class

Week 8

Deep learning literature talks about many image classification topologies like AlexNet, VGG-16 and VGG-19, Inception, and ResNet. This week, learn how these topologies are designed and the usage scenarios for each.

Download

Watch the Class

Week 9

One practical obstacle to building image classifiers is obtaining labeled training data. Explore how to make the most of the available labeled data using data augmentation and implement data augmentation using Keras*.

Download

Watch the Class

Week 10

So far, we have used images as inputs to neural networks. Image values are essentially numbers (grayscale or RGB). But, how do we work with text? How can we build a neural network to work with pieces of text of variable length? How do we convert words into numerical values? Learn about recurrent neural networks (RNN) and their application to natural language processing (NLP).

Download

Watch the Class

Week 11

Learn more advanced topics for developing an RNN and how the concept of recurrence can be used to solve the issue with variable sequence and ordering of words. Take out your notebook and pencil and work through the math of RNNs.

Download

Watch the Class

Week 12

Standard RNNs have poor memory capabilities. In NLP, it is important to have a structure that can carry forward some of the signal over many steps. Learn about the long short term memory (LSTM) that addresses this problem.

Download

Watch the Class