SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Mind The Gap: Java, Machine Learning, and Beyond
ING Backend Guild
Richard Abbuhl / Freelancer / ING
Technology Meetup • 17 May 2018
1. Introduction - Richard
2. Mind The Gap
3. Sample Problem - Multiple Journeys
4. Ideal World - Java & Machine Learning
5. Real World - Java & Machine Learning
6. Fix The Gap
7. And Beyond
8. Questions
2
Agenda
• Java / Microservices back-end, Angular / Polymer front-end, Java, Javascript, (Fortran, C,
C++, Ada)
• Java / Machine Learning (Education/Interest), https://github.com/richardabbuhl/jmentor
(back-propagation and reinforcement learning)
• Love the hype.
• What’s AI done for you?
Introduction - Richard
3
Mind The Gap - Conferences
4
Conference Talks about Java?
Conference Talks about Machine Learning?
Conference Talks about Java and Machine
Learning?
Mind The Gap – Platforms & Learning
5
Machine Learning Platforms: TensorFlow,
Spark, etc.
MOOC sites: Coursera, Edx, etc.
Technology book sites: Safari, etc.
Lots of focus on Python, R, and Scala!!
Sample Problem - Multiple Journeys
6
Sample Problem - Multiple Journeys
7
Sample Problem – Multiple Journeys
8
Customers may want to have own
customer journey
Use machine learning to figure out which
journey to present
Start Step1 Step2 Step3 Step4 Done
Start Step1 Step4 Done
Start Step4 Step3 Step2 Step1 Done
Sample Problem- Multiple Journeys
9
Train the customer
journey model
Deploy the customer
journey model
Use the customer
journey model to
decide which journey
to present to the user
In your microservice:
public class CustomerJourneyService {
public String getCustomerJourney(Customer customer) {
Model model = Model.loadModel(CUSTOMER_JOURNEY);
CustomerProfile profile = Customer.getProfile(customer);
return model.evalulate(profile);
}
}
Ideal World – Java & Machine Learning
10
Machine learning in the JDK (v15?)
- Machine Learning API
- Supports model training
- Supports model deployment
- Cloud support
- Note: JSR for ML?
Ideal World - Java & Machine Learning
11
Spring Framework:
- Already has connectors to cloud data, etc.
- Spring Machine learning API?
- Generic connectors to TensorFlow, DL4J,
Azure ML, Apache Spark?
- Cloud and Machine Learning go hand-in-
hand
- Note: Spring Boot, Spring Cloud
Ideal World - Java & Machine Learning
12
Real World - Languages
13
Most Popular Languages by Occupation
https://insights.stackoverflow.com/survey/2017#technologies-and-occupations
Real World - Learning Machine Learning
14
Where Language Course Description
Big Data University Python, R, and Scala Various Courses
Coursera Python and TensorFlow Deep Learning Specialization
Coursera Scala and Spark Big Data Analysis with Scala and Spark,
Ecole Polytechnique Lausanne
Data Camp R and Python Various Courses
Edx Python Data Science,
HarvardX
Edx Python Microsoft Professional Program in Artificial Intelligence
Edx Python Berkeley Foundations of Data Science
Edx Python UCSD Machine Learning Fundamentals
Future Learn R Advanced Machine Learning
Udacity Python Deep Learning Nanodegree
Overview:
- Popular Machine Learning Library – used to implement AlphaGo
- Requires some learning
- Lots of training material
- Supports Python, C++, Java, and Go
- Java: The Java API is currently experimental and is not covered by
TensorFlow API stability guarantees.
- Javascript: A new library is available for machine learning in the
browser
- Note: tools versus solutions
https://web.stanford.edu/~surag/posts/alphazero.html
https://github.com/suragnair/alpha-zero-general
Real World - TensorFlow
15
Overview:
- Buy a good book or two on Machine Learning
- Create your own Java deep-learning library
- Yeah, right?
https://github.com/richardabbuhl/jmentor
Real World - Code You Own Solution
16
Overview:
- Popular Java Machine Learning Library
- Wide support for deep learning algorithms
- Parallel versions integrate with Hadoop and Spark
- Java: Yes!
- Languages: Java, Scala, Python & Clorjure
- Note: great for Java developers
Real World - DeepLearning4J
17
Overview
- Oracle Machine Learning
- Oracle Data Mining
- Oracle Advanced Analytics
- Languages: mostly SQL
- Oracle Replaces JavaOne with Oracle
Code One
Real World - Oracle Machine Learning
18
Overview:
- Another Popular Machine Learning Library
- Requires some learning
- Lots of training material
- Supports Java, Scala, Python, and R
- Java: a well-documented API
- Note: MLlib great for Java developers
Real World - Apache Spark
19
Overview:
- Another Popular Machine Learning Library
- Written in C++
- Requires some learning
- Lots of training material
- Supports Python, C++
- Java: external library available on GitHub
- Note: FB
- https://facebook.ai
Real World - Caffe2
20
Overview:
- Another Machine Learning Library
- Lots, lots of documentation
- Supports web services for Machine Learning
- Languages: Java, .Net, Python, PHP, Javascript,
Ruby
- Java: programmatic access to Amazon Machine
Learning (AWS SDK for Java)
- Create and manage Amazon Machine Learning
entities using the AWS Command Line Interface
(CLI) available on Windows, Mac, and Linux/UNIX
systems.
Real World - Amazon Machine Learning
21
Overview:
- Yet Another Machine Learning Library
- Lots, lots of documentation
- Supports web services for Machine Learning
- Languages: .NET, Python, R, Java, etc
- Java: Azure Machine Learning Web Services are
RESTful APIs.
Real World - Azure Machine Learning
22
Overview:
- Yet Another Machine Learning Library
- Lots of documentation
- Supports REST API
- Languages: Python
- Java: IBM Watson Developer Cloud Java SDK
Real World - IBM Watson
23
My plan:
- Install and learn TensorFlow
- Install and learn DeepLearning4j
- Code and update my own Java
library jmentor
- Try the TensorFlow Javascript
library
- Learn Python, R, and Scala
What works for you?
Fix The Gap
24
Process Solution Company Description
Software coding Teach kids creativity. Ultimately,
machines will be better at
coding (April 9, 2018)
Pair programming
Pair programming (Python)
Various
Tom Hulme, GV, venture
capital arm of Google parent
Alphabet, wired.co.uk article.
Codota,
Kite,
OpenAI, MIT, DeepMind
Deep machine learning will likely automate the
writing of code relatively quickly.
Software Debugging AI Commit Assistant Ubisoft Goal of the AI system is to catch bugs before they're
ever committed into code
Software Testing Automatic Test Generation
Automatic Test Generation
Diffblue,
Applitools
Takes current repo, adds missing coverage,
exception tests, etc.
Software Design ? ? ?
Scrum team structure Selecting Directors Using
Machine Learning (March 19,
2018)
Erel, Isil and Stern, Lea Henny
and Tan, Chenhao and
Weisbach, Michael S.
Fisher College of Business Working Paper No. 2018-
03-005.
Scrum team structure Squad size ING SCRUM coach wants to use SNOW data and machine
learning to predict the optimal squad size
Scrum Planning ? ? ?
Scrum Retrospective ? ? ?
And Beyond - Java & Machine Learning
25
Thank you, any questions?

