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

deep learning by doing
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Deep Learning by Doing

arconsis IT-Solutions GmbH

slide-2
SLIDE 2

Wolfgang Frank

@wolfgangfrank

Achim Baier

Who?

@arconsis

slide-3
SLIDE 3

Let’s talk about…

slide-4
SLIDE 4

Cucumber

slide-5
SLIDE 5

… we will get back to that later!

slide-6
SLIDE 6

Why learn about Machine Learning?

slide-7
SLIDE 7

Web Search News Search

slide-8
SLIDE 8

…maybe more important… Cool & Fun

slide-9
SLIDE 9

Inspirational Applications

  • f Deep Learning

Source: http://machinelearningmastery.com

slide-10
SLIDE 10

Yann LeCun's convolutional neural network 1993 10%-20% of all checks in US

Video posted on YouTube by Yann LeCun

slide-11
SLIDE 11

Automatic Machine Translation

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

slide-12
SLIDE 12

Google Translate 103 languages!

Thomas Samson/AFP/Getty Images

slide-13
SLIDE 13

Automatic Colorization of Black and White Images Very large convolutional neural networks and supervised layers recreate the image with the addition of color.

Colorization of Black and White Photographs Image taken from Richard Zhang, Phillip Isola and Alexei A. Efros.

slide-14
SLIDE 14

Object Classification and Detection 
 in Photographs

Example of Object Detection within Photogaphs Taken from the Google Blog.

slide-15
SLIDE 15

Automatic Image Caption Generation

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

Real-Time object detection

Source: http://pjreddie.com/darknet/yolo/

slide-18
SLIDE 18

Self driving vehicles

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

slide-19
SLIDE 19
slide-20
SLIDE 20

Source: deeplearning4j.org

Many more examples / applications …

slide-21
SLIDE 21

Artificial Intelligence — Human Intelligence Exhibited by Machines Machine Learning — An Approach to Achieve Artificial Intelligence Deep Learning — A Technique for Implementing Machine Learning

source: https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/

slide-22
SLIDE 22

“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

slide-23
SLIDE 23

Typical principles & algorithms…

slide-24
SLIDE 24

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

slide-25
SLIDE 25

Unsupervised Learning

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

slide-26
SLIDE 26

Reinforcement Learning

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

slide-27
SLIDE 27

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

Famous Algorithms

Machine Learning

slide-28
SLIDE 28

A top down approach…

slide-29
SLIDE 29

n*log(n)

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

Deep Learning for Industry 4.0 / IOT

Japanese cucumber farmer is using deep learning and TensorFlow

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

Typical workflow…

slide-38
SLIDE 38

Two phases

  • 1. Learning
  • 2. Inference
slide-39
SLIDE 39

learning paradigm

Training Data -> Feature Vector -> Learning Algorithm -> Model

slide-40
SLIDE 40

inference paradigm

“Test” Data -> Feature Vector -> Model -> Prediction

slide-41
SLIDE 41

Standing on 
 the shoulders

  • f giants!

source: Wikipedia - Shoulder of Giants

slide-42
SLIDE 42

Some known DL frameworks

slide-43
SLIDE 43

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
slide-44
SLIDE 44

Caffe

  • Python / C++
  • Simple interface
  • Specialized to deal with images
  • Primarily from Berkley Univeristy
slide-45
SLIDE 45

Torch

  • Lua
  • Strong support for optimization solvers
  • Used by Facebook
slide-46
SLIDE 46

DL4J - 
 Deeplearning 4 Java

  • Java / Scala
  • Spark support for parallelism
  • Good documentation (now)
  • Many good examples
  • Very active community
  • Works on mobile but slow
slide-47
SLIDE 47

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, …)

slide-48
SLIDE 48

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

slide-49
SLIDE 49

Transfer Learning

slide-50
SLIDE 50

CNN

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

slide-51
SLIDE 51

Example: FaceNet

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

slide-52
SLIDE 52

Inference on Mobile!

slide-53
SLIDE 53

server mobile device / desktop / big data

upload 
 training data Training API
 Client Input data,
 sensors, camera, …

Training data collection

saveTrainingData()

Unlabeled Training data Training API

slide-54
SLIDE 54

server

Labeled
 Training data

mobile device / desktop

get 
 unlabeled upload 
 labeled Training API
 Client

e.g. supervised training

saveLabeled
 TrainingData()

Training App Unlabeled Training data Training API

getUnlabeled
 TrainingData()

slide-55
SLIDE 55

server

Training data Tensorflow

  • 1. TF performs training on

server

Training on Server

slide-56
SLIDE 56

server

Training data Tensorflow Trained
 NN

saveNN()

  • 1. TF performs training on

server

  • 2. TF saves trained NN

Training on Server

slide-57
SLIDE 57

server

Training data Tensorflow Trained
 NN

  • 1. TF performs training on

server

  • 2. TF saves trained NN
  • 3. API provides download
  • f persisted trained NN

Training API

Training on Server

slide-58
SLIDE 58

server

Training data Trained
 NN

mobile device

Tensorflow Inference App Input data

fit()

Inference on Mobile Online

Training API

slide-59
SLIDE 59

server

Training data Trained
 NN

mobile device

Training API download 
 trained NN Tensorflow Trained
 NN

Inference on Mobile Offline

slide-60
SLIDE 60

server

Training data Trained
 NN

mobile device

Tensorflow Inference App Tensorflow Input data

fit()

Trained
 NN

Inference on Mobile Offline

Training API

slide-61
SLIDE 61

Tensorflow on iOS & Android

slide-62
SLIDE 62

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/

Getting started…

slide-63
SLIDE 63

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

Android iOS

slide-64
SLIDE 64

Demo iOS Camera Example

slide-65
SLIDE 65

https://github.com/paiv/mnist-bnns

Demo Convolutional Networks: from TensorFlow to iOS BNNS

https://paiv.github.io/blog/2016/09/25/tensorflow-to-bnns.html

slide-66
SLIDE 66

Neural Network as a Service

slide-67
SLIDE 67

Predicting car prices

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

slide-68
SLIDE 68
slide-69
SLIDE 69
slide-70
SLIDE 70
slide-71
SLIDE 71

Deep Learning on Raspberry Pi

slide-72
SLIDE 72

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

slide-73
SLIDE 73

Takeaways?

slide-74
SLIDE 74

Takeaways…

  • 1. Don’t be scared
  • 2. Leverage existing
  • 3. Be a part of the future now
slide-75
SLIDE 75
  • 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

Sources & more info

slide-76
SLIDE 76

Wolfgang Frank

@wolfgangfrank wolfgang.frank@arconsis.com

Achim Baier


@arconsis achim.baier@arconsis.com

Thank you!