SlideShare ist ein Scribd-Unternehmen logo
1 von 87
Downloaden Sie, um offline zu lesen
NEURAL NETWORKS AND DEEP
LEARNING
BY ASIM JALIS
GALVANIZE
WHO AM I?
ASIM JALIS
Galvanize/Zipfian, Data Engineering
Cloudera, Microso!, Salesforce
MS in Computer Science from University of Virginia
https://www.linkedin.com/in/asimjalis
WHAT IS GALVANIZE’S DATA
ENGINEERING PROGRAM?
DO YOU WANT TO . . .
Play with terabytes of data
Build data applications using Spark, Hadoop, Hive, Kafka,
Storm, HBase
Use Data Science algorithms at scale
WHAT IS INVOLVED?
Learn concepts in interactive lectures
Develop skills in hands-on labs
Design and build your Capstone Project
Show project to SF tech companies at Hiring Day
FOR MORE INFORMATION
Check out
Talk to me
http://galvanize.com
asim.jalis@galvanize.com
INTRO
WHAT IS THIS TALK ABOUT?
What are Neural Networks and how do they work?
What is Deep Learning?
What is the difference?
How can we build neural networks in Apache Spark?
HOW MANY PEOPLE HERE ARE
FAMILIAR WITH NEURAL
NETWORKS?
HOW MANY PEOPLE HERE ARE
FAMILIAR WITH CONVOLUTION
NEURAL NETWORKS?
HOW MANY PEOPLE HERE ARE
FAMILIAR WITH DEEP LEARNING?
HOW MANY PEOPLE HERE ARE
FAMILIAR WITH APACHE SPARK
AND MLLIB?
NEURAL NETWORKS
WHAT IS A NEURON?
Receives signal on synapse
When trigger sends signal on axon
Mathematical abstraction
Inspired by biological neuron
Either on or off based on sum of input
Neuron is a mathematical function
Adds up (weighted) inputs
Applies the sigmoid function
This determines if it fires or not
WHAT ARE NEURAL NETWORKS?
Biologically inspired machine learning algorithm
Mathematical neurons arranged in layers
Accumulate signals from the previous layer
Fire when signal reaches threshold
HOW MANY NEURONS SHOULD I
HAVE IN MY NETWORK?
HOW MANY INPUT LAYER
NEURONS SHOULD WE HAVE?
The number of inputs or features
HOW MANY OUTPUT LAYER
NEURONS SHOULD WE HAVE?
The number of classes we are classifying the input into.
HOW MANY HIDDEN LAYER
NEURONS SHOULD WE HAVE?
SIMPLEST OPTION IS TO USE 0.
SINGLE LAYER PERCEPTRON
WHAT ARE THE DOWNSIDES OF
NO HIDDEN LAYERS?
Only works if data is linearly separable.
Identical to logistic regression.
MULTILAYER PERCEPTRON
For most realistic classification tasks you will need a
hidden layer.
Rule of thumb:
Number of hidden layers equals one
Number of neurons in hidden layer is mean of size of
input and output layers.
HOW DO WE USE THIS THING?
NEURAL NETWORK WORKFLOW
Split labeled data into train and test sets
Train with labeled data
Test and compare prediction with actual labels
HOW DO WE TRAIN IT?
FEED FORWARD
Also called forward propagation or forward prop
Initialize inputs
Weigh inputs into hidden layer, sum, apply sigmoid
Calculate activation of hidden layer
Weight inputs into output layer, sum, apply sigmoid
Calculate activation of output layer
BACK PROPAGATION
Use forward prop to calculate the error
Error is function of all network weights
Adjust weights using gradient descent
Repeat with next record
Keep going over training set until convergence
WHAT IS GRADIENT DESCENT?
HOW DO YOU FIND THE MINIMUM
IN AN N-DIMENSIONAL SPACE?
Take a step in the steepest direction.
Steepest direction is vector sum of all derivatives.
PUTTING ALL THIS TOGETHER
Use forward prop to activate
Use back prop to train
Then use forward prop to test
WHY NOT HAVE MULTIPLE
LAYERS?
DOWNSIDE OF MULTIPLE LAYERS
Number of weights is a product of the layer sizes
The mathematics quickly becomes intractable
Particularly when your input is an image with tens of
thousands of pixels
APACHE SPARK MLLIB
WHAT IS SPARK
Framework for processing data across a cluster
By sending the code to the data
And executing the code where the data lives
WHAT IS MLLIB?
Library for Machine Learning.
Builds on top of Spark RDDs.
Provides RDDs for Machine Learning.
Implements common Machine Learning algorithms.
DEMO USING APACHE TOREE
WHAT IS APACHE TOREE?
Like IPython Notebook but for Spark/Scala.
Jupyter kernel for Spark/Scala.
HOW CAN I INSTALL TOREE?
Use pip to install IPython or Jupyter.
Install Apache Spark by downloading tgz file and
expanding.
SPARK_HOME=$HOME/spark-1.6.0
pip install toree
jupyter toree install 
--spark_home=$SPARK_HOME
HOW CAN I RUN A TOREE
NOTEBOOK
jupyter notebook
Visit
Create new notebook.
Set kernel to Toree.
sc in notebook should print Spark Context.
http://localhost:8888
NEURAL NETWORK
CONSTRUCTION
HOW CAN I FIGURE OUT HOW
MANY LAYERS?
To figure out how many layers to use and what topology
to use you have to rely on standard machine learning
techniques.
Use cross-validation.
In general k-fold cross validation.
10-fold cross validation is popular.
WHAT IS 10-FOLD CROSS
VALIDATION OR K-FOLD CROSS
VALIDATION?
Split your data into 10 (or in general k) equal-sized
subsets.
Train model on 9 of them, set one aside for cross-
validation.
Validate model on 10th and remember your error rate.
Repeat by setting aside each one of the 10.
Average the 10 error rates.
Then repeat for the next model.
Choose the model with the lowest error rate.
HOW DO I DEPLOY MY NEURAL
NETWORK INTO PRODUCTION?
There are two phases.
The training phase can be run on the back-end servers.
Cross-validate your model and its hyper-parameters on
the back-end.
Then deploy the model to the front-end servers, browsers,
devices.
The front-end only uses forward prop and is always fast.
DEEP LEARNING
WHAT IS DEEP LEARNING?
Deep Learning is a learning method that can train the
system with more than 2 or 3 non-linear hidden layers.
WHAT IS DEEP LEARNING?
Machine learning techniques which enable unsupervised
feature learning and pattern analysis/classification.
The essence of deep learning is to compute
representations of the data.
Higher-level features are defined from lower-level ones.
HOW IS DEEP LEARNING
DIFFERENT FROM REGULAR
NEURAL NETWORKS?
Training neural networks requires applying gradient
descent on millions of dimensions.
This is intractable for large networks.
Deep learning places constraints on neural networks.
This allows them to be solvable iteratively.
The constraints are generic.
WHAT IS THE BIG DEAL ABOUT
IT?
AlexNet submitted to the ImageNet ILSVRC challenge in
2012 is partly responsible for the renaissance.
Alex Krizhevsky, Ilya Sutskever, and Geoffrey Hinton used
Deep Learning techniques.
They combined this with GPUs, some other techniques.
The result was a neural network that could classify images
of cats and dogs.
It had an error 16% compared to 26% for the runner up.
ILYA SUTSKEVER, ALEX
KRIZHEVSKY, GEOFFREY HINTON
WHAT ARE THE DIFFERENT KINDS
OF DEEP ARCHITECTURES?
Generative
Discriminative
Hybrid
WHAT ARE GENERATIVE
ARCHITECTURES
Extract features from data
Find common features in unlabelled data
Like Principal Component Analysis
Unsupervised: no labels required
WHAT ARE DISCRIMINATIVE
ARCHITECTURES
Classify inputs into classes
Require labels
Require supervised training
WHAT ARE HYBRID
ARCHITECTURES?
STEP 1
Combination of generative and discriminative
Extract features using generative network
Use unsupervised learning
STEP 2
Train discriminative network on extracted features
Use supervised learning
WHAT ARE AUTO-ENCODERS?
An auto-encoder is a learning algorithm.
It applies backpropagation and sets the target values to
be equal to its inputs.
In other words it trains itself to do the identity
transformation.
WHY DOES IT DO THIS?
By placing constraints on it, like restricting the number of
hidden neurons, it can find a good representation of the
data.
IS THE AUTO-ENCODER
SUPERVISED OR UNSUPERVISED?
It is unsupervised.
The data is unlabeled.
Auto-encoders are similar to PCA (Principal Component
Analysis).
PCA is a technique for reducing the dimensions of data.
WHAT ARE CONVOLUTION
NEURAL NETWORKS?
Feedforward neural networks.
Connection pattern inspired by visual cortex.
CONVOLUTION NEURAL
NETWORKS
The convolution layer’s parameters are a set of learnable
filters.
Every filter is small along width and height.
During the forward pass, each filter slides across the width
and height of the input, producing a 2-dimensional
activation map.
As we slide across the input we compute the dot product
between the filter and the input.
CONVOLUTION NEURAL
NETWORKS
Intuitively, the network learns filters that activate when
they see a specific type of feature anywhere.
In this way it creates translation invariance.
WHAT IS A POOLING LAYER?
The pooling layer reduces the resolution of the image
further.
It tiles the output area with 2x2 mask and takes the
maximum activation value of the area.
DOES SPARK SUPPORT DEEP
LEARNING?
Not directly yet
https://issues.apache.org/jira/browse/SPARK-2352
WHAT ARE SOME MAJOR DEEP
LEARNING PLATFORMS?
Theano: Low-level GPU-enabled tensor library.
Lasagne, Blocks: NN libraries that make Theano easier to
use.
Torch7: NN library. Uses Lua for binding. Used by
Facebook and Google.
Caffe: NN library by Berkeley AMPLab.
Pylearn2: ML library based on Theano by University of
Toronto. Google DeepMind.
cuDNN: NN library by Nvidia based on CUDA. Can be used
with Torch7, Caffe.
Chainer: NN library that uses CUDA.
TensorFlow: NN library from Google.
WHAT LANGUAGE ARE THESE IN?
All the frameworks support Python.
Except Torch7 which uses Lua for its binding language.
WHAT CAN I DO ON SPARK?
SparkNet: Integrates running Caffe with Spark.
Sparkling Water: Integrates H2O with Spark.
DeepLearning4J: Built on top of Spark.
TensorFlow on Spark (experimental)
QUESTIONS
GALVANIZE DATA ENGINEERING

