Machine Learning & Deep
Learning: A Primer
Poo Kuan Hoong
21st September 2016
Disclaimer: The views and opinions expressed in this slides are those of
the author and do not necessarily reflect the official policy or position
of Multimedia University. Examples of analysis performed within this
slides are only examples. They should not be utilized in real-world
analytic products as they are based only on very limited and dated
open source information. Assumptions made within the analysis are
not reflective of the position of Multimedia University.
Data Science Institute (Multimedia University)
• The Data Science Institute is a research
center based in the Faculty of Computing
& Informatics, Multimedia University.
• The members comprise of expertise
across faculties such as Faculty of
Computing and Informatics, Faculty of
Engineering, Faculty of Management &
Faculty of Information Science and
Technology.
• Conduct research in leading data science
areas including stream mining, video
analytics, machine learning, deep
learning, next generation data
visualization and advanced data
modelling.
Google DeepMind playing Atari Breakout
https://www.youtube.com/watch?v=V1eYniJ0Rnk
Recent breakthrough in Deep Learning…
DeepSee: Automated theft detection with
deep learning
https://www.youtube.com/watch?v=WAC5iutVsZM
Acknowledgement
Andrew Ng: Deep Learning, Self-Taught
Learning and Unsupervised Feature
Learning [Youtube]
Yann LeCun: Deep Learning
Tutorial, ICML, Atlanta, 2013 [PDF]
Geoff Hinton, Yoshua Bengio & Yann LeCun: Deep
Learning: NIPS2015 Tutorial [PDF]
Yoshua Bengio: Theano: A Python
framework for fast computation of
mathematical expressions. [URL]
Outline
• A brief history of machine learning
• Understanding the human brain
• Neural Network: Concept, implementation and challenges
• Deep Belief Network (DBN): Concept and Application
• Convolutional Neural Network (CNN): Concept and Application
• Recurrent Neural Network (RNN): Concept and Application
• Deep Learning: Strengths, weaknesses and applications
• Deep Learning: Platforms, frameworks and libraries
• Demo
Introduction
• In the past 10 years, machine learning and
Artificial Intelligence (AI) have shown
tremendous progress
• The recent success can be attributed to:
• Explosion of data
• Cheap computing cost – CPUs and GPUs
• Improvement of machine learning models
• Much of the current excitement concerns a
subfield of it called “deep learning”.
A brief history of Machine learning
• Most of the machine learning methods are based on supervised
learning
Input
Feature
Representation
Learning Algorithm
A brief history of Machine learning
32 45 21 ..
12 10 45 ..
17 33 36 ..
… … …
12 56 18 ..
92 76 22 ..
33 63 71 ..
… … …
Features Training
Eg. Features of a cat
Cat?
Trainable Feature Hierarchy
Traditional machine perception
• Hand crafted feature extractors
How can we do better?
Human Brain
Auditory Cortex
Auditory cortex learns to see.
(Same rewiring process also
works for touch/ somatosensory
cortex.)
Seeing with tongue
Human Brain
Biological Neuron Artificial Neuron
Neuron/Unit
Weight
Neural Network
• Deep Learning is primarily about neural networks, where a network is
an interconnected web of nodes and edges.
• Neural nets were designed to perform complex tasks, such as the task
of placing objects into categories based on a few attributes.
• Neural nets are highly structured networks, and have three kinds of
layers - an input, an output, and so called hidden layers, which refer
to any layers between the input and the output layers.
• Each node (also called a neuron) in the hidden and output layers has
a classifier.
Neural Network
Neural Network: Forward Propagation
• The input neurons first receive the
data features of the object. After
processing the data, they send their
output to the first hidden layer.
• The hidden layer processes this output
and sends the results to the next
hidden layer.
• This continues until the data reaches
the final output layer, where the
output value determines the object's
classification.
• This entire process is known as
Forward Propagation, or Forward prop.
Neural Network: Backward Propagation
• To train a neural network over a large set of labelled data, you must
continuously compute the difference between the network’s
predicted output and the actual output.
• This difference is called the cost, and the process for training a net is
known as backpropagation, or backprop
• During backprop, weights and biases are tweaked slightly until the
lowest possible cost is achieved.
• An important aspect of this process is the gradient, which is a
measure of how much the cost changes with respect to a change in a
weight or bias value.
The 1990s view of what was wrong with back-
propagation
• Required a lot of labeled training data for supervised
learning
• Almost all data is unlabeled
Labeled Training
Data
• Learning time did not scale well
• Very slow with multiple hidden layersSlow processing
• No proper machine learning models
Machine
Learning models
Deep Belief Network (DBN)
• The Deep Belief Network, or DBN,
was also conceived by Geoff Hinton.
• Used by Google for their work on the
image recognition problem.
• DBN is trained two layers at a time,
and these two layers are treated like
an RBM.
• Throughout the net, the hidden layer
of an RBM acts as the input layer of
the adjacent one. So the first RBM is
trained, and its outputs are then
used as inputs to the next RBM. This
procedure is repeated until the
output layer is reached.
Deep Belief Network (DBN)
• DBN is capable of recognizing the inherent patterns in the data.
• Each layer ends up learning the full input structure
• Layers generally learn progressively complex patterns – for facial
recognition, early layers could detect edges and later layers
would combine them to form facial features.
Multilayer
features
extractor
• Labeled data will be used with supervised learning to fine tune
the result
• However, small set of labeled examples is required
Requires set
of labels
data
Deep Neural Network (Deep Net)
Convolutional Neural Network (CNN)
• CNN inspired by the Visual Cortex.
• CNNs are deep nets that are used for image, object, and even speech
recognition.
• Pioneered by Yann Lecun (NYU)
• Deep supervised neural networks are generally too difficult to train.
• CNNs have multiple types of layers, the first of which is the
convolutional layer.
Convolutional Neural Network (CNN)
• A series of filters forms layer one, called the convolutional layer. The weights and
biases in this layer determine the effectiveness of the filtering process.
• Each flashlight represents a single neuron. Typically, neurons in a layer activate or
fire. On the other hand, in the convolutional layer, neurons search for patterns
through convolution. Neurons from different filters search for different patterns,
and thus they will process the input differently.
Filter 2/ Neural 2
W1=10
W3=4
W2=5
Convolutional Neural Network (CNN)
Convolutional Neural Network (CNN)
Eight ILSVRC-2010 test images and the five
labels considered most probable by CNN
model.
https://papers.nips.cc/paper/4824-imagenet-
classification-with-deep-convolutional-neural-
networks.pdf
CNN: Application
• Classify a scene in an image
• Image Classifier Demo (NYU): http://horatio.cs.nyu.edu/
• Describe or understanding an image
• Toronto Deep Learning Demo: http://deeplearning.cs.toronto.edu/i2t
• MIT Scene Recognition Demo: http://places.csail.mit.edu/demo.html
• Handwriting recognition
• Handwritten digits recognition:
http://cs.stanford.edu/people/karpathy/convnetjs/demo/mnist.html
• Video classification
• Large-scale Video Classification with Convolutional Neural Networks
http://cs.stanford.edu/people/karpathy/deepvideo/
Recurrent Neural Network (RNN)
• The Recurrent Neural Net (RNN) is
the brainchild of Juergen
Schmidhuber and Sepp Hochreiter.
• RNNs have a feedback loop where
the net’s output is fed back into
the net along with the next input.
• RNNs receive an input and produce
an output. Unlike other nets, the
inputs and outputs can come in a
sequence.
• Variant of RNN is Long Term Short
Memory (LSTM)
RNN: Application
• RNN is suitable for time series data, where an output can be the next
value in a sequence, or the next several values
Image captioning Document Classification Classify Image frame by
frame
RNN: Application
RNN: Application
Baidu Eye
https://www.youtube.com/watch?v=Xe5RcJ1JY3c
Deep Learning: Benefits
Robust
• No need to
design the
features
ahead of time
Generalizable
• The same
neural net
approach can
be used for
many
different
applications
and data
types
Scalable
• Performance
improves with
more data,
method is
massively
parallelizable
Deep Learning: Weaknesses
Requires large
dataset
• Large dataset
hence long
training period
• Sometimes it is
easier to use
existing Machine
Learning methods
like SVM or
Decision Trees
Tend to learn
everything
• Prior knowledge is
required for better
accuracy
Good understanding
of DL models
• Compared to
traditional
methods, often
the learned
features are
difficult to
understand
Deep Learning: Application in our daily lives
Facebook’s DeepFace Recognition has accuracy of 97.25%
http://www.forbes.com/sites/amitchowdhry/2014/03/18/facebooks-deepface-software-can-match-faces-with-
97-25-accuracy/#5408054127e5
Photos search
Google Photos Search for Photos from your
iPhone
Voice Recognition
Deep Learning: Applications
Advanced Deep Learning Application
https://deepmind.com/alpha-go http://places.csail.mit.edu/demo.html
Robotic grasping
Pedestrian detection using DL
WaveNet: A Generative Model for Raw Audio
Platform
• H20 – deep learning
framework that comes
with R and Python
interfaces
[http://www.h2o.ai/vertic
als/algos/deep-learning/]
Deep Learning: Platform & Frameworks &
Libraries
Deep Learning: Platform & Frameworks &
Libraries
Framework
• Caffe - deep learning
framework made with
expression, speed, and
modularity in mind.
Developed by the
Berkeley Vision and
Learning Center (BVLC)
[http://caffe.berkeleyvi
sion.org/]
Deep Learning: Platform & Frameworks &
Libraries
Framework
• Torch - scientific computing
framework with wide support
for machine learning
algorithms that puts GPUs
first. Based on Lua
programming language
[http://torch.ch/]
Deep Learning: Platform & Frameworks &
Libraries
Library
• Tensorflow - open source
software library for
numerical computation
using data flow graphs from
Google
[https://www.tensorflow.or
g/]
Deep Learning: Platform & Frameworks &
Libraries
Library
• Theano - a python library
developed by Yoshua
Bengio’s team
[http://deeplearning.net
/software/theano/]
Deep Learning: Platform & Frameworks &
Libraries
Library
• Microsoft/CNTK:
Computational Network Toolkit
https://github.com/Microsoft/
CNTK
Deep Learning: Platform & Frameworks &
Libraries
Library
• Baidu’s PaddlePaddle:
Deep Learning AI Platform
https://github.com/baidu/
Paddle
Learned Models
• Trained Models can be shared with others
• Save the training time
• For example: AlexNet (2012: 5 conv layers & 3 conn layers),
GoogLeNet (2014: 22 layers deep network), ParseNet (2015) , etc
• URLs:
• https://github.com/BVLC/caffe/wiki/Model-Zoo
• http://deeplearning4j.org/model-zoo
The future…
The future…
Thanks!
Questions?
@kuanhoong
https://www.linkedin.com/in/kuanhoong
kuanhoong@gmail.com

MDEC Data Matters Series: machine learning and Deep Learning, A Primer

  • 1.
    Machine Learning &Deep Learning: A Primer Poo Kuan Hoong 21st September 2016
  • 2.
    Disclaimer: The viewsand opinions expressed in this slides are those of the author and do not necessarily reflect the official policy or position of Multimedia University. Examples of analysis performed within this slides are only examples. They should not be utilized in real-world analytic products as they are based only on very limited and dated open source information. Assumptions made within the analysis are not reflective of the position of Multimedia University.
  • 3.
    Data Science Institute(Multimedia University) • The Data Science Institute is a research center based in the Faculty of Computing & Informatics, Multimedia University. • The members comprise of expertise across faculties such as Faculty of Computing and Informatics, Faculty of Engineering, Faculty of Management & Faculty of Information Science and Technology. • Conduct research in leading data science areas including stream mining, video analytics, machine learning, deep learning, next generation data visualization and advanced data modelling.
  • 4.
    Google DeepMind playingAtari Breakout https://www.youtube.com/watch?v=V1eYniJ0Rnk
  • 5.
    Recent breakthrough inDeep Learning…
  • 6.
    DeepSee: Automated theftdetection with deep learning https://www.youtube.com/watch?v=WAC5iutVsZM
  • 7.
    Acknowledgement Andrew Ng: DeepLearning, Self-Taught Learning and Unsupervised Feature Learning [Youtube] Yann LeCun: Deep Learning Tutorial, ICML, Atlanta, 2013 [PDF] Geoff Hinton, Yoshua Bengio & Yann LeCun: Deep Learning: NIPS2015 Tutorial [PDF] Yoshua Bengio: Theano: A Python framework for fast computation of mathematical expressions. [URL]
  • 8.
    Outline • A briefhistory of machine learning • Understanding the human brain • Neural Network: Concept, implementation and challenges • Deep Belief Network (DBN): Concept and Application • Convolutional Neural Network (CNN): Concept and Application • Recurrent Neural Network (RNN): Concept and Application • Deep Learning: Strengths, weaknesses and applications • Deep Learning: Platforms, frameworks and libraries • Demo
  • 9.
    Introduction • In thepast 10 years, machine learning and Artificial Intelligence (AI) have shown tremendous progress • The recent success can be attributed to: • Explosion of data • Cheap computing cost – CPUs and GPUs • Improvement of machine learning models • Much of the current excitement concerns a subfield of it called “deep learning”.
  • 10.
    A brief historyof Machine learning • Most of the machine learning methods are based on supervised learning Input Feature Representation Learning Algorithm
  • 11.
    A brief historyof Machine learning 32 45 21 .. 12 10 45 .. 17 33 36 .. … … … 12 56 18 .. 92 76 22 .. 33 63 71 .. … … …
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    Traditional machine perception •Hand crafted feature extractors
  • 17.
    How can wedo better?
  • 18.
    Human Brain Auditory Cortex Auditorycortex learns to see. (Same rewiring process also works for touch/ somatosensory cortex.) Seeing with tongue
  • 19.
    Human Brain Biological NeuronArtificial Neuron Neuron/Unit Weight
  • 20.
    Neural Network • DeepLearning is primarily about neural networks, where a network is an interconnected web of nodes and edges. • Neural nets were designed to perform complex tasks, such as the task of placing objects into categories based on a few attributes. • Neural nets are highly structured networks, and have three kinds of layers - an input, an output, and so called hidden layers, which refer to any layers between the input and the output layers. • Each node (also called a neuron) in the hidden and output layers has a classifier.
  • 21.
  • 22.
    Neural Network: ForwardPropagation • The input neurons first receive the data features of the object. After processing the data, they send their output to the first hidden layer. • The hidden layer processes this output and sends the results to the next hidden layer. • This continues until the data reaches the final output layer, where the output value determines the object's classification. • This entire process is known as Forward Propagation, or Forward prop.
  • 23.
    Neural Network: BackwardPropagation • To train a neural network over a large set of labelled data, you must continuously compute the difference between the network’s predicted output and the actual output. • This difference is called the cost, and the process for training a net is known as backpropagation, or backprop • During backprop, weights and biases are tweaked slightly until the lowest possible cost is achieved. • An important aspect of this process is the gradient, which is a measure of how much the cost changes with respect to a change in a weight or bias value.
  • 24.
    The 1990s viewof what was wrong with back- propagation • Required a lot of labeled training data for supervised learning • Almost all data is unlabeled Labeled Training Data • Learning time did not scale well • Very slow with multiple hidden layersSlow processing • No proper machine learning models Machine Learning models
  • 25.
    Deep Belief Network(DBN) • The Deep Belief Network, or DBN, was also conceived by Geoff Hinton. • Used by Google for their work on the image recognition problem. • DBN is trained two layers at a time, and these two layers are treated like an RBM. • Throughout the net, the hidden layer of an RBM acts as the input layer of the adjacent one. So the first RBM is trained, and its outputs are then used as inputs to the next RBM. This procedure is repeated until the output layer is reached.
  • 26.
    Deep Belief Network(DBN) • DBN is capable of recognizing the inherent patterns in the data. • Each layer ends up learning the full input structure • Layers generally learn progressively complex patterns – for facial recognition, early layers could detect edges and later layers would combine them to form facial features. Multilayer features extractor • Labeled data will be used with supervised learning to fine tune the result • However, small set of labeled examples is required Requires set of labels data
  • 27.
  • 28.
    Convolutional Neural Network(CNN) • CNN inspired by the Visual Cortex. • CNNs are deep nets that are used for image, object, and even speech recognition. • Pioneered by Yann Lecun (NYU) • Deep supervised neural networks are generally too difficult to train. • CNNs have multiple types of layers, the first of which is the convolutional layer.
  • 29.
    Convolutional Neural Network(CNN) • A series of filters forms layer one, called the convolutional layer. The weights and biases in this layer determine the effectiveness of the filtering process. • Each flashlight represents a single neuron. Typically, neurons in a layer activate or fire. On the other hand, in the convolutional layer, neurons search for patterns through convolution. Neurons from different filters search for different patterns, and thus they will process the input differently. Filter 2/ Neural 2 W1=10 W3=4 W2=5
  • 30.
  • 31.
    Convolutional Neural Network(CNN) Eight ILSVRC-2010 test images and the five labels considered most probable by CNN model. https://papers.nips.cc/paper/4824-imagenet- classification-with-deep-convolutional-neural- networks.pdf
  • 32.
    CNN: Application • Classifya scene in an image • Image Classifier Demo (NYU): http://horatio.cs.nyu.edu/ • Describe or understanding an image • Toronto Deep Learning Demo: http://deeplearning.cs.toronto.edu/i2t • MIT Scene Recognition Demo: http://places.csail.mit.edu/demo.html • Handwriting recognition • Handwritten digits recognition: http://cs.stanford.edu/people/karpathy/convnetjs/demo/mnist.html • Video classification • Large-scale Video Classification with Convolutional Neural Networks http://cs.stanford.edu/people/karpathy/deepvideo/
  • 33.
    Recurrent Neural Network(RNN) • The Recurrent Neural Net (RNN) is the brainchild of Juergen Schmidhuber and Sepp Hochreiter. • RNNs have a feedback loop where the net’s output is fed back into the net along with the next input. • RNNs receive an input and produce an output. Unlike other nets, the inputs and outputs can come in a sequence. • Variant of RNN is Long Term Short Memory (LSTM)
  • 34.
    RNN: Application • RNNis suitable for time series data, where an output can be the next value in a sequence, or the next several values Image captioning Document Classification Classify Image frame by frame
  • 35.
  • 36.
  • 37.
  • 38.
    Deep Learning: Benefits Robust •No need to design the features ahead of time Generalizable • The same neural net approach can be used for many different applications and data types Scalable • Performance improves with more data, method is massively parallelizable
  • 39.
    Deep Learning: Weaknesses Requireslarge dataset • Large dataset hence long training period • Sometimes it is easier to use existing Machine Learning methods like SVM or Decision Trees Tend to learn everything • Prior knowledge is required for better accuracy Good understanding of DL models • Compared to traditional methods, often the learned features are difficult to understand
  • 40.
    Deep Learning: Applicationin our daily lives Facebook’s DeepFace Recognition has accuracy of 97.25% http://www.forbes.com/sites/amitchowdhry/2014/03/18/facebooks-deepface-software-can-match-faces-with- 97-25-accuracy/#5408054127e5
  • 41.
    Photos search Google PhotosSearch for Photos from your iPhone
  • 42.
  • 43.
  • 44.
    Advanced Deep LearningApplication https://deepmind.com/alpha-go http://places.csail.mit.edu/demo.html Robotic grasping Pedestrian detection using DL WaveNet: A Generative Model for Raw Audio
  • 45.
    Platform • H20 –deep learning framework that comes with R and Python interfaces [http://www.h2o.ai/vertic als/algos/deep-learning/] Deep Learning: Platform & Frameworks & Libraries
  • 46.
    Deep Learning: Platform& Frameworks & Libraries Framework • Caffe - deep learning framework made with expression, speed, and modularity in mind. Developed by the Berkeley Vision and Learning Center (BVLC) [http://caffe.berkeleyvi sion.org/]
  • 47.
    Deep Learning: Platform& Frameworks & Libraries Framework • Torch - scientific computing framework with wide support for machine learning algorithms that puts GPUs first. Based on Lua programming language [http://torch.ch/]
  • 48.
    Deep Learning: Platform& Frameworks & Libraries Library • Tensorflow - open source software library for numerical computation using data flow graphs from Google [https://www.tensorflow.or g/]
  • 49.
    Deep Learning: Platform& Frameworks & Libraries Library • Theano - a python library developed by Yoshua Bengio’s team [http://deeplearning.net /software/theano/]
  • 50.
    Deep Learning: Platform& Frameworks & Libraries Library • Microsoft/CNTK: Computational Network Toolkit https://github.com/Microsoft/ CNTK
  • 51.
    Deep Learning: Platform& Frameworks & Libraries Library • Baidu’s PaddlePaddle: Deep Learning AI Platform https://github.com/baidu/ Paddle
  • 52.
    Learned Models • TrainedModels can be shared with others • Save the training time • For example: AlexNet (2012: 5 conv layers & 3 conn layers), GoogLeNet (2014: 22 layers deep network), ParseNet (2015) , etc • URLs: • https://github.com/BVLC/caffe/wiki/Model-Zoo • http://deeplearning4j.org/model-zoo
  • 53.
  • 54.
  • 55.