image analysis with deep learning -...

Post on 21-May-2020

44 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Deep Learning Made Easy with GraphLab CreatePiotr Teterwak!Dato Team

1

Who I am

Piotr  Teterwak  Software  Engineer

2

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

The Dato Team

4

Making Deep Learning Easy

5

Deep Learning

6

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

Create

7

What is Deep Learning?

8

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

Machine Learning

“cat”

10

Deep Learning

“cat”

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

11

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

Deep Neural Networks

P(cat|x)

P(dog|x)

12

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

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

Convolutional Neural Nets• Strategic removal of edges

15

Input  Layer

Hidden  Layer

Convolutional Neural Nets• Strategic removal of edges

16

Input  Layer

Hidden  Layer

Convolutional Neural Nets• Strategic removal of edges

17

Input  Layer

Hidden  Layer

Convolutional Neural Nets• Strategic removal of edges

18

Input  Layer

Hidden  Layer

Convolutional Neural Nets• Strategic removal of edges

19

Input  Layer

Hidden  Layer

Convolutional Neural Nets• Strategic removal of edges

20

Input  Layer

Hidden  Layer

Convolutional Neural Nets

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

21

Pooling layer

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

22

Pooling layer

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

23

Overall architecture

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

24

Hierarchichal Representation

Y.  Bengio  (2009)

25

Hands  -­‐  Face  -­‐  Ground

Input

Learned  hierarchy

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

Deep learning features

Output26

Where can we use Deep Learning?

27

Image tagging

28

A quick demo!

29

!!!!!!!!!

• 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

Simplifying Deep Learning with Deep Features and Transfer Learning

31

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

Input

Learned  hierarchy

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

Deep learning features

Output33

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

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

Extract  activations  from  some  deep  layer  of  neural  network

Feature extraction

35

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

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

Demo

38

Caltech-101

39

Caltech-101

40

Extract  features  here

Deep Features and Logistic Regression

41

What else can we do with Deep Features?

42

Finding similar images

43

Clustering images

Goldberger et al.

Set of Images

44

How general are these Deep Features?

45

Deep Features are Generalizable

46

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: !

• piotr@dato.com !!

• We are hiring! jobs@dato.com!!• Thank you to Nvidia for designing and providing the hardware to make this

possible!!

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

47

top related