Weitere ähnliche Inhalte

Was ist angesagt?

Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...Databricks
 
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...Databricks
 
Yggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Yggdrasil: Faster Decision Trees Using Column Partitioning In SparkYggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Yggdrasil: Faster Decision Trees Using Column Partitioning In SparkJen Aman
 
Deep Learning with DL4J on Apache Spark: Yeah it’s Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah it’s Cool, but are You Doing it...Deep Learning with DL4J on Apache Spark: Yeah it’s Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah it’s Cool, but are You Doing it...Databricks
 
Rapid Prototyping in PySpark Streaming: The Thermodynamics of Docker Containe...
Rapid Prototyping in PySpark Streaming: The Thermodynamics of Docker Containe...Rapid Prototyping in PySpark Streaming: The Thermodynamics of Docker Containe...
Rapid Prototyping in PySpark Streaming: The Thermodynamics of Docker Containe...Richard Seymour
 
Briefing on the Modern ML Stack with R
 Briefing on the Modern ML Stack with R Briefing on the Modern ML Stack with R
Briefing on the Modern ML Stack with RDatabricks
 
Integrating Deep Learning Libraries with Apache Spark
Integrating Deep Learning Libraries with Apache SparkIntegrating Deep Learning Libraries with Apache Spark
Integrating Deep Learning Libraries with Apache SparkDatabricks
 
