new image analysis with deep learning - gtc on demand · 2015. 3. 19. · graphlab create • a...

47
Deep Learning Made Easy with GraphLab Create Piotr Teterwak Dato Team 1

Upload: others

Post on 16-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Deep Learning Made Easy with GraphLab CreatePiotr Teterwak!Dato Team

1

Page 2: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Who I am

Piotr  Teterwak  Software  Engineer

2

Page 3: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

GraphLab Create• A platform for building predictive

applications, fast!• Data engineering on Big Data!• Interactive visualization!• Fast machine learning toolkits!• Easy deployment!!

• Python frontend, C++ backend

3

Page 4: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

The Dato Team

4

Page 5: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Making Deep Learning Easy

5

Page 6: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Deep Learning

6

Page 7: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Deep Learning Made Easy!• Intuitive API!• Transfer Learning!• Integration with other tools in GraphLab

Create

7

Page 8: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

What is Deep Learning?

8

Page 9: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Machine Learning• Algorithms that can learn from data without

being explicitly programmed. !• One example would be image

classification, i.e binning an image as one of a fixed number of categories.

9

Page 10: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Machine Learning

“cat”

10

Page 11: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Deep Learning

“cat”

f1(x) f2(x) f3(x)

11

Page 12: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

http://deeplearning.stanford.edu/wiki/images/4/40/Network3322.png

Deep Neural Networks

P(cat|x)

P(dog|x)

12

Page 13: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Deep Neural Networks• Can model any function with enough

hidden units. !• This is tremendously powerful: given

enough units, it is possible to train a neural network to solve arbitrarily difficult problems. !

• But also very difficult to train, too many parameters means too much memory+computation time.

13

Page 14: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Neural Nets and GPU’s• Many operations in Neural Net training can

happen in parallel!• Reduces to matrix operations, many of

which can be easily parallelized on a GPU.

14

Page 15: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Convolutional Neural Nets• Strategic removal of edges

15

Input  Layer

Hidden  Layer

Page 16: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Convolutional Neural Nets• Strategic removal of edges

16

Input  Layer

Hidden  Layer

Page 17: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Convolutional Neural Nets• Strategic removal of edges

17

Input  Layer

Hidden  Layer

Page 18: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Convolutional Neural Nets• Strategic removal of edges

18

Input  Layer

Hidden  Layer

Page 19: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Convolutional Neural Nets• Strategic removal of edges

19

Input  Layer

Hidden  Layer

Page 20: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Convolutional Neural Nets• Strategic removal of edges

20

Input  Layer

Hidden  Layer

Page 21: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Convolutional Neural Nets

http://ufldl.stanford.edu/wiki/images/6/6c/Convolution_schematic.gif

21

Page 22: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Pooling layer

Ranzato,  LSVR  tutorial  @  CVPR,  2014.  www.cs.toronto.edu/~ranzato

22

Page 23: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Pooling layer

http://ufldl.stanford.edu/wiki/images/6/6c/Pooling_schematic.gif

23

Page 24: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Overall architecture

 A.  Krizhevsky,  I.  Sutskever  and  G.E.  Hinton.  “ImageNet  Classification  with  Deep  Convolutional  Neural  Networks”.  NIPS  (2012)

24

Page 25: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Hierarchichal Representation

Y.  Bengio  (2009)

25

Hands  -­‐  Face  -­‐  Ground

Page 26: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Input

Learned  hierarchy

Lee  et  al.  ‘Convolutional  Deep  Belief  Networks  for  Scalable  Unsupervised  Learning  of  Hierarchical  Representations’  ICML  2009

Deep learning features

Output26

Page 27: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Where can we use Deep Learning?

27

Page 28: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Image tagging

28

Page 29: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

A quick demo!

29

Page 30: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

!!!!!!!!!

• Notice the cycle…you can only break out of this with intuition, time, and lots of frustration.!

• But, when you do, magic happens!

Create Model

Labelled data

Train Set

Test Set

80%

20%

Validate?

Probably  not  good  enough

Adjust  hyper-­‐parameters

Deep learning workflow

30

Page 31: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Simplifying Deep Learning with Deep Features and Transfer Learning

31

Page 32: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Transfer learning• Train a model on one task, use it for

another task!• Examples!

• Learn to walk, use that knowledge to run !• Train image tagger to recognize cars, use that

knowledge to recognize trucks.

32

Page 33: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Input

Learned  hierarchy

Lee  et  al.  ‘Convolutional  Deep  Belief  Networks  for  Scalable  Unsupervised  Learning  of  Hierarchical  Representations’  ICML  2009

Deep learning features

Output33

Page 34: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Lee  et  al.  ‘Convolutional  Deep  Belief  Networks  for  Scalable  Unsupervised  Learning  of  Hierarchical  Representations’  ICML  2009

Mid-­‐level  features  probably  useful  for  other  tasks  which    require  detection  of  facial    anatomy

Feature extractionInput

Learned  hierarchy

34

Page 35: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

http://deeplearning.stanford.edu/wiki/images/4/40/Network3322.png

Extract  activations  from  some  deep  layer  of  neural  network

Feature extraction

35

Page 36: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Create Simpler Model

Labelled data

Extract Features using Neural Net

trained on different task

Train Set

Test Set

80%

20%

Validate?

Probably  worksDeploy$$$

Transfer learning using deep features

36

Page 37: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Using ImageNet-trained network as extractor for general features• Using classic AlexNet architechture pioneered by

Alex Krizhevsky et. al in ImageNet Classification with Deep Convolutional Neural Networks !

• It turns out that a neural network trained on ~1 million images of about 1000 classes makes a surprisingly general feature extractor!

• First illustrated by Donahue et al in DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition

37

Page 38: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Demo

38

Page 39: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Caltech-101

39

Page 40: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Caltech-101

40

Extract  features  here

Page 41: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Deep Features and Logistic Regression

41

Page 42: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

What else can we do with Deep Features?

42

Page 43: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Finding similar images

43

Page 44: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Clustering images

Goldberger et al.

Set of Images

44

Page 45: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

How general are these Deep Features?

45

Page 46: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Deep Features are Generalizable

46

Page 47: New image analysis with deep learning - GTC On Demand · 2015. 3. 19. · GraphLab Create • A platform for building predictive applications, fast! • Data engineering on Big Data!

Thank you!• To learn more: http://www.dato.com/learn!!

• Play with the demos:!• Pathways: https://pathways-demo.herokuapp.com/!• Phototag: http://phototag.herokuapp.com/!

!• Contact: !

[email protected] !!

• We are hiring! [email protected]!!• Thank you to Nvidia for designing and providing the hardware to make this

possible!!

• Please complete the Presenter Evaluation. Your feedback is important!

47