Deep Learning
Fundamentals
Satnam Singh, PhD
Chief Data Scientist
May 29, 2018
Outline
• What is deep learning?
• Feed Forward Neural Network (FFNN)
• Recurrent Neural Network (RNN)& LSTM
• Convolutional Neural Network (CNN)
• How to build a deep learning network?
Applications of Deep Learning
• Self-Driving Cars
• Alexa
• Chatbots
• Almost every industry has use cases
• Pls, share use cases from your industry….
ML vs. DL
ML vs. DL
What is Deep Learning?
Single Neuron
Single Neuron - “AND” node
Single Neuron - “OR” node
How to
compute the
weights?
Forward Propagation - 1
Forward Propagation - 2
Back Propagation
Source: Python Machine Learning Book by Sebastian Raschka
How to
select
the
model?
1. Hands-on Session:
Iris Dataset
2. Hands-on Session:
Mnist dataset
Feed Forward Neural Network
Inputs and outputs are independent
Recurrent Neural
Networks (RNN)
Time Series/ Sequence Prediction
Stock Market Prediction
Text Sequence Prediction The colour of the sky _____
Speech Translation
Recurrent Neural Network
Output is dependent on Previous output
Problems in RNN
The colour of the sky _____
RNN can predict: BLUE
I grew up in India… I speak fluent ____
RNN CANNOT predict HINDI
RNN - Memory
Source: Colah’s blog
RNN - Missing Long Term Memory
RNN has Vanishing Gradient Problem
Long Short Term Memory
(LSTM) Networks
Information Flow in RNN
Source: Deep learning with Keras - Chollet
LSTM - Carry Bits
LSTM
3. Hands-on Session:
CnC Detection
Command and Control Detection
C&C domain examples:
• DGA based: gvludcvhcrjwmgq.in, uqvwxfrhhwreddf.yt
• non DGA based: thisisyourchangeqq.com, homejobsinstitute.biz
Ransomware
Malware
Enterprise Network
Main DB
Webserver
C&C server
Data
Command
Attacker
Update Models
DNS
data
Ranking of
Malicious
C&C
domains
C&C
domains
Classify benign vs
C&C domains using
LSTM
C&C Detection: Pipeline
Convolutional
Neural Networks
(CNN)
CNN: Data Flow
CNN
Convolution
Convolution
Understanding Image Features
Understanding Image Features
Dropout
Softmax
Back Propagation
Hands-on Session:
Cat vs. Dogs
Best Practices for Building AI Systems
1. Start Small and Simple -
First cut of AI system need not
be the best
2. Capturing the domain
knowledge, data pre-
processing is important.
3. Need to follow Software
Engg practices and tools -
logging, data flow diagrams,
abstraction, design patterns
4. Identify and define
performance metrics
5. Integration with UI and Data Infra layers needs
to be ironed out, use data interfaces, AI layer
should be isolated
@satnam74s
Where to go from here:
• “Awesome Deep Learning - Github”
https://github.com/ChristosChristofidis/awesome-
deep-learning
https://www.linkedin.com/in/satnamsinghdatascientist/

Deep learning fundamentals workshop