Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Gentle Introduction to Deep Learning for Developers at Abstractions

A Gentle Introduction to Deep Learning for Developers at Abstractions

Like flying cars, the promise of artificial general intelligence (AGI) has been elusive for years. We are a long ways out from machines that can perform intellectual tasks equivalent to that of a human. Deep learning, a subset of machine learning, is a technology available today which enables developers to add narrow artificial intelligence (AI) capabilities to their applications including image or audio classification, facial recognition, object recognition, image caption generation, and natural language processing. We'll explore how developers can integrate pre-trained open source deep learning models into their applications and how developers and data scientists can collaborate on the development, training, and deployment of deep learning models.

Bradley Holt

August 21, 2019
Tweet

More Decks by Bradley Holt

Other Decks in Technology

Transcript

  1. A Gentle Introduction
    to Deep Learning
    for Developers

    Bradley Holt
    Program Manager, Developer Advocacy
    Center for Open-Source Data & AI Technologies
    ↳ (CODAIT)
    @BradleyHolt | @ibmcodait | @IBMDeveloper
    medium.com/codait
    github.com/codait | github.com/IBM
    developer.ibm.com

    View Slide

  2. Is AI overhyped?
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide

  3. Yes
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide

  4. Thank you
    for coming
    to my talk
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide

  5. ↳ General Artificial Intelligence
    Metal Skull With Terminator Eye by L.C. Nøttaasen, on Flickr (CC BY-SA 2.0).
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide

  6. ↳ Broad Artificial Intelligence
    -[ electrIc b88Gal88 ]- by JD Hancock, on Flickr (CC BY 2.0).
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide

  7. ↳ Narrow Artificial Intelligence
    Danbo on the Lookout by IQRemix, on Flickr (CC BY-SA 2.0).

    View Slide

  8. Approaches to
    Artificial Intelligence
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Machine Learning
    • Predictive analytics
    • Data mining
    • Anomaly detection
    • Email filtering
    Deep Learning
    • Image or audio
    classification
    • Facial recognition
    • Object recognition
    • Image caption
    generation
    • Natural language
    processing

    View Slide

  9. Demo:

    Object identification
    and image segmentation
    with magicat

    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide

  10. https://www.npmjs.com/package/magicat

    View Slide

  11. Install magicat
    $ npm install -g magicat
    + [email protected]
    added 255 packages from 209 contributors in 11.798s

    View Slide

  12. Animal photos by Susanne Nilsson, on Flickr (CC BY-SA 2.0).
    23895621638_535be71dee_k.jpg
    37038669284_899d7784a9_k.jpg
    37489697170_31d05aa027_k.jpg
    37699459356_24fd526a5e_k.jpg
    37699976806_5ce694be36_k.jpg

    View Slide

  13. Scan Directory with magicat
    $ magicat . --contains sheep
    Scanning directory '~/tfjs-demos/magicat' for sheep...
    Sheep found in:
    37038669284_899d7784a9_k.jpg
    37489697170_31d05aa027_k.jpg

    View Slide

  14. Save Image Segment with magicat
    $ magicat 37699976806_5ce694be36_k.jpg --save horse
    The image '37699976806_5ce694be36_k.jpg' contains the following segments: background, horse.
    saved 37699976806_5ce694be36_k-horse.png
    Animal photos by Susanne Nilsson, on Flickr (CC BY-SA 2.0).

    View Slide

  15. Demo:

    Veremin, A Video
    Theremin Based
    on PoseNet

    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide

  16. Untitled by Ash Nowak, on Flickr (CC BY-SA 2.0).

    View Slide

  17. ↳ https://veremin.mybluemix.net/

    View Slide

  18. ↳ Deep Learning Code Patterns
    https://developer.ibm.com/patterns/category/model-asset-exchange/

    View Slide

  19. Software
    Programming
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Untitled by Marcin Wichary, on Flickr (CC BY 2.0).

    View Slide

  20. Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    01011001001011000001
    10101101010100100110
    00010110101010011100
    10101010110101010100
    10001001011101000101
    Software Program
    Business Logic

    View Slide

  21. Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    01011001001011000001
    10101101010100100110
    00010110101010011100
    10101010110101010100
    10001001011101000101
    Software Program
    Input
    Program Execution
    Output

    View Slide

  22. Machine Learning vs.
    Software Programming
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Machine Learning
    • Training
    • High-quality examples
    (i.e., training data)
    • Approximation of a
    correct function
    Software Programming
    • Programming
    • Set of direct
    instructions
    • Precisely-defined
    function

    View Slide

  23. Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Input Layer Hidden Layers Output Layer

    View Slide

  24. Backpropagation
    Labeled Training Data
    Coat
    Sneaker
    T-shirt Sneaker
    Pullover
    Output Errors
    Pullover
    Coat
    Coat
    Sneaker T-shirt

    ❌ ❌
    Fashion-MNIST dataset by Zalando Research, on GitHub (MIT License).

    View Slide

  25. Input Output
    Sneaker
    98%
    Neural Network Inferencing
    Fashion-MNIST dataset by Zalando Research, on GitHub (MIT License).

    View Slide

  26. Machine
    Learning
    Libraries
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Untitled by Marcin Wichary, on Flickr (CC BY 2.0).
    The Leeds Library by Michael D Beckwith, on Flickr (CC0 1.0).

    View Slide

  27. Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide

  28. View Slide

  29. Applying
    Deep Learning
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Untitled by Marcin Wichary, on Flickr (CC BY 2.0).
    Sharpest tool in the shed by Lachlan Donald, on Flickr (CC BY 2.0).

    View Slide

  30. Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Data Science
    Expertise Computing
    Resources
    High-Quality
    Training Data
    Model Deployment
    Time
    Model
    Integration
    Inferencing Code
    And more…
    Sharpest tool in the shed by Lachlan Donald, on Flickr (CC BY 2.0).

    View Slide

  31. ↳ IBM Developer Model Asset Exchange (MAX)
    https://developer.ibm.com/exchanges/models/
    Classify
    Generate
    Recognize

    View Slide

  32. Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Microservice
    Choose deployable model
    Deep Learning asset from the Model Asset Exchange (MAX)
    Deploy
    Swagger specification Inference endpoint Metadata endpoint
    Input preprocessing, model execution, and output post-processing
    Deploy
    model
    Use
    model
    https://developer.ibm.com/exchanges/models/

    View Slide

  33. AI Lifecycle
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Deploy &
    Run
    Operate
    & Manage
    Prepare,
    Build &
    Train

    ↳ ⬏

    View Slide

  34. ↳ Preparing, Building, and Training AI Models
    Model Asset Exchange (MAX)
    Data Asset Exchange (DAX)

    View Slide

  35. ⬏ Deploying and Running AI Models
    ONNX.js
    Model Asset Exchange (MAX)

    View Slide

  36. ⇄ Operating and Managing AI Systems
    Fabric for Deep Learning (FfDL)
    Train and deploy deep learning models on Kubernetes using TensorFlow,
    Caffe2, PyTorch, and other frameworks
    Trusted AI
    • AI Fairness 360 Toolkit: Fairness metrics for machine learning models, explanations for
    these metrics, and algorithms to mitigate bias
    • Adversarial Robustness 360 Toolbox: Python library for adversarial attacks and
    defenses for neural networks
    • AI Explainability 360 Toolkit: Interpretability and explainability of data and machine
    learning models

    View Slide

  37. What will you
    build with
    deep learning?
    Dynamic Earth - Continental Shelf by NASA Goddard Space Flight Center, on Flickr (CC BY 2.0).

    View Slide

  38. Resources: Machine Learning Libraries
    TensorFlow
    https://www.tensorflow.org/
    Train your first neural network: basic classification | TensorFlow
    https://www.tensorflow.org/tutorials/keras/basic_classification
    Keras
    https://keras.io/
    PyTorch
    https://pytorch.org/
    Caffe2
    https://caffe2.ai/

    View Slide

  39. Resources: IBM Developer
    IBM Developer
    https://developer.ibm.com/
    IBM Cloud
    https://ibm.biz/BdzXfW
    Center for Open-Source Data & AI Technologies (CODAIT)
    http://codait.org/
    IBM Developer Model Asset Exchange (MAX)
    https://developer.ibm.com/exchanges/models/
    Model Asset Exchange (MAX) Code Patterns
    https://developer.ibm.com/patterns/category/model-asset-exchange/
    magicat
    https://github.com/CODAIT/magicat
    Veremin
    https://veremin.mybluemix.net/

    View Slide

  40. Resources: Preparing, Building, and
    Training AI Models
    Project Jupyter
    https://jupyter.org/
    IBM Developer Model Asset Exchange (MAX)
    https://developer.ibm.com/exchanges/models/
    IBM Watson Knowledge Catalog
    https://www.ibm.com/cloud/watson-knowledge-catalog
    IBM Watson Studio
    https://www.ibm.com/cloud/watson-studio

    View Slide

  41. Resources: Deploying and Running AI Models
    Data Mining Group (PMML & PFA)
    http://dmg.org/
    ONNX
    https://onnx.ai/
    ONNX.js
    https://github.com/Microsoft/onnxjs
    TensorFlow.js
    https://js.tensorflow.org/
    TensorFlow Lite
    https://www.tensorflow.org/lite
    Core ML
    https://developer.apple.com/machine-learning/
    IBM Watson Machine Learning
    https://www.ibm.com/cloud/machine-learning

    View Slide

  42. Resources: Operating and Managing AI Systems
    Fabric for Deep Learning (FfDL)
    https://github.com/IBM/FfDL
    AI Fairness 360 Toolkit
    https://github.com/IBM/AIF360
    Adversarial Robustness 360 Toolbox
    https://github.com/IBM/adversarial-robustness-toolbox
    AI Explainability 360 Toolkit
    https://github.com/IBM/AIX360/
    IBM Watson OpenScale
    https://www.ibm.com/cloud/watson-openscale

    View Slide

  43. Thank you.
    Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation
    Bradley Holt
    Program Manager, Developer Advocacy
    Center for Open-Source Data & AI Technologies
    ↳ (CODAIT)

    @BradleyHolt | @ibmcodait | @IBMDeveloper
    medium.com/codait
    github.com/codait | github.com/IBM
    developer.ibm.com

    View Slide

  44. Center for Open-Source Data & AI Technologies (CODAIT) / August 21, 2019 / © 2019 IBM Corporation

    View Slide