SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Intro to Deep Learning w/ Clojure
It’s Difficult to Make Predictions.
Especially About the Future.
@JulioBarros
Consultant
E-String.com
@JulioBarros http://E-String.com 1
Hypothesis
Given that Python dominates ML/DL;
Is there a valid use case for Clojure?
TL;DR --It depends
@JulioBarros http://E-String.com 2
I Hope So
...and I'm not the only one.
@JulioBarros http://E-String.com 3
Hype or Reality?
@JulioBarros http://E-String.com 4
"It is a renaissance, it is a golden age,"
"MachinelearningandAIisahorizontalenablinglayer.Itwillempowerand
improveeverybusiness,everygovernmentorganization,everyphilanthropy
—basicallythere'snoinstitutionintheworldthatcannotbeimprovedwith
machinelearning."
—Bezos
@JulioBarros http://E-String.com 5
Every industry can expect to be transformed by Artificial
Intelligence
@JulioBarros http://E-String.com 6
Image Classification
Justin Johnson,Andrej Karpathy,Li Fei-Fei-Stanford
@JulioBarros http://E-String.com 7
My dog Rex
@JulioBarros http://E-String.com 8
Object Detection
@JulioBarros http://E-String.com 9
Image Captioning
@JulioBarros http://E-String.com 10
Dense Captioning
@JulioBarros http://E-String.com 11
Healthcare
Near or better than human level performance.
@JulioBarros http://E-String.com 12
Business
— Law & Finance
— Text,audio,image,video understanding
— Churn prediction,customer segmentation
— Product recommendations
— Manufacturing,maintenance and control
— Many many more
@JulioBarros http://E-String.com 13
Artificial Intelligence
Artificial Intelligence (AI)-the study of"intelligent agents".Reasoning,
knowledge representation,planning,robotics,etc.
— Artificial Narrow Intelligence (ANI)
— Artificial General Intelligence (AGI)
— Artificial Superintelligence (ASI)
@JulioBarros http://E-String.com 14
Machine Learning
Machine Learning (ML)-Programs that learn from the data and make
predictions.
@JulioBarros http://E-String.com 15
Types of prediction
Regression-continuous values
Classification-discreet values/labels
@JulioBarros http://E-String.com 16
Types of ML Algorithms
Supervised-trained on labeled data (regression or classification).
Unsupervised-trained on unlabeled data (clustering,segmentation).
Reinforcement-learns based on outcomes/results of actions.
@JulioBarros http://E-String.com 17
Deep Learning
Deep Learning (DL)-ML/AIusingartificialneuralnetworks(ANNs)
You might be thinking...
What?Isn'tthatjustaneuralnet?
Didn'tweshowthosedon'twork.
Twice.
@JulioBarros http://E-String.com 18
Third time is a charm
Capabilities of neural nets have changed dramatically due to
advancements in:
— Data
— Algorithms
— Hardware
@JulioBarros http://E-String.com 19
Neurons: Biologically inspired
1942 McCulloch and Pitts
1957 Rosenblatt
(A (+ b (apply + (map * x w)))
@JulioBarros http://E-String.com 20
Activation Function
Introduces non linearity
— Historicaly: Identity,Step,Tanh,Sigmoid
— Currently: Rectified linear Unit (relu),Softmax
@JulioBarros http://E-String.com 21
Universal Approximation Theorem
(1989)
...a feed-forward network with a single
hidden layer containing a finite number of
neurons can approximate continuous
functions...
@JulioBarros http://E-String.com 22
Deep Neural Nets
A net with more than one hidden layer.
@JulioBarros http://E-String.com 23
VGG16
@JulioBarros http://E-String.com 24
GoogleLeNet
@JulioBarros http://E-String.com 25
Training
1) Initialize weights randomly
2) Make prediction
3) Measure error (loss)
4) Adjust weights in the right direction
5) GOTO 2
Repeat over and over and over again with your training data
@JulioBarros http://E-String.com 26
Backpropagation
Finding the right direction.
@JulioBarros http://E-String.com 27
Backpropagation
To know the right direction calculate the
gradient of the loss function with respect
to each weight.Multiply by the error and a
learning rate to get the delta.
Don'tworry.Thelibrariesdoitforyou.
@JulioBarros http://E-String.com 28
Millions of Knobs Parameters
@JulioBarros http://E-String.com 29
A Simple Neural Net in Cortex
(def network-architecture
[(layers/input 11 1 1 :id :x)
(layers/linear 64)
(layers/relu)
(layers/linear 1 :id :y)])
@JulioBarros http://E-String.com 30
Wine Quality Data
11 features,1 target column
@JulioBarros http://E-String.com 31
UCI Machine Learning Repository
https://archive.ics.uci.edu/ml/datasets/Wine+Quality
Source: Paulo Cortez, University of Minho, Guimarães, Portugal, http://www3.dsi.uminho.pt/pcortez A.Cerdeira,
F.Almeida, T.Matos and J.Reis, Viticulture Commission of the Vinho Verde Region(CVRVV), Porto, Portugal
@2009
@JulioBarros http://E-String.com 32
Normalized / Scaled data (Standardized)
@JulioBarros http://E-String.com 33
Demo
https://github.com/thinktopic/cortex
https://github.com/JulioBarros/clj-dl-demo
@JulioBarros http://E-String.com 34
How Do We Work With Images
Well,images are just numbers/data.
Though numbers close to each other are more related.
@JulioBarros http://E-String.com 35
Convolutional Layers
Similar to correlations from signal
processing or filters from photoshop.
A small NxN filter is slid over and
convolved/correlated with the image.
Learns to find features.
Then lower level features are combined
into higher level features.
@JulioBarros http://E-String.com 36
Common Types of Layers
— input / output
— fully connected (dense)
— activation-relu,softmax
— convolutional
— maxpool
— flatten
— drop out
@JulioBarros http://E-String.com 37
Types of ANN
1. Dense Neural Net (DNN)
2. Convolutional Neural Net (CNN)
3. Recurrent Neural Net (RNN)
4. Everything else
@JulioBarros http://E-String.com 38
Programming Abstractions
Level Python CLJ/JVM
DSL/API Keras,Lasagne,TF-Slim Cortex,???
Computation Graph,
Backprop,Autograd
Tensorflow,Theano,
Torch,Pytorch,Caffe,
MXNet,CNTK
Cortex,dl4j,Java
bindings
Matrix Math CUDA (cuDNN),Eigen3 Neandertal,
core.matrix,vectorz-clj
@JulioBarros http://E-String.com 39
Production Considerations
— Target hardware environment
— GPU(s)
— Powerful multicore server
— Mobile device
— Embedded
— Desired latency / scalability
— Data pipeline
— Software engineering practices
@JulioBarros http://E-String.com 40
Don't Underestimate the Last Two
We need to consider running and maintaining the models in production.
@JulioBarros http://E-String.com 41
Approaches
— Python based environment
— Clojure based environment
— Generate C++ binaries
— API calls to third party
— API calls to microservices
@JulioBarros http://E-String.com 42
Challenges with DL
— Needs lots of data.Labeled data is expensive.
— Lacks explain-ability
— Performance requirements-training and inference
— Max performance unclear
— Best architecture unclear
@JulioBarros http://E-String.com 43
Benefits of DL
— Handles much of the feature engineering
— Handles complex (non linear) problems
— Advancements coming quickly
@JulioBarros http://E-String.com 44
Recommendations
Do not be intimidated by ANNs or the math.
Start with Keras (and Tensorflow or Theano) tutorials (or maybe Pytorch).
Later choose language/framework as needs dictate.
@JulioBarros http://E-String.com 45
Resources
Andrew Ng's Coursera Course and Fast.AI Mooc
Deep Learning Book-Goodfellow,Bengio and Courville
Meetups
-Portland-Data-Science-Group
-Portland-Machine-Learning-Meetup
-Portland-Deep-Learning
@JulioBarros http://E-String.com 46
Thank you! Questions?
Julio@E-String.com
@JulioBarros
@JulioBarros http://E-String.com 47