Contenu connexe

Similaire à ING - Mind the Gap

Apache-Flink-What-How-Why-Who-Where-by-Slim-Baltagi
Apache-Flink-What-How-Why-Who-Where-by-Slim-BaltagiApache-Flink-What-How-Why-Who-Where-by-Slim-Baltagi
Apache-Flink-What-How-Why-Who-Where-by-Slim-BaltagiSlim Baltagi
 
AI and Spark - IBM Community AI Day
AI and Spark - IBM Community AI DayAI and Spark - IBM Community AI Day
AI and Spark - IBM Community AI DayNick Pentreath
 
Deep Learning for Java Developer - Getting Started
Deep Learning for Java Developer - Getting StartedDeep Learning for Java Developer - Getting Started
Deep Learning for Java Developer - Getting StartedSuyash Joshi
 
How to integrate python into a scala stack
How to integrate python into a scala stackHow to integrate python into a scala stack
How to integrate python into a scala stackFliptop
 
Machine Learning Platform in LINE Fukuoka
Machine Learning Platform in LINE FukuokaMachine Learning Platform in LINE Fukuoka
Machine Learning Platform in LINE FukuokaLINE Corporation
 
H2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneH2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneJo-fai Chow
 
2015 Data Science Summit @ dato Review
2015 Data Science Summit @ dato Review2015 Data Science Summit @ dato Review
2015 Data Science Summit @ dato ReviewHang Li
 