Stories About Spark, HPC and Barcelona by Jordi Torres
Stories About Spark, HPC and Barcelona by Jordi TorresStories About Spark, HPC and Barcelona by Jordi Torres
Stories About Spark, HPC and Barcelona by Jordi TorresSpark Summit
 
Matrix Factorizations at Scale: a Comparison of Scientific Data Analytics on ...
Matrix Factorizations at Scale: a Comparison of Scientific Data Analytics on ...Matrix Factorizations at Scale: a Comparison of Scientific Data Analytics on ...
Matrix Factorizations at Scale: a Comparison of Scientific Data Analytics on ...Databricks
 
Distributed deep learning
Distributed deep learningDistributed deep learning
Distributed deep learningMehdi Shibahara
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Jen Aman
 
Deep-Dive into Deep Learning Pipelines with Sue Ann Hong and Tim Hunter
Deep-Dive into Deep Learning Pipelines with Sue Ann Hong and Tim HunterDeep-Dive into Deep Learning Pipelines with Sue Ann Hong and Tim Hunter
Deep-Dive into Deep Learning Pipelines with Sue Ann Hong and Tim HunterDatabricks
 
Top 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsTop 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsSpark Summit
 
Generating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNE
Generating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNEGenerating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNE
Generating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNEDataWorks Summit/Hadoop Summit
 
Why Apache Spark is the Heir to MapReduce in the Hadoop Ecosystem
Why Apache Spark is the Heir to MapReduce in the Hadoop EcosystemWhy Apache Spark is the Heir to MapReduce in the Hadoop Ecosystem
Why Apache Spark is the Heir to MapReduce in the Hadoop EcosystemCloudera, Inc.
 
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep Learning
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep LearningApache Spark 2.4 Bridges the Gap Between Big Data and Deep Learning
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep LearningDataWorks Summit
 
Python and Bigdata - An Introduction to Spark (PySpark)
Python and Bigdata -  An Introduction to Spark (PySpark)Python and Bigdata -  An Introduction to Spark (PySpark)
Python and Bigdata - An Introduction to Spark (PySpark)hiteshnd
 