Mais conteúdo relacionado

Semelhante a Intro to Deep Learning w/ Clojure

Getting Started with Machine Learning
Getting Started with Machine LearningGetting Started with Machine Learning
Getting Started with Machine LearningHumberto Marchezi
 
How machine learning is changing the world
How machine learning is changing the worldHow machine learning is changing the world
How machine learning is changing the worldEmilio Garcia
 
How DeepMind Mastered The Game Of Go
How DeepMind Mastered The Game Of GoHow DeepMind Mastered The Game Of Go
How DeepMind Mastered The Game Of GoTim Riser
 
BWB Meetup: Storm - distributed realtime computation system
BWB Meetup: Storm - distributed realtime computation systemBWB Meetup: Storm - distributed realtime computation system
BWB Meetup: Storm - distributed realtime computation systemAndrii Gakhov
 
Neural Nets Deconstructed
Neural Nets DeconstructedNeural Nets Deconstructed
Neural Nets DeconstructedPaul Sterk
 
Artificial Intelligence (and the telecom industry)
Artificial Intelligence (and the telecom industry)Artificial Intelligence (and the telecom industry)
Artificial Intelligence (and the telecom industry)Samuel Dratwa
 
FreddyAyalaTorchDomineering
FreddyAyalaTorchDomineeringFreddyAyalaTorchDomineering
FreddyAyalaTorchDomineeringFAYALA1987
 