Apache Spark for Everyone - Women Who Code Workshop
Apache Spark for Everyone - Women Who Code WorkshopApache Spark for Everyone - Women Who Code Workshop
Apache Spark for Everyone - Women Who Code WorkshopAmanda Casari
 
ApacheCon 2021 Apache Deep Learning 302
ApacheCon 2021   Apache Deep Learning 302ApacheCon 2021   Apache Deep Learning 302
ApacheCon 2021 Apache Deep Learning 302Timothy Spann
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHPEric Johnson
 
Why scala for data science
Why scala for data scienceWhy scala for data science
Why scala for data scienceGuglielmo Iozzia
 
Data Science at Scale: Using Apache Spark for Data Science at Bitly
Data Science at Scale: Using Apache Spark for Data Science at BitlyData Science at Scale: Using Apache Spark for Data Science at Bitly
Data Science at Scale: Using Apache Spark for Data Science at BitlySarah Guido
 
sopac : connecting koha and drupal
sopac : connecting koha and drupalsopac : connecting koha and drupal
sopac : connecting koha and drupalNicolas Morin
 
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Michael Rys
 
New-Age Search through Apache Solr
New-Age Search through Apache SolrNew-Age Search through Apache Solr
New-Age Search through Apache SolrEdureka!
 
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)Jason Dai
 

Similaire à ING - Mind the Gap (20)

Apache-Flink-What-How-Why-Who-Where-by-Slim-Baltagi
Apache-Flink-What-How-Why-Who-Where-by-Slim-BaltagiApache-Flink-What-How-Why-Who-Where-by-Slim-Baltagi
Apache-Flink-What-How-Why-Who-Where-by-Slim-Baltagi
 
AI and Spark - IBM Community AI Day
AI and Spark - IBM Community AI DayAI and Spark - IBM Community AI Day
AI and Spark - IBM Community AI Day
 
Deep Learning for Java Developer - Getting Started
Deep Learning for Java Developer - Getting StartedDeep Learning for Java Developer - Getting Started
Deep Learning for Java Developer - Getting Started
 
eScience Cluster Arch. Overview
eScience Cluster Arch. OvervieweScience Cluster Arch. Overview
eScience Cluster Arch. Overview
 
How to integrate python into a scala stack
How to integrate python into a scala stackHow to integrate python into a scala stack
How to integrate python into a scala stack
 
Machine Learning Platform in LINE Fukuoka
Machine Learning Platform in LINE FukuokaMachine Learning Platform in LINE Fukuoka
Machine Learning Platform in LINE Fukuoka
 
H2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneH2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to Everyone
 
2015 Data Science Summit @ dato Review
2015 Data Science Summit @ dato Review2015 Data Science Summit @ dato Review
2015 Data Science Summit @ dato Review
 
Ruby - The Hard Bits
Ruby - The Hard BitsRuby - The Hard Bits
Ruby - The Hard Bits
 
Apache Spark for Everyone - Women Who Code Workshop
Apache Spark for Everyone - Women Who Code WorkshopApache Spark for Everyone - Women Who Code Workshop
Apache Spark for Everyone - Women Who Code Workshop
 
ApacheCon 2021 Apache Deep Learning 302
ApacheCon 2021   Apache Deep Learning 302ApacheCon 2021   Apache Deep Learning 302
ApacheCon 2021 Apache Deep Learning 302
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
 
