introduction to web-based machine learning with …...2018/01/17 · machine learning i march 8th...
TRANSCRIPT
Introduction to Web-Based Machine Learning with DIGITS
1
Machine Learning on Images
2
Given examples, can we train a computer to do:
Source - http://cs231n.github.io/
Machine Learning on Images
3 Source - http://cs231n.github.io/
Artificial Neural Networks
4
• Signal goes in, via input layer
• Weighted links transfer input values to neurons in hidden layers
• Signals are summed at hidden neurons and passed through transfer/activation function
• Processed signal arrives at output layer
• Decisions made using output signal(s)
What’s in an (Artificial) Neuron?
5 Source - http://cs231n.github.io/
Where’s the Knowledge?
6
Weights encapsulate the knowledge of a network
Network learns using an algorithm that optimize weights given examples
Back propagation is commonly used – learn weights from examples usingsome linear algebra
Classification Example – MNIST
7
Which digit is it?
Why Deep Learning?
8
Type Classifier Distortion Preprocessing Error rate (%)
Linear classifier Pairwise linear classifier None Deskewing 7.6[9]
K-Nearest NeighborsK-NN with non-linear deformation (P2DHMDM)
None Shiftable edges 0.52[18]
Boosted StumpsProduct of stumps on Haar features
None Haar features 0.87[19]
Non-linear classifier 40 PCA + quadratic classifier None None 3.3[9]
Support vector machineVirtual SVM, deg-9 poly, 2-pixel jittered
None Deskewing 0.56[20]
Neural network 2-layer 784-800-10 None None 1.6[21]
Neural network 2-layer 784-800-10 elastic distortions None 0.7[21]
Deep neural network6-layer 784-2500-2000-1500-1000-500-10
elastic distortions None 0.35[22]
Convolutional neural network6-layer 784-40-80-500-1000-2000-10
None Expansion of the training data 0.31[15]
Convolutional neural network6-layer 784-50-100-500-1000-10-10
None Expansion of the training data 0.27[16]
Convolutional neural networkCommittee of 35 CNNs, 1-20-P-40-P-150-10
elastic distortions Width normalizations 0.23[8]
Convolutional neural networkCommittee of 5 CNNs, 6-layer 784-50-100-500-1000-10-10
None Expansion of the training data 0.21[17]
https://en.wikipedia.org/wiki/MNIST_database
Different Classifiers on the MNIST Database
Why Deep Learning?
9
More layers can encapsulate more knowledge
More weights to train – need more data, need more computation
Convolutional Neural Networks
10
Complex architectures, many layers – really good for image recognition tasks
Lots of computing power needed to do the training mathematics!
GPUs to the Rescue!
11
GPU cards are exceptionally well suited to Neural Network Mathematics
Orders of magnitude faster than CPU-based training
How to Create and Train a Neural Network?
12
The bad old days – (try to)write low-level performant, complex, numerical code
Source: http://www.cs.bham.ac.uk/~jxb/NN/nn.html
How to Create and Train a Neural Network?
13
Now many great frameworks – easier, but coding still needed (often Python)
NVIDIA DIGITS
14
• Web Based Platform
• Uses Popular Frameworks
• Define, Train, Test Networks
• Interact with Images
• Uses GPU Cards
DIGITS is a great platform if you want to work interactively, with no/minimal coding
Launch via the portal – BioHPC OnDemand
15
Start a WebDIGITS session, and then connect using link provided in your browser
Using DIGITS
16
1. Create a Dataset
2. Create and Train a Model
3. Run Predictions
Demo 1 – MNIST Classification
17
• Handwritten digits
• 52,500 Images for training
• We will use the LeNet modelA Pioneering Convolutional Neural Network
Follow tutorial at:
https://github.com/NVIDIA/DIGITS/blob/master/docs/GettingStarted.md
Segmentation Example – Sunnybrook Cardiac Data
18
Radau P, Lu Y, Connelly K, Paul G, Dick AJ, Wright GA. "Evaluation Framework for
Algorithms Segmenting Short Axis Cardiac MRI." The MIDAS Journal -Cardiac MR Left Ventricle Segmentation Challenge, http://hdl.handle.net/10380/3070
MRI images in DICOM format. Find the left ventricle
Segmentation Example – Sunnybrook Cardiac Data
19
Radau P, Lu Y, Connelly K, Paul G, Dick AJ, Wright GA. "Evaluation Framework for
Algorithms Segmenting Short Axis Cardiac MRI." The MIDAS Journal -Cardiac MR Left Ventricle Segmentation Challenge, http://hdl.handle.net/10380/3070
MRI images in DICOM format. Find the left ventricle
There it is – or so an expert tells us!
Segmentation Example – Sunnybrook Cardiac Data
20
Radau P, Lu Y, Connelly K, Paul G, Dick AJ, Wright GA. "Evaluation Framework for
Algorithms Segmenting Short Axis Cardiac MRI." The MIDAS Journal -Cardiac MR Left Ventricle Segmentation Challenge, http://hdl.handle.net/10380/3070
MRI images in DICOM format. Find the left ventricle
Demo 2 – Sunnybrook Cardiac Data
21
Bit more complicated than Demo 1
• Need to use a plugin that reads DICOM and the expert ventricle contours
• Need to use a DICE loss functionUnbalanced classes
• Will fine tune a pre-trained FCN-8s networkFully Convolutional Networks for Semantic SegmentationLong et. al. 2015
Refer to:
https://github.com/NVIDIA/DIGITS/blob/master/examples/medical-imaging/README.md
Web Resources
22
Machine/Deep learning – Stanford CS231n: Convolutional Neural Networks for Visual Recognition.
http://cs231n.github.io/
DIGITS Documentationhttps://github.com/NVIDIA/DIGITS/blob/master/docs/GettingStarted.md
Berkeley FCN Segmentation Modelshttp://fcn.berkeleyvision.org/
Nano Courses
23
Machine Learning / Deep Learning is a big topicBICF Nano Courses will run in 2018
Machine Learning IMarch 8th & 9th, 2018
Are you interested in machine learning? This course is an introductory course for students to learn the basics. Programming experience in Python is mandatory.
Course Size: 15 studentsAcademic Credit: 1 credit hour special topics
https://bicf.pages.biohpc.swmed.edu/bicf_nanocourses/#machine-learning-i