Large-Scale Data Science on Hadoop (Intel Big Data Day)
Large-Scale Data Science on Hadoop (Intel Big Data Day)Large-Scale Data Science on Hadoop (Intel Big Data Day)
Large-Scale Data Science on Hadoop (Intel Big Data Day)Uri Laserson
 

Was ist angesagt? (18)

Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
Flare: Scale Up Spark SQL with Native Compilation and Set Your Data on Fire! ...
 
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
 
Yggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Yggdrasil: Faster Decision Trees Using Column Partitioning In SparkYggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Yggdrasil: Faster Decision Trees Using Column Partitioning In Spark
 
Deep Learning with DL4J on Apache Spark: Yeah it’s Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah it’s Cool, but are You Doing it...Deep Learning with DL4J on Apache Spark: Yeah it’s Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah it’s Cool, but are You Doing it...
 
Rapid Prototyping in PySpark Streaming: The Thermodynamics of Docker Containe...
Rapid Prototyping in PySpark Streaming: The Thermodynamics of Docker Containe...Rapid Prototyping in PySpark Streaming: The Thermodynamics of Docker Containe...
Rapid Prototyping in PySpark Streaming: The Thermodynamics of Docker Containe...
 
Briefing on the Modern ML Stack with R
 Briefing on the Modern ML Stack with R Briefing on the Modern ML Stack with R
Briefing on the Modern ML Stack with R
 
Integrating Deep Learning Libraries with Apache Spark
Integrating Deep Learning Libraries with Apache SparkIntegrating Deep Learning Libraries with Apache Spark
Integrating Deep Learning Libraries with Apache Spark
 
Stories About Spark, HPC and Barcelona by Jordi Torres
Stories About Spark, HPC and Barcelona by Jordi TorresStories About Spark, HPC and Barcelona by Jordi Torres
Stories About Spark, HPC and Barcelona by Jordi Torres
 
Matrix Factorizations at Scale: a Comparison of Scientific Data Analytics on ...
Matrix Factorizations at Scale: a Comparison of Scientific Data Analytics on ...Matrix Factorizations at Scale: a Comparison of Scientific Data Analytics on ...
Matrix Factorizations at Scale: a Comparison of Scientific Data Analytics on ...
 
Distributed deep learning
Distributed deep learningDistributed deep learning
Distributed deep learning
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
 
Deep-Dive into Deep Learning Pipelines with Sue Ann Hong and Tim Hunter
Deep-Dive into Deep Learning Pipelines with Sue Ann Hong and Tim HunterDeep-Dive into Deep Learning Pipelines with Sue Ann Hong and Tim Hunter
Deep-Dive into Deep Learning Pipelines with Sue Ann Hong and Tim Hunter
 
Top 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark ApplicationsTop 5 Mistakes When Writing Spark Applications
Top 5 Mistakes When Writing Spark Applications
 
Generating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNE
Generating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNEGenerating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNE
Generating Recommendations at Amazon Scale with Apache Spark and Amazon DSSTNE
 
Why Apache Spark is the Heir to MapReduce in the Hadoop Ecosystem
Why Apache Spark is the Heir to MapReduce in the Hadoop EcosystemWhy Apache Spark is the Heir to MapReduce in the Hadoop Ecosystem
Why Apache Spark is the Heir to MapReduce in the Hadoop Ecosystem
 
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep Learning
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep LearningApache Spark 2.4 Bridges the Gap Between Big Data and Deep Learning
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep Learning
 
Python and Bigdata - An Introduction to Spark (PySpark)
Python and Bigdata -  An Introduction to Spark (PySpark)Python and Bigdata -  An Introduction to Spark (PySpark)
Python and Bigdata - An Introduction to Spark (PySpark)
 
Large-Scale Data Science on Hadoop (Intel Big Data Day)
Large-Scale Data Science on Hadoop (Intel Big Data Day)Large-Scale Data Science on Hadoop (Intel Big Data Day)
Large-Scale Data Science on Hadoop (Intel Big Data Day)
 

Ähnlich wie Neural Networks, Spark MLlib, Deep Learning

Georgia Tech cse6242 - Intro to Deep Learning and DL4J
Georgia Tech cse6242 - Intro to Deep Learning and DL4JGeorgia Tech cse6242 - Intro to Deep Learning and DL4J
Georgia Tech cse6242 - Intro to Deep Learning and DL4JJosh Patterson
 
Handwritten Recognition using Deep Learning with R
Handwritten Recognition using Deep Learning with RHandwritten Recognition using Deep Learning with R
Handwritten Recognition using Deep Learning with RPoo Kuan Hoong
 
Neural Networks and Deep Learning
Neural Networks and Deep LearningNeural Networks and Deep Learning
Neural Networks and Deep LearningAsim Jalis
 
