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