Housekeeping Items
#devfestph19 @nerdCyberArtist
@gdgcloudph
You Can Jot Them
Down
Slide 5
Slide 5 text
What to Expect from This Prezzy?
High-level overview of Machine Learning
Why you would need ML as a developer
ML resources, best practices, tools, platforms, and frameworks for
developers.
Demo session on using ML for developers (time-constrained) [OPTIONAL]
Link to the slides for the prezzy.
Slide 6
Slide 6 text
Machine Learning
why, what, how
Slide 7
Slide 7 text
Why Machine Learning
Input
What is the biggest
dessert in the world?
ML Software
Learns from the input; in
this case, infers ‘desert’
instead of ‘dessert’.
Output
“Antarctic Desert”
To deal with the complexity and uncertainty of the users of our products…
For example;
Slide 8
Slide 8 text
Before Defining ML, Let
Me State What it is
NOT…
Slide 9
Slide 9 text
No be “Juju”
Cannot magically solve all problems
you throw at it.
No be “Terminator” No be “job snatcher”
Does not have what it takes to take
over the world and hold it captive.
Can only take on repetitive tasks that
are in jobs rather than full jobs
themselves.
Slide 10
Slide 10 text
What ML IS…
Slide 11
Slide 11 text
Let’s first think about how
we learn, as humans…
Slide 12
Slide 12 text
ML is simply computers using data to answer
questions.
Machine Learning
Model
(Or Algorithm).
Machine Learning
Generated
Answers.
Slide 13
Slide 13 text
How ML “Learns”?
Slide 14
Slide 14 text
Input Output
“Bole”
Recognizes and learns the patterns
that are common across and
associate the inputs.
A lot of Bole images taken at
varying angles and in varying
styles.
Learns the feature common across
each and every image, and how
they associate with each other.
Can recognize entirely new Bole
images it hasn’t learnt about before
and tag them “Bole”.
•Text
•Number
•Audio
•Videos
•Images
Slide 15
Slide 15 text
Machine Learning is All Around You…
Virtual Assistants; Siri, Cortana,
Google Assistant, Alexa…
Recommendation Systems;
YouTube, Netflix, Twitter, Facebook…
Search engine results;
Google search, Bing…
Slide 16
Slide 16 text
ML has been around for a while. It became better,
because…
Big
Data
Better
Computing
Infrastructure
Improved
Learning
Algorithms
Accessible
Tools &
Frameworks
Slide 17
Slide 17 text
Why ML for Developers?
Slide 18
Slide 18 text
Contrast in Workflows Between
Traditional Programming and
Machine Learning…
Slide 19
Slide 19 text
Requirements
Engineering
Design Implementation
(Write rules)
Verification
And
Validation
Production/
Maintenance
Traditional Software Engineering Typical
Workflow
Slide 20
Slide 20 text
Requirements
Engineering
Design
(Get Data and
preprocess it)
Implementation
(Learning Algorithm; ML
Model)
Evaluation
And
Fine-tuning
Outputs
Production
(Continuous
monitoring &
Maintenance)
Machine Learning Engineering Typical
Workflow
Machine Learning
Slide 21
Slide 21 text
Requirements for a Typical Machine Learning Engr./Dev
Mathematics
Statistics
Coding
Skills
Python, R, Julia
Software
Engineering
Principles, tools, and best practices
.
Slide 22
Slide 22 text
Scenarios You Would Probably
Need ML, as A Developer…
Slide 23
Slide 23 text
Scenario 1
Boss asks “Hey, so we have a
bunch of data on customer
transactions. Can you help us
build a model that can predict
which of our customers will buy
our products? Easy, right?”
One-off Model
Slide 24
Slide 24 text
Scenario 2
PM: “Hey, so we are building this
software and I think this facial
recognition feature would be too
complex for us to program by
rules. You could embed some ML
into the software so we won’t
have to kill ourselves, yes?”
Embedded Model
Slide 25
Slide 25 text
Scenario 3
Boss: “Hey, so we noticed that this
Machine Learning is the next
software revolution. We kind off
want you to become a full-time ML
engineer for the company’s new AI
division. Too much to ask?”
Full-time Beast Model
Slide 26
Slide 26 text
Most Common ML Tools and
Frameworks for
Developers…
Slide 27
Slide 27 text
Frameworks/Libraries
1. TensorFlow
▪ TensorFlow APIs
▪ TensorFlow.js
▪ TensorFlow Lite
3. Scikit-Learn
2. Keras
1. Google ML Tool Kit
2. iOS CoreML
4. Weka
4. Apache Spark ML Lib
5. MLflow 5. AWS ML APIs
Tools
3. Google Cloud ML APIs
Slide 28
Slide 28 text
Cloud/Serverless ML Platforms
1. Microsoft Azure ML Studio
2. Google Cloud AutoML
3. Google BigQueryML
5. Amazon AI/SageMaker
4. Google Cloud AI Platform
Slide 29
Slide 29 text
An Important ML Methodology
for Developers...
Slide 30
Slide 30 text
Transfer Learning: an algorithm transferring the knowledge
of a particular problem to another algorithm.
Basically...
Slide 31
Slide 31 text
Transfer Learning
The intuition
behind it
How it works...
When to Use it, as
a developer...
Slide 32
Slide 32 text
Constraints for Using ML for Developers…
You need *lots* of data and compute infrastructure to get it to
work quite well.
It is quite difficult to operationalize ML software and get
them to production, they break drastically if not monitored.
It is a rapidly evolving field, new tools and techniques
are emerging almost every time. It’s hard to keep up.
Need to explain results and data privacy of the
software becomes extremely important for the
developers.
Slide 33
Slide 33 text
Important ML Notes to Consider…
1. Machine Learning is way more than just the tools.
2. ML models must be built responsibly.
3. ML solutions need to be iteratively monitored and
updated.
4. MLOps (Machine Learning operationalization) is possible.
5. Explainability and data privacy are extremely important ML
practices.
Credits: Jade Abbott (@alienelf)
Slide 34
Slide 34 text
Another Important Point to Note as a Developer...
To get it to work for your product users, it still needs to
integrate with other existing solutions like your;
● Mobile applications,
● Website or web applications,
● IoT or Edge devices.
Machine Learning isn’t always stand-alone solution for your
users!!!
Slide 35
Slide 35 text
Uhm.. Steve, So Should I learn ML
as a Developer?
As a developer, if there is no absolute
requirement for you to learn it, then you
should not. Treat ML as a set of tools.
Like any other tool, be aware of the
problems it can solve and those it
cannot.
Slide 36
Slide 36 text
To Conclude…
Slide 37
Slide 37 text
ML is about helping algorithms
understand our problems, and
then take the most efficient
steps to solve the
problems—this is the new age
of software where systems are
smart and adaptable to the
complex world around us.
Slide 38
Slide 38 text
Where to Learn More?
Google Machine Learning Crash Course
Google Cloud AI Hub
Microsoft Azure Machine Learning
TensorFlow Learning Hub
AWS Machine Learning University
Fast.ai
Need hands-on practice? Use Developers’ Codelabs
ML Terminologies & and
Glossaries.
Slide 39
Slide 39 text
THANKS FOR ATTENDING!
@nerdCyberArtist
https://www.linkedin.com/in/
stephenoladele/
[email protected]
Stephen F. Oladele
Click Me to View Slides