Demystifying Deep Learning Mandar Gujrathi Mandar.Gujrathi@mathworks.com.au 2015 The MathWorks, Inc. 1
2
Deep Learning Applications Voice assistants (speech to text) Teaching character to beat video game Automatically colouring black-and-white images 3
Why MATLAB for Deep Learning? MATLAB is Productive MATLAB is Fast MATLAB Integrates with Open Source 4
What is Deep Learning? 5
Deep Learning Model learns to perform classification tasks directly from data. x1000 x1000 x1000 Deep Learning Model Image Classifier x1000 x1000 6
Data Types for Deep Learning Signal Text Image 7
Deep Learning is Versatile Detection of cars and road in autonomous driving systems Rain Detection and Removal 1 Iris Recognition 99.4% accuracy 2 1. Deep Joint Rain Detection and Removal from a Single Image" Wenhan Yang, Robby T. Tan, Jiashi Feng, Jiaying Liu, Zongming Guo, and Shuicheng Yan 2. Source: An experimental study of deep convolutional features for iris recognition Signal Processing in Medicine and Biology Symposium (SPMB), 2016 IEEE Shervin Minaee ; Amirali Abdolrashidiy ; Yao Wang; An experimental study of deep convolutional features for iris recognition 8
Deep Learning in 6 Lines of MATLAB Code 13
Why MATLAB for Deep Learning? MATLAB is Productive MATLAB is Fast MATLAB integrates with Open Source 14
I love to label and preprocess my data ~ Said no engineer, ever. 15
Caterpillar Case Study World s leading manufacturer of construction and mining equipment. Similarity between these projects? Autonomous haul trucks Pedestrian detection Equipment classification Terrain mapping 16
Computer Must Learn from Lots of Data ALL data must first be labeled to create these autonomous systems. We were spending way too much time ground-truthing [the data] --Larry Mianzo, Caterpillar 17
Semi-automated labelling Semi-automated labelling process Used MATLAB for entire development workflow. Because everything is in MATLAB, development time is short 18
How Does MATLAB Come into Play? 19
20
21
22
MATLAB is Productive Image Labeler App semi-automates labeling workflow Bootstrapping Improve automatic labeling by updating algorithm as you label more images correctly. Easy to load metadata even when labeling manually 23
Why MATLAB for Deep Learning? MATLAB is Productive MATLAB is Fast MATLAB integrates with Open Source 24
MATLAB is Fast Performance Training Deployment 25
What is Training? Feed labeled data into neural network to create working model x1000 x1000 x1000 Convolution Neural Network Image Classifier Model x1000 x1000 26
Deep Learning in Finance Predict Trade Weighted US Dollar Index 28
Another Network for Signals - LSTM LSTM = Long Short Term Memory (Networks) Signal, text, time-series data Use previous data to predict new information I live in France. I speak. c 0 C 1 C t 29
1. Prepare data Functionalities to: connect to FRED servers databases Handle Big Data Perform out of memory computations. 31
2. Split data Training Validation Test 70% 15% 15% Trains the model Computer learns from this data Checks accuracy of model during training Tests model accuracy Not used until validation accuracy is good 33
3. Define Network architecture and parameters 35
4. Train Network 37
Deep Learning on CPU, GPU, Multi-GPU and Clusters H OW TO TA RG E T? Single CPU Single CPU Single GPU Single CPU, Multiple GPUs On-prem server with GPUs Cloud GPUs (AWS) 38
Training Performance Seconds / Epoch TensorFlow MATLAB MXNet Batch size 32 39
MATLAB is Fast for Deployment Target a GPU for optimal performance NVIDIA GPUs use CUDA code We only have MATLAB code. Can we translate this? 41
GPU Coder Automatically generates CUDA Code from MATLAB Code can be used on NVIDIA GPUs CUDA extends C/C++ code with constructs for parallel computing 42
GPU Coder Performance 43
Prediction Performance: Fast with GPU Coder Images/Sec Why is GPU Coder so fast? Analyzes and optimizes network architecture Invested 15 years in code generation TensorFlow MATLAB MXNet GPU Coder AlexNet ResNet-50 VGG-16 44
Why MATLAB? MATLAB is Productive MATLAB is Fast MATLAB Integrates workflows 45
Used MATLAB and Open Source Together Used Caffe and MATLAB together Achieved significantly better results than an engineered rain model. 1. Deep Joint Rain Detection and Removal from a Single Image" Wenhan Yang, Robby T. Tan, Jiashi Feng, Jiaying Liu, Zongming Guo, and Shuicheng Yan Use our tools where it makes your workflow easier! 46
MATLAB Integrates Workflows Access to many pretrained models through add-ons Users wanted to import latest models Import models directly from TensorFlow or Caffe Allows for improved collaboration 47
Keras-Tensorflow Importer 48
MATLAB Integrates Workflows MATLAB supports entire deep learning workflow Use when it is convenient for your workflow Access to latest models Improved collaboration with other users 49
Why MATLAB for Deep Learning? MATLAB is Productive MATLAB is Fast (Performance) MATLAB Integrates with Open Source (Frameworks) 50