Introduction to parallel iterative deep learning on hadoop’s next​ generation...
Introduction to parallel iterative deep learning on hadoop’s next​ generation...Introduction to parallel iterative deep learning on hadoop’s next​ generation...
Introduction to parallel iterative deep learning on hadoop’s next​ generation...Anh Le
 
Synthetic dialogue generation with Deep Learning
Synthetic dialogue generation with Deep LearningSynthetic dialogue generation with Deep Learning
Synthetic dialogue generation with Deep LearningS N
 
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on Hadoop
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on HadoopHadoop Summit 2014 - San Jose - Introduction to Deep Learning on Hadoop
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on HadoopJosh Patterson
 
Hadoop Summit 2014 Distributed Deep Learning
Hadoop Summit 2014 Distributed Deep LearningHadoop Summit 2014 Distributed Deep Learning
Hadoop Summit 2014 Distributed Deep LearningAdam Gibson
 
introduction to deeplearning
introduction to deeplearningintroduction to deeplearning
introduction to deeplearningEyad Alshami
 
Deeplearning on Hadoop @OSCON 2014
Deeplearning on Hadoop @OSCON 2014Deeplearning on Hadoop @OSCON 2014
Deeplearning on Hadoop @OSCON 2014Adam Gibson
 
Anomaly Detection at Scale
Anomaly Detection at ScaleAnomaly Detection at Scale
Anomaly Detection at ScaleJeff Henrikson
 
KERAS Python Tutorial
KERAS Python TutorialKERAS Python Tutorial
KERAS Python TutorialMahmutKAMALAK
 
Deep Learning for Developers (Advanced Workshop)
Deep Learning for Developers (Advanced Workshop)Deep Learning for Developers (Advanced Workshop)
Deep Learning for Developers (Advanced Workshop)Amazon Web Services
 
Deep Learning with Apache MXNet (September 2017)
Deep Learning with Apache MXNet (September 2017)Deep Learning with Apache MXNet (September 2017)
Deep Learning with Apache MXNet (September 2017)Julien SIMON
 
DeepLearning001&ApacheMXNetWithSparkForInference-ACNA2018
DeepLearning001&ApacheMXNetWithSparkForInference-ACNA2018DeepLearning001&ApacheMXNetWithSparkForInference-ACNA2018
DeepLearning001&ApacheMXNetWithSparkForInference-ACNA2018Apache MXNet
 
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkRunning Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkDatabricks
 

Ähnlich wie Neural Networks, Spark MLlib, Deep Learning (20)

Georgia Tech cse6242 - Intro to Deep Learning and DL4J
Georgia Tech cse6242 - Intro to Deep Learning and DL4JGeorgia Tech cse6242 - Intro to Deep Learning and DL4J
Georgia Tech cse6242 - Intro to Deep Learning and DL4J
 
Distributed deep learning_over_spark_20_nov_2014_ver_2.8
Distributed deep learning_over_spark_20_nov_2014_ver_2.8Distributed deep learning_over_spark_20_nov_2014_ver_2.8
Distributed deep learning_over_spark_20_nov_2014_ver_2.8
 
Handwritten Recognition using Deep Learning with R
Handwritten Recognition using Deep Learning with RHandwritten Recognition using Deep Learning with R
Handwritten Recognition using Deep Learning with R
 
Neural Networks and Deep Learning
Neural Networks and Deep LearningNeural Networks and Deep Learning
Neural Networks and Deep Learning
 
Introduction to parallel iterative deep learning on hadoop’s next​ generation...
Introduction to parallel iterative deep learning on hadoop’s next​ generation...Introduction to parallel iterative deep learning on hadoop’s next​ generation...
Introduction to parallel iterative deep learning on hadoop’s next​ generation...
 
Synthetic dialogue generation with Deep Learning
Synthetic dialogue generation with Deep LearningSynthetic dialogue generation with Deep Learning
Synthetic dialogue generation with Deep Learning
 
Deep Learning Demystified
Deep Learning DemystifiedDeep Learning Demystified
Deep Learning Demystified
 
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on Hadoop
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on HadoopHadoop Summit 2014 - San Jose - Introduction to Deep Learning on Hadoop
Hadoop Summit 2014 - San Jose - Introduction to Deep Learning on Hadoop
 
Hadoop Summit 2014 Distributed Deep Learning
Hadoop Summit 2014 Distributed Deep LearningHadoop Summit 2014 Distributed Deep Learning
Hadoop Summit 2014 Distributed Deep Learning
 
Deep Learning on Hadoop
Deep Learning on HadoopDeep Learning on Hadoop
Deep Learning on Hadoop
 
introduction to deeplearning
introduction to deeplearningintroduction to deeplearning
introduction to deeplearning
 
