50
@YourTwitterHandle #Devoxx #YourTag @samklr #devoxx #deepLearning Shallow Dive into Deep Learning Sam Bessalah - @samklr

Deep learning for mere mortals - Devoxx Belgium 2015

Embed Size (px)

Citation preview

Page 1: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Shallow Dive into Deep Learning

Sam Bessalah - @samklr

Page 2: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

“ This talk is filled with buzzwords and terms, that might make you sound too nerdy or pedantic at dinner. ”

Use with caution.

Page 3: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 4: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 5: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

In the news, lately ...

Page 6: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 7: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 8: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 9: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 10: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 11: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Skype Translator Demo https://www.youtube.com/watch?v=eu9kMIeS0wQ

Page 12: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Google DeepMind's Deep Q-learning playing Atari

https://www.youtube.com/watch?v=V1eYniJ0Rnk

Page 13: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Deep Learning?

Page 14: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Multiple Definitions :

- A set of algorithms that try to model high-level abstractions in data by using architectures composed of multiple non linear transformations.

- A set of machine learning algorithms that automatically learn features hierarchies.

- Usually built using Neural Networks.

- Representation Learning: Automatically learning good representations of the data for your classifier, i.e learn good features

- Deep Learning : Learning multiple levels of representation with

complex layers architectures.

Page 15: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Typical Machine Learning Workflow

Page 16: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Typical Machine Learning Workflow

Page 17: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

A Neural Networks Primer

Page 18: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Loose imitation of the brain neurons

Page 19: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Loose imitation of the brain neurons

Page 20: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#Devoxx #deepLearning

@nivdul

Perceptron

Page 21: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#Devoxx #deepLearning

@nivdul

Perceptron

Output Error computed with E, and Network error

minimized with a stochastic gradient descent.

Page 22: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#Devoxx #deepLearning

Stochastic gradient descent and Backpropagation

- The optimal value for each weight where at error achieves a global minimum.

- Backpropagation : Compute error in the output, then propagate it back through the network, to update the weights during the training phase.

Page 23: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#Devoxx #deepLearning

Page 24: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#Devoxx #deepLearning

@nivdulMulti-layer Perceptron

Page 25: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Problem with Large Networks

- Vanishing Gradient : More layers kills the back propagation. As information is passed back; gradient value startts to vanish and become smaller compared to weights.

- Overfitting : Algorithm fits too closely the training data, but will fail miserably on real examples

Page 26: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 27: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Problem with Large Networks

- Vanishing Gradient : More layers kills the back propagation. As information is passed back; gradient value startts to vanish and become smaller compared to weights.

- Overfitting : Algorithm fits too closely the training data, but will fail miserably on real examples

This led to another AI

winter

Page 28: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 29: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Why does work suddenly ?

- A lot more labeled data- More compute power CPU and GPU- Clever new idea on how to train deep

architectures

Page 30: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Convolution Neural Networks

Page 31: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Convolution Neural Networks

Page 32: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Convolution Neural Networks

Page 33: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 34: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 35: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 36: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Recurrent Neural Networks (RNN)

- Learn from arbitrary sequential inputs, by using their internal states

- Cannot look far back (back propagation limited)- Long Short Term Memory Networks help solving this- Good for NLP, hand writing, etc

Page 37: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Recurrent Neural Networks (RNN)

Page 38: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Deep Visual-Semantic Alignments for Generating Image Descriptions CNN + RNN

Page 39: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Other Techniques

- Auto Encoders

- Restricted Boltzmann Machine (RBM)

- Deep Belief

- Hierarchical temporal memory (HTM)

- LSTM

- More and more ...

Page 40: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 41: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Frameworks and Libraries

Page 42: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 43: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 44: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 45: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

H20.ai Deep Learning

Page 46: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

DeepLearning4j

Page 47: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Page 48: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#devoxx #deepLearning

Getting Started

- Coursera course on Neural Networks from G. Hinton

- Deeplearning4j.org

- Deeplearning.net

Page 49: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#Devoxx #deepLearning

Deep Dream

Page 50: Deep learning for mere mortals - Devoxx Belgium 2015

@YourTwitterHandle#Devoxx #YourTag @samklr#Devoxx #deepLearning

CONCLUSION