deep learning by doing
play

Deep Learning by Doing arconsis IT-Solutions GmbH Who? Wolfgang - PowerPoint PPT Presentation

Deep Learning by Doing arconsis IT-Solutions GmbH Who? Wolfgang Frank Achim Baier @wolfgangfrank @arconsis Lets talk about Cucumber we will get back to that later! Why learn about Machine Learning? Web Search News Search


  1. Deep Learning by Doing arconsis IT-Solutions GmbH

  2. Who? Wolfgang Frank Achim Baier @wolfgangfrank @arconsis

  3. Let’s talk about…

  4. Cucumber

  5. … we will get back to that later!

  6. Why learn about Machine Learning?

  7. Web Search News Search

  8. …maybe more important… Cool & Fun

  9. Inspirational Applications of Deep Learning Source: http://machinelearningmastery.com

  10. Video posted on YouTube by Yann LeCun Yann LeCun's convolutional neural network 1993 10%-20% of all checks in US

  11. Instant Visual Translation Example of instant visual translation, taken from the Google Blog. Automatic Machine Translation

  12. Thomas Samson/AFP/Getty Images Google Translate 103 languages!

  13. Colorization of Black and White Photographs Image taken from Richard Zhang, Phillip Isola and Alexei A. Efros. Automatic Colorization of Black and White Images Very large convolutional neural networks and supervised layers recreate the image with the addition of color.

  14. Example of Object Detection within Photogaphs Taken from the Google Blog. Object Classification and Detection 
 in Photographs

  15. Automatic Image Caption Generation Sample taken from Andrej Karpathy, Li Fei-Fei Automatic Image Caption Generation

  16. Automatic Game Playing Deep reinforcement models learns how to play breakout based only on the pixels on the screen

  17. Real-Time object detection Source: http://pjreddie.com/darknet/yolo/

  18. Self driving vehicles Source: https://electrek.co/2016/12/21/tesla-autopilot-vision-neural-net-data-elon-musk/

  19. Many more examples / applications … Source: deeplearning4j.org

  20. source: https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/ Artificial Intelligence — Human Intelligence Exhibited by Machines Machine Learning — An Approach to Achieve Artificial Intelligence Deep Learning — A Technique for Implementing Machine Learning

  21. “Machine learning is about using examples to develop an expert system that can make useful statements about new inputs.” Machine Learning with TensorFlow MEAP, Manning

  22. Typical principles & algorithms…

  23. Supervised Learning Train a model with known / labeled data to make predictions for 
 new data (regression, classification) regression: continuous value output classification>; discrete value output

  24. Unsupervised Learning Find common structures in unknown / unlabeled data 
 (clustering, patterns, find coherent groups)

  25. Reinforcement Learning Getting an agent to act in the world so as to maximize its rewards 
 (Trial & Error —> construct knowledge —> Map situations to actions)

  26. Famous Algorithms Machine Learning Classic Algorithms Neural Networks Linear Regression Autoencoder Logistic Regression Q Policy NN Softmax Regression Perceptron K-means Convolutional NN Self-organizing map Recurrent NN Viberti Deep NN

  27. A top down approach…

  28. n*log(n) Arrays.sort(int[] a) —> tuned quicksort Arrays.sort(Object[] a) —> modified merge sort

  29. Derive the “ back propagation” equation from first principles and implement it from scratch?

  30. Instead, just call model.fit() on the deep learning API.

  31. Top engineering and academic capabilities do not have to come first, they can come later.

  32. Deep Learning for Industry 4.0 / IOT Japanese cucumber farmer is using deep learning and TensorFlow

  33. https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow

  34. Makoto used the sample TensorFlow code “Deep MNIST for Experts” with minor modifications to the convolution, pooling and last layers, changing the network design to adapt to the pixel format of cucumber images and the number of cucumber classes. https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow

  35. https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow

  36. Typical workflow…

  37. Two phases 1. Learning 2. Inference

  38. learning paradigm Training Data -> Feature Vector -> Learning Algorithm -> Model

  39. inference paradigm “Test” Data -> Feature Vector -> Model -> Prediction

  40. source: Wikipedia - Shoulder of Giants Standing on 
 the shoulders of giants!

  41. Some known DL frameworks

  42. Theano • Python • Easy to learn • Many examples and well known NN available • Difficult for low-level customizations • Hard to debug • Primary developed by Univerity Montreal

  43. Caffe • Python / C++ • Simple interface • Specialized to deal with images • Primarily from Berkley Univeristy

  44. Torch • Lua • Strong support for optimization solvers • Used by Facebook

  45. DL4J - 
 Deeplearning 4 Java • Java / Scala • Spark support for parallelism • Good documentation (now) • Many good examples • Very active community • Works on mobile but slow

  46. Tensorflow • C++ / Python • Growing number of language wrappers, i.e. Java • Works on large-scale GPU as well as Mobile • Very good documentation and example • TensorBoard for visualization • Very fast • Proven to work very well (Google Speech Recognition, Photos, Gmail, …)

  47. Use & 
 re-use existing Models and Networks and Training Data

  48. Transfer Learning

  49. CNN source: https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/

  50. 
 Example: FaceNet —> Google’s Inception-ResNet-v1 model —> Training set 453.450 images over 
 10.575 identities after face detection

  51. Inference on Mobile!

  52. Training data collection mobile device / desktop / big data server Unlabeled Input data, 
 Training sensors, camera, … data saveTrainingData() upload 
 training data Training API 
 Training API Client

  53. e.g. supervised training mobile device / desktop server Unlabeled Labeled 
 Training Training App Training data data getUnlabeled 
 TrainingData() get 
 saveLabeled 
 unlabeled TrainingData() Training API 
 Training API Client upload 
 labeled

  54. Training on Server server 1. TF performs training on server Training Tensorflow data

  55. Training on Server server 1. TF performs training on server Training Tensorflow data 2. TF saves trained NN saveNN() Trained 
 NN

  56. Training on Server server 1. TF performs training on server Training Tensorflow data 2. TF saves trained NN 3. API provides download of persisted trained NN Trained 
 Training API NN

  57. Inference on Mobile Online mobile device server Input Inference Training Tensorflow data App data fit() Trained 
 Training API NN

  58. Inference on Mobile Offline mobile device server Training Tensorflow data download 
 trained NN Trained 
 Trained 
 Training API NN NN

  59. Inference on Mobile Offline mobile device server Input Inference Training Tensorflow data App data fit() Trained 
 Trained 
 Tensorflow Training API NN NN

  60. Tensorflow on iOS & Android

  61. Getting started… Start CPU only container $ docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow Go to your browser on http://localhost:8888/ Start GPU (CUDA) container Install nvidia-docker and run $ nvidia-docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow:latest-gpu Go to your browser on http://localhost:8888/

  62. Android https://github.com/tensorflow/tensorflow/tree/master/ tensorflow/contrib/android iOS https://github.com/tensorflow/tensorflow/tree/master/ tensorflow/contrib/ios_examples

  63. Demo iOS Camera Example

  64. Demo Convolutional Networks: from TensorFlow to iOS BNNS https://paiv.github.io/blog/2016/09/25/tensorflow-to-bnns.html https://github.com/paiv/mnist-bnns

  65. Neural Network as a Service

  66. Predicting car prices Source: http://www.datasciencecentral.com/profiles/blogs/predicting-car-prices-part-2-using-neural-network

  67. Deep Learning on Raspberry Pi

  68. How to build a robot that “sees” with $100 and TensorFlow https://www.oreilly.com/learning/how-to-build-a-robot-that-sees-with-100-and-tensorflow

  69. Takeaways?

  70. Takeaways… 1. Don’t be scared 2. Leverage existing 3. Be a part of the future now

  71. Sources & more info • http://machinelearningmastery.com/deep-learning-for-developers/ • http://www.networkworld.com/article/3025698/microsoft-subnet/ skype-real-time-language-translator-download-windows-ios- android.html • www.datasciencecentral.com/profiles/blogs/predicting-car-prices- part-2-using-neural-network • https://electrek.co/2016/12/21/tesla-autopilot-vision-neural-net-data- elon-musk/ • http://deeplearning4j.org • http://tensorflow.org • https://www.manning.com/books/machine-learning-with-tensorflow

  72. Thank you! Achim Baier 
 Wolfgang Frank @arconsis @wolfgangfrank achim.baier@arconsis.com wolfgang.frank@arconsis.com

Recommend


More recommend