Deeplearning on Hadoop @OSCON 2014
Deeplearning on Hadoop @OSCON 2014Deeplearning on Hadoop @OSCON 2014
Deeplearning on Hadoop @OSCON 2014
 
Anomaly Detection at Scale
Anomaly Detection at ScaleAnomaly Detection at Scale
Anomaly Detection at Scale
 
KERAS Python Tutorial
KERAS Python TutorialKERAS Python Tutorial
KERAS Python Tutorial
 
Development of Deep Learning Architecture
Development of Deep Learning ArchitectureDevelopment of Deep Learning Architecture
Development of Deep Learning Architecture
 
Deep Learning for Developers (Advanced Workshop)
Deep Learning for Developers (Advanced Workshop)Deep Learning for Developers (Advanced Workshop)
Deep Learning for Developers (Advanced Workshop)
 
AI and Deep Learning
AI and Deep Learning AI and Deep Learning
AI and Deep Learning
 
Deep Learning with Apache MXNet (September 2017)
Deep Learning with Apache MXNet (September 2017)Deep Learning with Apache MXNet (September 2017)
Deep Learning with Apache MXNet (September 2017)
 
DeepLearning001&ApacheMXNetWithSparkForInference-ACNA2018
DeepLearning001&ApacheMXNetWithSparkForInference-ACNA2018DeepLearning001&ApacheMXNetWithSparkForInference-ACNA2018
DeepLearning001&ApacheMXNetWithSparkForInference-ACNA2018
 
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache SparkRunning Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
Running Emerging AI Applications on Big Data Platforms with Ray On Apache Spark
 

Kürzlich hochgeladen

Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queensdataanalyticsqueen03
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxaleedritatuxx
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Colleen Farrelly
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPTBoston Institute of Analytics
 
Learn How Data Science Changes Our World
Learn How Data Science Changes Our WorldLearn How Data Science Changes Our World
Learn How Data Science Changes Our WorldEduminds Learning
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryJeremy Anderson
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
Statistics, Data Analysis, and Decision Modeling, 5th edition by James R. Eva...
Statistics, Data Analysis, and Decision Modeling, 5th edition by James R. Eva...Statistics, Data Analysis, and Decision Modeling, 5th edition by James R. Eva...
Statistics, Data Analysis, and Decision Modeling, 5th edition by James R. Eva...ssuserf63bd7
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024Susanna-Assunta Sansone
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Thomas Poetter
 
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhThiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhYasamin16
 
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理e4aez8ss
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.natarajan8993
 
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI
LLMs, LMMs, their Improvement Suggestions and the Path towards AGILLMs, LMMs, their Improvement Suggestions and the Path towards AGI
LLMs, LMMs, their Improvement Suggestions and the Path towards AGIThomas Poetter
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesTimothy Spann
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfBoston Institute of Analytics
 

Kürzlich hochgeladen (20)

Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queens
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
 
Learn How Data Science Changes Our World
Learn How Data Science Changes Our WorldLearn How Data Science Changes Our World
Learn How Data Science Changes Our World
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data Story
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
Statistics, Data Analysis, and Decision Modeling, 5th edition by James R. Eva...
Statistics, Data Analysis, and Decision Modeling, 5th edition by James R. Eva...Statistics, Data Analysis, and Decision Modeling, 5th edition by James R. Eva...
Statistics, Data Analysis, and Decision Modeling, 5th edition by James R. Eva...
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
 
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhThiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
 
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.
 
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI
LLMs, LMMs, their Improvement Suggestions and the Path towards AGILLMs, LMMs, their Improvement Suggestions and the Path towards AGI
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
 

