Applied Deep Learning for coders with Apache MXNet - Research to Production

Hands-on introductory deep learning workshop for engineers and all beginners in the field of AI. We will focus less on math equations and more on learning the fundamental principles, visualizing and gaining intuition behind the deep learning techniques. This session introduces you to the most performant and production ready open source deep learning framework - Apache MXNet. We will learn by coding, we will have 4 hands-on lab session using AWS SageMaker and other state of the art cloud AI utilities that you need to know.

You'll learn the ideas behind common concepts, including training data, validation data, features, model training, model validation, loss functions, and optimization. You’ll also gain an understanding of tensors, Multi-Layer Perceptron(MLP), Convolutional Neural Networks(CNN), and Recurrent Neural Networks(RNN). After learning the foundational concepts, you'll get hands-on with MXNet and learn more about its powerful Gluon interface in Python for building deep learning models. You'll learn all about MXNet components, such as data loading and transformations, context – CPU/GPU/multi-GPU, blocks, trainer, optimizers, loss functions, model training, model parameters, and more. You'll apply what you’ve learned about CNN to build a facial emotion recognition model that can detect an emotion from any picture of a person's face. You will also use RNN to build an Emoji prediction model for a given sentence.

Finally, we will learn tools and technologies for deploying a deep learning model in production inference servers. We will be using Docker containers with MXNet Model Server(MMS) to host and scale a deep learning model server. We will see the importance of monitoring model performance in production, hot-loading of models, model versioning, hardware usage and using framework-neutral model representations (ONNX). We will be ending this workshop with a very brief introduction to current state of the art techniques in Computer Vision such as Self Driving Cars, Natural Language Processing such as chat bots and Generative Adversarial Networks.


Outline/Structure of the Workshop

SECTION 1: Introduction to Artificial Intelligence and Deep Learning

  • Introduction to Artificial Intelligence (AI)
  • 3 broad categories of AI: Computer Vision, Natural Language Processing, Speech Recognition
  • Neural Networks (Deep Learning (DL))
  • Hardware and software for DL
  • Why DL now?
  • Common concepts in the AI field – training data, validation data, features, model training, overfitting, epoch, model validation, accuracy, model, loss functions, optimization.
  • Tensors: Scalar, Vectors, Matrices, Tensors, Image, Sequence Data.
  • Tensor operations: Dot product, norm (distance).
  • Deep Learning Basics: Forward Propagation, Backward Propagation, and Differentiation.

SECTION 2: Getting started with Apache MXNet

  • Installation: Anaconda, MXNet, Jupyter notebook for experimentation
  • DL programming paradigms – Symbolic v/s Imperative
  • NDArray: N-Dimensional Tensors. Context – CPU / GPU
  • NDArray operations
  • Autograd
  • MXNet Gluon: Blocks, Loss, Optimizers, Parameters, Trainer
  • Data loading and preparation: Data Loader, NDArrayIterator, Dataset
  • First Deep Learning Model: Multi-Layer Perceptron (MLP) for Fashion MNIST

Lab 1: NDArray operations, Auto Grad, Data Loaders, Data Iterators, Dataset; MLP model for Fashion MNIST

SECTION 3: Convolutional Neural Networks

  • Problems with Multi-Layer Perceptron
  • The intuition behind Convolutional Neural Networks (CNN)
  • Convolution basics: Kernel, Convolution, Strides, Padding
  • Pooling
  • BatchNormalization
  • Dropout
  • Activation: Relu
  • Importance of Image Augmentation: Rotate, Flip and more...

Lab 2: Application of CNN - Build a Facial Emotion Recognition Model

SECTION 4: Advanced Applications of CNN

  • CNN in Self Driving Cars
  • CNN in Health Care
  • CNN in Manufacturing
  • GluonCV Toolkit

SECTION 5: Introduction to Sequence Models with RNN

  • Sequence Data
  • Recurrent Neural Network
  • Language Model
  • One hot encoding
  • Word Embeddings – Word to Vec
  • Cosine Similarity

Lab 4: Application of RNN - Build an Emoji prediction model for a given sentence

SECTION 6: Advanced Applications of RNN

  • Language Translation
  • Time series forecasting
  • Automatic Speech Recognition
  • GluonNLP Toolkit

SECTION 7: Deploying Deep Learning Models in Production with MXNet Model Server

  • Deep Learning Models – Params (weights), Symbols (network)
  • Inference / Predictions
  • Deep Learning Models in production – Edge devices, mobile, web servers
  • MXNet Model Server (MMS)- Serving MXNet Models in production

Lab 5: Deploying the Facial Emotion Recognition model in production with MMS

Learning Outcome

  • Get started with Deep Learning today
  • Forget about math, gain intuition, learn fundamentals, build and see how it works.
  • Learn common terms and concepts used in the field of AI, including: training data, validation data, features, model training, model validation, loss functions, and optimization
  • Explore fundamental concepts in deep learning, including: tensors, multi-layer perceptron (MLP), Convolutional Neural Networks (CNN), and Recurrent Neural Networks (RNN)
  • Learn how to install and use Apache MXNet Gluon, and utilize components such as NDArray, autograd, data loaders and iterators, data transformations, block, trainer, model training, and model inference.
  • Build a facial emotion recognition model using CNNs
  • Create an emoji prediction model for a given sentence using RNNs
  • Learn how to use two advanced MXNet toolkits – GluonNLP and GluonCV
  • Deploy deep learning models in production with MXNet Model Server

Target Audience

This workshop is ideal for Engineers, and all Beginners who want to get started with Deep Learning

Prerequisites for Attendees

This is a hands on workshop. You should have:

1. A laptop with a browser! We will be providing you all the required cloud resources for you to code and run the lab sessions on a remote GPU instance.

2. You need to have basic experience with Python as we will be using Apache MXNet's Python interface.

All other knowledge is gained through the session and you need not worry about math, ml or dl basics.

schedule Submitted 1 year ago