introduction to deeplearning
introduction to deeplearningintroduction to deeplearning
introduction to deeplearningEyad Alshami
 
Transfer Learning _ Monk AI _ GCOEN.pptx
Transfer Learning _ Monk AI _ GCOEN.pptxTransfer Learning _ Monk AI _ GCOEN.pptx
Transfer Learning _ Monk AI _ GCOEN.pptxGDSCGCOEN
 
[PR12] Inception and Xception - Jaejun Yoo
[PR12] Inception and Xception - Jaejun Yoo[PR12] Inception and Xception - Jaejun Yoo
[PR12] Inception and Xception - Jaejun YooJaeJun Yoo
 
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...inside-BigData.com
 
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!Bruno Capuano
 
Deep learning: Cutting through the Myths and Hype
Deep learning: Cutting through the Myths and HypeDeep learning: Cutting through the Myths and Hype
Deep learning: Cutting through the Myths and HypeSiby Jose Plathottam
 
Deep Dive on Deep Learning (June 2018)
Deep Dive on Deep Learning (June 2018)Deep Dive on Deep Learning (June 2018)
Deep Dive on Deep Learning (June 2018)Julien SIMON
 
Artificial Intelligence for Undergrads
Artificial Intelligence for UndergradsArtificial Intelligence for Undergrads
Artificial Intelligence for UndergradsJose Berengueres
 

Semelhante a Intro to Deep Learning w/ Clojure (20)

Getting Started with Machine Learning
Getting Started with Machine LearningGetting Started with Machine Learning
Getting Started with Machine Learning
 
How machine learning is changing the world
How machine learning is changing the worldHow machine learning is changing the world
How machine learning is changing the world
 
How DeepMind Mastered The Game Of Go
How DeepMind Mastered The Game Of GoHow DeepMind Mastered The Game Of Go
How DeepMind Mastered The Game Of Go
 
BWB Meetup: Storm - distributed realtime computation system
BWB Meetup: Storm - distributed realtime computation systemBWB Meetup: Storm - distributed realtime computation system
BWB Meetup: Storm - distributed realtime computation system
 
Deep Learning Demystified
Deep Learning DemystifiedDeep Learning Demystified
Deep Learning Demystified
 
Neural Nets Deconstructed
Neural Nets DeconstructedNeural Nets Deconstructed
Neural Nets Deconstructed
 
Artificial Intelligence (and the telecom industry)
Artificial Intelligence (and the telecom industry)Artificial Intelligence (and the telecom industry)
Artificial Intelligence (and the telecom industry)
 
FreddyAyalaTorchDomineering
FreddyAyalaTorchDomineeringFreddyAyalaTorchDomineering
FreddyAyalaTorchDomineering
 
introduction to deeplearning
introduction to deeplearningintroduction to deeplearning
introduction to deeplearning
 
Transfer Learning _ Monk AI _ GCOEN.pptx
Transfer Learning _ Monk AI _ GCOEN.pptxTransfer Learning _ Monk AI _ GCOEN.pptx
Transfer Learning _ Monk AI _ GCOEN.pptx
 
[PR12] Inception and Xception - Jaejun Yoo
[PR12] Inception and Xception - Jaejun Yoo[PR12] Inception and Xception - Jaejun Yoo
[PR12] Inception and Xception - Jaejun Yoo
 
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...
State-Of-The Art Machine Learning Algorithms and How They Are Affected By Nea...
 
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
2019 05 11 Chicago Codecamp - Deep Learning for everyone? Challenge Accepted!
 
