SlideShare uma empresa Scribd logo
1 de 87
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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)
 

Semelhante a 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
 

Semelhante a 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
 

Último

Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Boston Institute of Analytics
 
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxThe Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxTasha Penwell
 
Rithik Kumar Singh codealpha pythohn.pdf
Rithik Kumar Singh codealpha pythohn.pdfRithik Kumar Singh codealpha pythohn.pdf
Rithik Kumar Singh codealpha pythohn.pdfrahulyadav957181
 
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
 
Digital Marketing Plan, how digital marketing works
Digital Marketing Plan, how digital marketing worksDigital Marketing Plan, how digital marketing works
Digital Marketing Plan, how digital marketing worksdeepakthakur548787
 
SMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxSMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxHaritikaChhatwal1
 
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
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Boston Institute of Analytics
 
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...Dr Arash Najmaei ( Phd., MBA, BSc)
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Seán Kennedy
 
Decoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectDecoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectBoston Institute of Analytics
 
Networking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxNetworking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxHimangsuNath
 
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
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...Amil Baba Dawood bangali
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBoston Institute of Analytics
 
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
 
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelDecoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelBoston Institute of Analytics
 
What To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxWhat To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxSimranPal17
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Seán Kennedy
 

Último (20)

Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
 
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxThe Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
 
Rithik Kumar Singh codealpha pythohn.pdf
Rithik Kumar Singh codealpha pythohn.pdfRithik Kumar Singh codealpha pythohn.pdf
Rithik Kumar Singh codealpha pythohn.pdf
 
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
 
Digital Marketing Plan, how digital marketing works
Digital Marketing Plan, how digital marketing worksDigital Marketing Plan, how digital marketing works
Digital Marketing Plan, how digital marketing works
 
SMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxSMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptx
 
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)
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
 
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...
 
Decoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectDecoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis Project
 
Networking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptxNetworking Case Study prepared by teacher.pptx
Networking Case Study prepared by teacher.pptx
 
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
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
 
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
 
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelDecoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
 
What To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxWhat To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptx
 
Insurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis ProjectInsurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis Project
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...
 

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)