Why scala for data science
Why scala for data scienceWhy scala for data science
Why scala for data science
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
Data Science at Scale: Using Apache Spark for Data Science at Bitly
Data Science at Scale: Using Apache Spark for Data Science at BitlyData Science at Scale: Using Apache Spark for Data Science at Bitly
Data Science at Scale: Using Apache Spark for Data Science at Bitly
 
sopac : connecting koha and drupal
sopac : connecting koha and drupalsopac : connecting koha and drupal
sopac : connecting koha and drupal
 
Distributed Deep Learning on Hadoop Clusters
Distributed Deep Learning on Hadoop ClustersDistributed Deep Learning on Hadoop Clusters
Distributed Deep Learning on Hadoop Clusters
 
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
 
New-Age Search through Apache Solr
New-Age Search through Apache SolrNew-Age Search through Apache Solr
New-Age Search through Apache Solr
 
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
 

Dernier

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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 

Dernier (20)

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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

ING - Mind the Gap

  • 1. Mind The Gap: Java, Machine Learning, and Beyond ING Backend Guild Richard Abbuhl / Freelancer / ING Technology Meetup • 17 May 2018
  • 2. 1. Introduction - Richard 2. Mind The Gap 3. Sample Problem - Multiple Journeys 4. Ideal World - Java & Machine Learning 5. Real World - Java & Machine Learning 6. Fix The Gap 7. And Beyond 8. Questions 2 Agenda
  • 3. • Java / Microservices back-end, Angular / Polymer front-end, Java, Javascript, (Fortran, C, C++, Ada) • Java / Machine Learning (Education/Interest), https://github.com/richardabbuhl/jmentor (back-propagation and reinforcement learning) • Love the hype. • What’s AI done for you? Introduction - Richard 3
  • 4. Mind The Gap - Conferences 4 Conference Talks about Java? Conference Talks about Machine Learning? Conference Talks about Java and Machine Learning?
  • 5. Mind The Gap – Platforms & Learning 5 Machine Learning Platforms: TensorFlow, Spark, etc. MOOC sites: Coursera, Edx, etc. Technology book sites: Safari, etc. Lots of focus on Python, R, and Scala!!
  • 6. Sample Problem - Multiple Journeys 6
  • 7. Sample Problem - Multiple Journeys 7
  • 8. Sample Problem – Multiple Journeys 8 Customers may want to have own customer journey Use machine learning to figure out which journey to present Start Step1 Step2 Step3 Step4 Done Start Step1 Step4 Done Start Step4 Step3 Step2 Step1 Done
  • 9. Sample Problem- Multiple Journeys 9 Train the customer journey model Deploy the customer journey model Use the customer journey model to decide which journey to present to the user
  • 10. In your microservice: public class CustomerJourneyService { public String getCustomerJourney(Customer customer) { Model model = Model.loadModel(CUSTOMER_JOURNEY); CustomerProfile profile = Customer.getProfile(customer); return model.evalulate(profile); } } Ideal World – Java & Machine Learning 10
  • 11. Machine learning in the JDK (v15?) - Machine Learning API - Supports model training - Supports model deployment - Cloud support - Note: JSR for ML? Ideal World - Java & Machine Learning 11
  • 12. Spring Framework: - Already has connectors to cloud data, etc. - Spring Machine learning API? - Generic connectors to TensorFlow, DL4J, Azure ML, Apache Spark? - Cloud and Machine Learning go hand-in- hand - Note: Spring Boot, Spring Cloud Ideal World - Java & Machine Learning 12
  • 13. Real World - Languages 13 Most Popular Languages by Occupation https://insights.stackoverflow.com/survey/2017#technologies-and-occupations
  • 14. Real World - Learning Machine Learning 14 Where Language Course Description Big Data University Python, R, and Scala Various Courses Coursera Python and TensorFlow Deep Learning Specialization Coursera Scala and Spark Big Data Analysis with Scala and Spark, Ecole Polytechnique Lausanne Data Camp R and Python Various Courses Edx Python Data Science, HarvardX Edx Python Microsoft Professional Program in Artificial Intelligence Edx Python Berkeley Foundations of Data Science Edx Python UCSD Machine Learning Fundamentals Future Learn R Advanced Machine Learning Udacity Python Deep Learning Nanodegree
  • 15. Overview: - Popular Machine Learning Library – used to implement AlphaGo - Requires some learning - Lots of training material - Supports Python, C++, Java, and Go - Java: The Java API is currently experimental and is not covered by TensorFlow API stability guarantees. - Javascript: A new library is available for machine learning in the browser - Note: tools versus solutions https://web.stanford.edu/~surag/posts/alphazero.html https://github.com/suragnair/alpha-zero-general Real World - TensorFlow 15
  • 16. Overview: - Buy a good book or two on Machine Learning - Create your own Java deep-learning library - Yeah, right? https://github.com/richardabbuhl/jmentor Real World - Code You Own Solution 16
  • 17. Overview: - Popular Java Machine Learning Library - Wide support for deep learning algorithms - Parallel versions integrate with Hadoop and Spark - Java: Yes! - Languages: Java, Scala, Python & Clorjure - Note: great for Java developers Real World - DeepLearning4J 17
  • 18. Overview - Oracle Machine Learning - Oracle Data Mining - Oracle Advanced Analytics - Languages: mostly SQL - Oracle Replaces JavaOne with Oracle Code One Real World - Oracle Machine Learning 18
  • 19. Overview: - Another Popular Machine Learning Library - Requires some learning - Lots of training material - Supports Java, Scala, Python, and R - Java: a well-documented API - Note: MLlib great for Java developers Real World - Apache Spark 19
  • 20. Overview: - Another Popular Machine Learning Library - Written in C++ - Requires some learning - Lots of training material - Supports Python, C++ - Java: external library available on GitHub - Note: FB - https://facebook.ai Real World - Caffe2 20
  • 21. Overview: - Another Machine Learning Library - Lots, lots of documentation - Supports web services for Machine Learning - Languages: Java, .Net, Python, PHP, Javascript, Ruby - Java: programmatic access to Amazon Machine Learning (AWS SDK for Java) - Create and manage Amazon Machine Learning entities using the AWS Command Line Interface (CLI) available on Windows, Mac, and Linux/UNIX systems. Real World - Amazon Machine Learning 21
  • 22. Overview: - Yet Another Machine Learning Library - Lots, lots of documentation - Supports web services for Machine Learning - Languages: .NET, Python, R, Java, etc - Java: Azure Machine Learning Web Services are RESTful APIs. Real World - Azure Machine Learning 22
  • 23. Overview: - Yet Another Machine Learning Library - Lots of documentation - Supports REST API - Languages: Python - Java: IBM Watson Developer Cloud Java SDK Real World - IBM Watson 23
  • 24. My plan: - Install and learn TensorFlow - Install and learn DeepLearning4j - Code and update my own Java library jmentor - Try the TensorFlow Javascript library - Learn Python, R, and Scala What works for you? Fix The Gap 24
  • 25. Process Solution Company Description Software coding Teach kids creativity. Ultimately, machines will be better at coding (April 9, 2018) Pair programming Pair programming (Python) Various Tom Hulme, GV, venture capital arm of Google parent Alphabet, wired.co.uk article. Codota, Kite, OpenAI, MIT, DeepMind Deep machine learning will likely automate the writing of code relatively quickly. Software Debugging AI Commit Assistant Ubisoft Goal of the AI system is to catch bugs before they're ever committed into code Software Testing Automatic Test Generation Automatic Test Generation Diffblue, Applitools Takes current repo, adds missing coverage, exception tests, etc. Software Design ? ? ? Scrum team structure Selecting Directors Using Machine Learning (March 19, 2018) Erel, Isil and Stern, Lea Henny and Tan, Chenhao and Weisbach, Michael S. Fisher College of Business Working Paper No. 2018- 03-005. Scrum team structure Squad size ING SCRUM coach wants to use SNOW data and machine learning to predict the optimal squad size Scrum Planning ? ? ? Scrum Retrospective ? ? ? And Beyond - Java & Machine Learning 25
  • 26. Thank you, any questions?