Neural Networks, Spark MLlib, Deep Learning

  • 1. NEURAL NETWORKS AND DEEP LEARNING BY ASIM JALIS GALVANIZE
  • 3. ASIM JALIS Galvanize/Zipfian, Data Engineering Cloudera, Microso!, Salesforce MS in Computer Science from University of Virginia https://www.linkedin.com/in/asimjalis
  • 4. WHAT IS GALVANIZE’S DATA ENGINEERING PROGRAM?
  • 5.
  • 6. DO YOU WANT TO . . . Play with terabytes of data Build data applications using Spark, Hadoop, Hive, Kafka, Storm, HBase Use Data Science algorithms at scale
  • 7. WHAT IS INVOLVED? Learn concepts in interactive lectures Develop skills in hands-on labs Design and build your Capstone Project Show project to SF tech companies at Hiring Day
  • 8. FOR MORE INFORMATION Check out Talk to me http://galvanize.com asim.jalis@galvanize.com
  • 10. WHAT IS THIS TALK ABOUT? What are Neural Networks and how do they work? What is Deep Learning? What is the difference? How can we build neural networks in Apache Spark?
  • 11. HOW MANY PEOPLE HERE ARE FAMILIAR WITH NEURAL NETWORKS?
  • 12. HOW MANY PEOPLE HERE ARE FAMILIAR WITH CONVOLUTION NEURAL NETWORKS?
  • 13. HOW MANY PEOPLE HERE ARE FAMILIAR WITH DEEP LEARNING?
  • 14. HOW MANY PEOPLE HERE ARE FAMILIAR WITH APACHE SPARK AND MLLIB?
  • 16. WHAT IS A NEURON?
  • 17. Receives signal on synapse When trigger sends signal on axon
  • 18. Mathematical abstraction Inspired by biological neuron Either on or off based on sum of input
  • 19. Neuron is a mathematical function Adds up (weighted) inputs Applies the sigmoid function This determines if it fires or not
  • 20. WHAT ARE NEURAL NETWORKS? Biologically inspired machine learning algorithm Mathematical neurons arranged in layers Accumulate signals from the previous layer Fire when signal reaches threshold
  • 21.
  • 22. HOW MANY NEURONS SHOULD I HAVE IN MY NETWORK?
  • 23. HOW MANY INPUT LAYER NEURONS SHOULD WE HAVE?
  • 24. The number of inputs or features
  • 25. HOW MANY OUTPUT LAYER NEURONS SHOULD WE HAVE?
  • 26. The number of classes we are classifying the input into.
  • 27. HOW MANY HIDDEN LAYER NEURONS SHOULD WE HAVE?
  • 28. SIMPLEST OPTION IS TO USE 0.
  • 30. WHAT ARE THE DOWNSIDES OF NO HIDDEN LAYERS? Only works if data is linearly separable. Identical to logistic regression.
  • 31. MULTILAYER PERCEPTRON For most realistic classification tasks you will need a hidden layer. Rule of thumb: Number of hidden layers equals one Number of neurons in hidden layer is mean of size of input and output layers.
  • 32. HOW DO WE USE THIS THING?
  • 33. NEURAL NETWORK WORKFLOW Split labeled data into train and test sets Train with labeled data Test and compare prediction with actual labels
  • 34. HOW DO WE TRAIN IT?
  • 35. FEED FORWARD Also called forward propagation or forward prop Initialize inputs Weigh inputs into hidden layer, sum, apply sigmoid Calculate activation of hidden layer Weight inputs into output layer, sum, apply sigmoid Calculate activation of output layer
  • 36. BACK PROPAGATION Use forward prop to calculate the error Error is function of all network weights Adjust weights using gradient descent Repeat with next record Keep going over training set until convergence
  • 37. WHAT IS GRADIENT DESCENT?
  • 38.
  • 39. HOW DO YOU FIND THE MINIMUM IN AN N-DIMENSIONAL SPACE? Take a step in the steepest direction. Steepest direction is vector sum of all derivatives.
  • 40. PUTTING ALL THIS TOGETHER
  • 41. Use forward prop to activate Use back prop to train Then use forward prop to test
  • 42. WHY NOT HAVE MULTIPLE LAYERS?
  • 43. DOWNSIDE OF MULTIPLE LAYERS Number of weights is a product of the layer sizes The mathematics quickly becomes intractable Particularly when your input is an image with tens of thousands of pixels
  • 46.
  • 47. Framework for processing data across a cluster By sending the code to the data And executing the code where the data lives
  • 48. WHAT IS MLLIB? Library for Machine Learning. Builds on top of Spark RDDs. Provides RDDs for Machine Learning. Implements common Machine Learning algorithms.
  • 49.
  • 51. WHAT IS APACHE TOREE? Like IPython Notebook but for Spark/Scala. Jupyter kernel for Spark/Scala.
  • 52. HOW CAN I INSTALL TOREE? Use pip to install IPython or Jupyter. Install Apache Spark by downloading tgz file and expanding. SPARK_HOME=$HOME/spark-1.6.0 pip install toree jupyter toree install --spark_home=$SPARK_HOME
  • 53. HOW CAN I RUN A TOREE NOTEBOOK jupyter notebook Visit Create new notebook. Set kernel to Toree. sc in notebook should print Spark Context. http://localhost:8888
  • 55. HOW CAN I FIGURE OUT HOW MANY LAYERS? To figure out how many layers to use and what topology to use you have to rely on standard machine learning techniques. Use cross-validation. In general k-fold cross validation. 10-fold cross validation is popular.
  • 56. WHAT IS 10-FOLD CROSS VALIDATION OR K-FOLD CROSS VALIDATION?
  • 57. Split your data into 10 (or in general k) equal-sized subsets. Train model on 9 of them, set one aside for cross- validation. Validate model on 10th and remember your error rate. Repeat by setting aside each one of the 10. Average the 10 error rates. Then repeat for the next model. Choose the model with the lowest error rate.
  • 58. HOW DO I DEPLOY MY NEURAL NETWORK INTO PRODUCTION? There are two phases. The training phase can be run on the back-end servers. Cross-validate your model and its hyper-parameters on the back-end. Then deploy the model to the front-end servers, browsers, devices. The front-end only uses forward prop and is always fast.
  • 60. WHAT IS DEEP LEARNING? Deep Learning is a learning method that can train the system with more than 2 or 3 non-linear hidden layers.
  • 61. WHAT IS DEEP LEARNING? Machine learning techniques which enable unsupervised feature learning and pattern analysis/classification. The essence of deep learning is to compute representations of the data. Higher-level features are defined from lower-level ones.
  • 62. HOW IS DEEP LEARNING DIFFERENT FROM REGULAR NEURAL NETWORKS? Training neural networks requires applying gradient descent on millions of dimensions. This is intractable for large networks. Deep learning places constraints on neural networks. This allows them to be solvable iteratively. The constraints are generic.
  • 63. WHAT IS THE BIG DEAL ABOUT IT? AlexNet submitted to the ImageNet ILSVRC challenge in 2012 is partly responsible for the renaissance. Alex Krizhevsky, Ilya Sutskever, and Geoffrey Hinton used Deep Learning techniques. They combined this with GPUs, some other techniques. The result was a neural network that could classify images of cats and dogs. It had an error 16% compared to 26% for the runner up.
  • 65.
  • 66. WHAT ARE THE DIFFERENT KINDS OF DEEP ARCHITECTURES? Generative Discriminative Hybrid
  • 67. WHAT ARE GENERATIVE ARCHITECTURES Extract features from data Find common features in unlabelled data Like Principal Component Analysis Unsupervised: no labels required
  • 68. WHAT ARE DISCRIMINATIVE ARCHITECTURES Classify inputs into classes Require labels Require supervised training
  • 69. WHAT ARE HYBRID ARCHITECTURES? STEP 1 Combination of generative and discriminative Extract features using generative network Use unsupervised learning STEP 2 Train discriminative network on extracted features Use supervised learning
  • 70. WHAT ARE AUTO-ENCODERS? An auto-encoder is a learning algorithm. It applies backpropagation and sets the target values to be equal to its inputs. In other words it trains itself to do the identity transformation.
  • 71.
  • 72. WHY DOES IT DO THIS? By placing constraints on it, like restricting the number of hidden neurons, it can find a good representation of the data.
  • 73. IS THE AUTO-ENCODER SUPERVISED OR UNSUPERVISED?
  • 74. It is unsupervised. The data is unlabeled. Auto-encoders are similar to PCA (Principal Component Analysis). PCA is a technique for reducing the dimensions of data.
  • 75. WHAT ARE CONVOLUTION NEURAL NETWORKS? Feedforward neural networks. Connection pattern inspired by visual cortex.
  • 76.
  • 77. CONVOLUTION NEURAL NETWORKS The convolution layer’s parameters are a set of learnable filters. Every filter is small along width and height. During the forward pass, each filter slides across the width and height of the input, producing a 2-dimensional activation map. As we slide across the input we compute the dot product between the filter and the input.
  • 78. CONVOLUTION NEURAL NETWORKS Intuitively, the network learns filters that activate when they see a specific type of feature anywhere. In this way it creates translation invariance.
  • 79. WHAT IS A POOLING LAYER? The pooling layer reduces the resolution of the image further. It tiles the output area with 2x2 mask and takes the maximum activation value of the area.
  • 80.
  • 81. DOES SPARK SUPPORT DEEP LEARNING? Not directly yet https://issues.apache.org/jira/browse/SPARK-2352
  • 82. WHAT ARE SOME MAJOR DEEP LEARNING PLATFORMS?
  • 83. Theano: Low-level GPU-enabled tensor library. Lasagne, Blocks: NN libraries that make Theano easier to use. Torch7: NN library. Uses Lua for binding. Used by Facebook and Google. Caffe: NN library by Berkeley AMPLab. Pylearn2: ML library based on Theano by University of Toronto. Google DeepMind. cuDNN: NN library by Nvidia based on CUDA. Can be used with Torch7, Caffe. Chainer: NN library that uses CUDA. TensorFlow: NN library from Google.
  • 84. WHAT LANGUAGE ARE THESE IN? All the frameworks support Python. Except Torch7 which uses Lua for its binding language.
  • 85. WHAT CAN I DO ON SPARK? SparkNet: Integrates running Caffe with Spark. Sparkling Water: Integrates H2O with Spark. DeepLearning4J: Built on top of Spark. TensorFlow on Spark (experimental)