Deep learning: Cutting through the Myths and Hype
Deep learning: Cutting through the Myths and HypeDeep learning: Cutting through the Myths and Hype
Deep learning: Cutting through the Myths and Hype
 
Deep Dive on Deep Learning (June 2018)
Deep Dive on Deep Learning (June 2018)Deep Dive on Deep Learning (June 2018)
Deep Dive on Deep Learning (June 2018)
 
Machine Learning @NECST
Machine Learning @NECSTMachine Learning @NECST
Machine Learning @NECST
 
Introduction to deep learning
Introduction to deep learningIntroduction to deep learning
Introduction to deep learning
 
Sneaky computation
Sneaky computationSneaky computation
Sneaky computation
 
Artificial Intelligence for Undergrads
Artificial Intelligence for UndergradsArtificial Intelligence for Undergrads
Artificial Intelligence for Undergrads
 
Introduction to Apache Storm
Introduction to Apache StormIntroduction to Apache Storm
Introduction to Apache Storm
 

Último

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Intro to Deep Learning w/ Clojure

  • 1. Intro to Deep Learning w/ Clojure It’s Difficult to Make Predictions. Especially About the Future. @JulioBarros Consultant E-String.com @JulioBarros http://E-String.com 1
  • 2. Hypothesis Given that Python dominates ML/DL; Is there a valid use case for Clojure? TL;DR --It depends @JulioBarros http://E-String.com 2
  • 3. I Hope So ...and I'm not the only one. @JulioBarros http://E-String.com 3
  • 4. Hype or Reality? @JulioBarros http://E-String.com 4
  • 5. "It is a renaissance, it is a golden age," "MachinelearningandAIisahorizontalenablinglayer.Itwillempowerand improveeverybusiness,everygovernmentorganization,everyphilanthropy —basicallythere'snoinstitutionintheworldthatcannotbeimprovedwith machinelearning." —Bezos @JulioBarros http://E-String.com 5
  • 6. Every industry can expect to be transformed by Artificial Intelligence @JulioBarros http://E-String.com 6
  • 7. Image Classification Justin Johnson,Andrej Karpathy,Li Fei-Fei-Stanford @JulioBarros http://E-String.com 7
  • 8. My dog Rex @JulioBarros http://E-String.com 8
  • 12. Healthcare Near or better than human level performance. @JulioBarros http://E-String.com 12
  • 13. Business — Law & Finance — Text,audio,image,video understanding — Churn prediction,customer segmentation — Product recommendations — Manufacturing,maintenance and control — Many many more @JulioBarros http://E-String.com 13
  • 14. Artificial Intelligence Artificial Intelligence (AI)-the study of"intelligent agents".Reasoning, knowledge representation,planning,robotics,etc. — Artificial Narrow Intelligence (ANI) — Artificial General Intelligence (AGI) — Artificial Superintelligence (ASI) @JulioBarros http://E-String.com 14
  • 15. Machine Learning Machine Learning (ML)-Programs that learn from the data and make predictions. @JulioBarros http://E-String.com 15
  • 16. Types of prediction Regression-continuous values Classification-discreet values/labels @JulioBarros http://E-String.com 16
  • 17. Types of ML Algorithms Supervised-trained on labeled data (regression or classification). Unsupervised-trained on unlabeled data (clustering,segmentation). Reinforcement-learns based on outcomes/results of actions. @JulioBarros http://E-String.com 17
  • 18. Deep Learning Deep Learning (DL)-ML/AIusingartificialneuralnetworks(ANNs) You might be thinking... What?Isn'tthatjustaneuralnet? Didn'tweshowthosedon'twork. Twice. @JulioBarros http://E-String.com 18
  • 19. Third time is a charm Capabilities of neural nets have changed dramatically due to advancements in: — Data — Algorithms — Hardware @JulioBarros http://E-String.com 19
  • 20. Neurons: Biologically inspired 1942 McCulloch and Pitts 1957 Rosenblatt (A (+ b (apply + (map * x w))) @JulioBarros http://E-String.com 20
  • 21. Activation Function Introduces non linearity — Historicaly: Identity,Step,Tanh,Sigmoid — Currently: Rectified linear Unit (relu),Softmax @JulioBarros http://E-String.com 21
  • 22. Universal Approximation Theorem (1989) ...a feed-forward network with a single hidden layer containing a finite number of neurons can approximate continuous functions... @JulioBarros http://E-String.com 22
  • 23. Deep Neural Nets A net with more than one hidden layer. @JulioBarros http://E-String.com 23
  • 26. Training 1) Initialize weights randomly 2) Make prediction 3) Measure error (loss) 4) Adjust weights in the right direction 5) GOTO 2 Repeat over and over and over again with your training data @JulioBarros http://E-String.com 26
  • 27. Backpropagation Finding the right direction. @JulioBarros http://E-String.com 27
  • 28. Backpropagation To know the right direction calculate the gradient of the loss function with respect to each weight.Multiply by the error and a learning rate to get the delta. Don'tworry.Thelibrariesdoitforyou. @JulioBarros http://E-String.com 28
  • 29. Millions of Knobs Parameters @JulioBarros http://E-String.com 29
  • 30. A Simple Neural Net in Cortex (def network-architecture [(layers/input 11 1 1 :id :x) (layers/linear 64) (layers/relu) (layers/linear 1 :id :y)]) @JulioBarros http://E-String.com 30
  • 31. Wine Quality Data 11 features,1 target column @JulioBarros http://E-String.com 31
  • 32. UCI Machine Learning Repository https://archive.ics.uci.edu/ml/datasets/Wine+Quality Source: Paulo Cortez, University of Minho, Guimarães, Portugal, http://www3.dsi.uminho.pt/pcortez A.Cerdeira, F.Almeida, T.Matos and J.Reis, Viticulture Commission of the Vinho Verde Region(CVRVV), Porto, Portugal @2009 @JulioBarros http://E-String.com 32
  • 33. Normalized / Scaled data (Standardized) @JulioBarros http://E-String.com 33
  • 35. How Do We Work With Images Well,images are just numbers/data. Though numbers close to each other are more related. @JulioBarros http://E-String.com 35
  • 36. Convolutional Layers Similar to correlations from signal processing or filters from photoshop. A small NxN filter is slid over and convolved/correlated with the image. Learns to find features. Then lower level features are combined into higher level features. @JulioBarros http://E-String.com 36
  • 37. Common Types of Layers — input / output — fully connected (dense) — activation-relu,softmax — convolutional — maxpool — flatten — drop out @JulioBarros http://E-String.com 37
  • 38. Types of ANN 1. Dense Neural Net (DNN) 2. Convolutional Neural Net (CNN) 3. Recurrent Neural Net (RNN) 4. Everything else @JulioBarros http://E-String.com 38
  • 39. Programming Abstractions Level Python CLJ/JVM DSL/API Keras,Lasagne,TF-Slim Cortex,??? Computation Graph, Backprop,Autograd Tensorflow,Theano, Torch,Pytorch,Caffe, MXNet,CNTK Cortex,dl4j,Java bindings Matrix Math CUDA (cuDNN),Eigen3 Neandertal, core.matrix,vectorz-clj @JulioBarros http://E-String.com 39
  • 40. Production Considerations — Target hardware environment — GPU(s) — Powerful multicore server — Mobile device — Embedded — Desired latency / scalability — Data pipeline — Software engineering practices @JulioBarros http://E-String.com 40
  • 41. Don't Underestimate the Last Two We need to consider running and maintaining the models in production. @JulioBarros http://E-String.com 41
  • 42. Approaches — Python based environment — Clojure based environment — Generate C++ binaries — API calls to third party — API calls to microservices @JulioBarros http://E-String.com 42
  • 43. Challenges with DL — Needs lots of data.Labeled data is expensive. — Lacks explain-ability — Performance requirements-training and inference — Max performance unclear — Best architecture unclear @JulioBarros http://E-String.com 43
  • 44. Benefits of DL — Handles much of the feature engineering — Handles complex (non linear) problems — Advancements coming quickly @JulioBarros http://E-String.com 44
  • 45. Recommendations Do not be intimidated by ANNs or the math. Start with Keras (and Tensorflow or Theano) tutorials (or maybe Pytorch). Later choose language/framework as needs dictate. @JulioBarros http://E-String.com 45
  • 46. Resources Andrew Ng's Coursera Course and Fast.AI Mooc Deep Learning Book-Goodfellow,Bengio and Courville Meetups -Portland-Data-Science-Group -Portland-Machine-Learning-Meetup -Portland-Deep-Learning @JulioBarros http://E-String.com 46