Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
(Kpi summer school 2015) theano tutorial part2
Next
Download to read offline and view in fullscreen.

Share

Introduction to Deep Learning for Image Analysis at Strata NYC, Sep 2015

Download to read offline

Overview of Deep Learning for Image Analysis, including Convolutional Neural Nets and Deep Features.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Introduction to Deep Learning for Image Analysis at Strata NYC, Sep 2015

  1. 1. Introduction to Deep Learning for Image Analysis Piotr Teterwak Dato, Data Scientist
  2. 2. 2 Hello, my name is… Piotr Teterwak Data Scientist, Dato
  3. 3. Today’s tutorial Deep Learning Overview Training a model on CIFAR Building a Similar Dress Recommender
  4. 4. Deep Learning
  5. 5. Today’s talk
  6. 6. Deep Learning: Very non-linear models
  7. 7. 7 Linear classifiers • Most common classifier - Logistic regression - SVMs - … • Decision correspond to hyperplane: - Line in high dimensional space w0 + w1 x1 + w2 x2 > 0 w0 + w1 x1 + w2 x2 < 0
  8. 8. 8 What can a simple linear classifier represent? AND 0 0 1 1
  9. 9. 9 What can a simple linear classifier represent? OR 0 0 1 1
  10. 10. 10 What can’t a simple linear classifier represent? XOR 0 0 1 1 Need non-linear features
  11. 11. 11 Non-linear feature embedding 0 0 1 1
  12. 12. 12 Graph representation of classifier: Useful for defining neural networks x 1 x 2 x d y … 1 w2 w0 + w1 x1 + w2 x2 + … + wd xd > 0, output 1 < 0, output 0 Input Output
  13. 13. 13 What can a linear classifier represent? x1 OR x2 x1 AND x2 x 1 x 2 1 y -0.5 1 1 x 1 x 2 1 y -1.5 1 1
  14. 14. Solving the XOR problem: Adding a layer XOR = x1 AND NOT x2 OR NOT x1 AND x2 z 1 -0.5 1 -1 z1 z2 z 2 -0.5 -1 1 x 1 x 2 1 y 1 -0.5 1 1 Thresholded to 0 or 1
  15. 15. 15 http://deeplearning.stanford.edu/wiki/images/4/40/Network3322.png Deep Neural Networks P(cat|x) P(dog|x)
  16. 16. 16 http://deeplearning.stanford.edu/wiki/images/4/40/Network3322.png Deep Neural Networks P(cat|x) P(dog|x)
  17. 17. 17 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.
  18. 18. 18 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.
  19. 19. 20 Convolutional Neural Nets Input Layer Hidden Layer
  20. 20. 23 Convolutional Neural Nets • Strategic removal of edges Input Layer Hidden Layer
  21. 21. 24 Convolutional Neural Nets • Strategic removal of edges Input Layer Hidden Layer
  22. 22. 25 Convolutional Neural Nets • Strategic removal of edges Input Layer Hidden Layer
  23. 23. 26 Convolutional Neural Nets http://ufldl.stanford.edu/wiki/images/6/6c/Convolution_schematic.gif
  24. 24. 27 Pooling layer Ranzato, LSVR tutorial @ CVPR, 2014. www.cs.toronto.edu/~ranzato 4 2 3 4
  25. 25. 28 Pooling layer http://ufldl.stanford.edu/wiki/images/6/6c/Pooling_schematic.gif
  26. 26. 29 Final Network Krizhevsky et al. ‘12
  27. 27. Applications to computer vision
  28. 28. 31 Image features • Features = local detectors - Combined to make prediction - (in reality, features are more low-level) Face! Eye Eye Nose Mouth
  29. 29. 32 Standard image classification approach Input Computer$vision$features$ SIFT$ Spin$image$ HoG$ RIFT$ Textons$ GLOH$ Slide$Credit:$Honglak$Lee$ Extract features Use simple classifier e.g., logistic regression, SVMs Face
  30. 30. 33 Many hand crafted features exist… Computer$vision$features$ SIFT$ Spin$image$ HoG$ RIFT$ Textons$ GLOH$ Slide$Credit:$Honglak$Lee$ … but very painful to design
  31. 31. 34 Change image classification approach? Input Computer$vision$features$ SIFT$ Spin$image$ HoG$ RIFT$ Textons$ GLOH$ Slide$Credit:$Honglak$Lee$ Extract features Use simple classifier e.g., logistic regression, SVMs FaceCan we learn features from data?
  32. 32. 35 Use neural network to learn features Input Learned hierarchy Output Lee et al. ‘Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations’ ICML 2009
  33. 33. Sample results • Traffic sign recognition (GTSRB) - 99.2% accuracy • House number recognition (Google) - 94.3% accuracy 36
  34. 34. Krizhevsky et al. ’12: 60M parameters, won 2012 ImageNet competition 37
  35. 35. 38 ImageNet 2012 competition: 1.2M images, 1000 categories 38
  36. 36. 39 Application to scene parsing ©Carlos Guestrin 2005-2014 Y LeCun MA Ranzato Semantic Labeling: Labeling every pixel with the object it belongs to [ Farabet et al. ICML 2012, PAMI 2013] Would help identify obstacles, targets, landing sites, dangerous areas Would help line up depth map with edge maps
  37. 37. Let’s build our own Image Classifier!
  38. 38. Challenges of deep learning
  39. 39. Deep learning score card Pros • Enables learning of features rather than hand tuning • Impressive performance gains on - Computer vision - Speech recognition - Some text analysis • Potential for much more impact Cons
  40. 40. Deep learning workflow Lots of labeled data Training set Validation set 80% 20% Learn deep neural net model Validate
  41. 41. Deep learning score card Pros • Enables learning of features rather than hand tuning • Impressive performance gains on - Computer vision - Speech recognition - Some text analysis • Potential for much more impact Cons • Computationally really expensive • Requires a lot of data for high accuracy • Extremely hard to tune - Choice of architecture - Parameter types - Hyperparameters - Learning algorithm - … • Computational + so many choices = incredibly hard to tune
  42. 42. 45 Can we do better? Input Learned hierarchy Output Lee et al. ‘Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations’ ICML 2009
  43. 43. Deep features: Deep learning + Transfer learning
  44. 44. 47 Transfer learning: Use data from one domain to help learn on another Lots of data: Learn neural net Great accuracy Some data: Neural net as feature extractor + Simple classifier Great accuracy on new problem Old idea, explored for deep learning by Donahue et al. ’14
  45. 45. 48 What’s learned in a neural net Neural net trained for Task 1 Very specific to Task 1More generic Can be used as feature extractor vs.
  46. 46. 49 Transfer learning in more detail… Neural net trained for Task 1 Very specific to Task 1More generic Can be used as feature extractor Keep weights fixed! For Task 2, learn only end part Use simple classifier e.g., logistic regression, SVMs Class?
  47. 47. 50 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 50
  48. 48. Transfer learning with deep features Training set Validation set 80% 20% Learn simple model Some labeled data Extract features with neural net trained on different task Validate Deploy in production
  49. 49. In real life
  50. 50. What else can we do with Deep Features? 53
  51. 51. Finding similar images 54
  52. 52. Vectorizing images entails embedding images as vectors Vectors may encode raw pixels or more complex transformations of the pixels Similarity is derived from a distance function, usually geometric distance Image Similarity a1 a2 . . . ak b1 b2 . . . bk similarity(A,B)raw images vectorize
  53. 53. 56 Finding similar images A B C A B C
  54. 54. Finding Similar Dresses!
  55. 55. Summary
  56. 56. Deep learning made easy with deep features Deep learning: exciting ML development Slow, lots of tuning, needs lots of data Can still achieve excellent performance Deep features: reuse deep models for new domains Needs less data Faster training times Much simpler tuning
  57. 57. 60 Thanks! Download pip install graphlab-create Docs https://dato.com/learn/ Source https://github.com/dato-code/tutorials/tree/master/strata-nyc-2015
  58. 58. Thank you!
  • etraiger

    Aug. 20, 2018
  • LIYINHAO1

    Aug. 11, 2016
  • joenerd1

    Apr. 16, 2016
  • j4rami

    Apr. 16, 2016
  • jangcloud

    Apr. 15, 2016
  • ChoongShikPark

    Apr. 15, 2016
  • hypermin

    Apr. 15, 2016
  • ssuserabf781

    Apr. 15, 2016
  • serg33v

    Apr. 15, 2016
  • mShafiee1

    Mar. 13, 2016
  • shaungitt

    Jan. 21, 2016
  • brendonunland

    Jan. 12, 2016
  • daewoochoi

    Sep. 30, 2015
  • sunshine16781

    Sep. 30, 2015

Overview of Deep Learning for Image Analysis, including Convolutional Neural Nets and Deep Features.

Views

Total views

2,747

On Slideshare

0

From embeds

0

Number of embeds

14

Actions

Downloads

274

Shares

0

Comments

0

Likes

14

×