introduction to web-based machine learning with …...2018/01/17  · machine learning i march 8th...

Post on 11-Jul-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related