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

An App Developer's Journey into AI ML

An App Developer's Journey into AI ML

A talk at NA GDG Summit 2018.

Margaret Maynard-Reid

May 06, 2018
Tweet

More Decks by Margaret Maynard-Reid

Other Decks in Technology

Transcript

  1. @margaretmz | #DeepLearning | #AndroidDev | #NASummit About me •

    Android developer • AI/ML Student • GDG Seattle, WTM lead / NA mentor • Seattle Data/Analytics/ML, Seattle Android • Taught Android @University of Washington 2
  2. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Topics for today

    My journey into AI and ML as an app developer: • how I got started • learning resources I used • a few subjects I learned • modern deep learning tools for you get started 3 2016 getting started 2017 online courses 2018 knowledge sharing
  3. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Why AI/ML? “AI

    is the new electricity” - Dr. Andrew Ng 2017 “Computer vision is AI’s killer app” - Dr. Fei-fei Li, 2017 “Mobile first to AI first” 4
  4. @margaretmz | #DeepLearning | #AndroidDev | #NASummit 2016 - got

    interested in AI/ML • Developing apps that showcase ML • Presenting at conferences - “Making Android Apps with Intelligence” • Curious about how AI/ML works and decided to study 6
  5. @margaretmz | #DeepLearning | #AndroidDev | #NASummit 2016 - Study

    for prerequisites Unlike app development, getting started with ML and deep learning has more pre-requisites... • Python programming - Learn Python (Code Academy) • Linear algebra, statistics and calculus - for deep learning ◦ I took Linear Algebra Refresher (Udacity) and learned both ▪ linear algebra & ▪ python programming • Intro to Descriptive Statistics (Udacity) • Intro to Inferential Statistics (Udacity) 7
  6. @margaretmz | #DeepLearning | #AndroidDev | #NASummit 2017 - Online

    courses • Intro to ML - on both Udacity & Coursera and I highly recommend the ML Foundations course by UW on Coursera • Udacity AI Nanodegree • Udacity Deep Learning Nanodegree • Coursera Deep Learning Specialization ◦ What I learned from Andrew Ng’s Deep Learning Specialization 9
  7. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Key learnings •

    AI foundations • Basics in neural networks • Deep learning: ◦ CNN ◦ RNN ◦ GAN’s • Image classification • Object detection • Sentiment analysis… • De-biasing (remove biases from models) 10
  8. @margaretmz | #DeepLearning | #AndroidDev | #NASummit AI, Machine Learning,

    Deep Learning Artificial Intelligence Machine Learning Deep Learning 11
  9. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Artificial Intelligence •

    Constraint satisfaction problems ◦ For example, writing a Sudoku game • Classical Search • Automated Planning • Adversarial Search • Probabilities models 12
  10. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Machine learning •

    A subset of Artificial Intelligence • Study of algorithms • Learn from examples and experience (instead of hard-coded programming rules) • Example of supervised learning, classification: Source: ML Recipes #1 by Google Developers - https://www.youtube.com/watch?v=cKxRvEZd3Mw 13 Use model to predict Train a model Collect training data
  11. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Convolutional Neural Network

    Why CNN? -- With a CNN we can reduce the network parameters which is very useful in computer vision. One of my homework assignment was to create a dog breed classifier using transfer learning 15
  12. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Recurrent Neural Network

    With an RNN, we can do translation, generate TV scripts, shakespeare play etc. One of my homework assignment was to generate Jazz music with LSTM (RNN) 16
  13. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Machine learning bias

    & fairness Neural networks also has biases because of the data fed into the network For example, you give the word “man” and “woman”, you may get “man as a doctor, woman as a babysitter”, something like that. In Dr. Andrew Ng’s class, I learned techniques to reduce the biases in gender, ethnicity etc in the machine learning models. A few references: • Google Cloud Platform podcast: ML Bias and Fairness with Timnit Gebru & Margaret Mitchell (link) • ML Fairness site by Google (link) • Why we desperately need women to design AI (link) 17
  14. @margaretmz | #DeepLearning | #AndroidDev | #NASummit 2018 - Organize

    events, blog posts & talks Best way to learn is by knowledge sharing: • Write blog posts ◦ I wrote about my learnings from TF Dev Summit 2018 ◦ AI/ML learning resources monthly newsletter • Organize ML related events • Give talks - like this one! 19
  15. @margaretmz | #DeepLearning | #AndroidDev | #NASummit TensorFlow and Deep

    learning with a PhD Two sessions with Martin Gorner: • 1/27 - CNN • 3/10 - RNN • More attendees than DevFest! 20
  16. @margaretmz | #DeepLearning | #AndroidDev | #NASummit TensorFlow Dev Summit

    & Extended I wrote a blog post on what I learned from the TF Dev Summit (link) Organized TF Dev Summit Extended and gave talk there 21
  17. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Upcoming GDG Seattle

    ML events We have quite a few upcoming AI/ML events • End to End ML with TensorFlow on Google Cloud • Machine Learning Study Jam • Action on Google It’s all about AI/ML this year! 22
  18. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Modern deep learning

    tools So that was my journey, what would yours look like? These days studying AI/ML is much easier than 2 years ago Now I’d like to share with you some modern tools for you to get started 24
  19. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Tools for Deep

    Learning Before: setup Anaconda, Jupter Notebook, install TensorFlow & Keras Now: zero setup by using Colab - created by Google research: • VM running on Google Cloud • You can even train model in GPU! • Expect most of the TensorFlow tutorials to be on Colab 25
  20. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Deep learning frameworks

    There are quite a few deep learning frameworks • Caffe • PyTorch • Theano • TensorFlow ← the most popular one! 26
  21. @margaretmz | #DeepLearning | #AndroidDev | #NASummit TensorFlow • For

    both researchers and engineers • Low level APIs - great for research • High level APIs or libraries for you to easily get started: ◦ TensorFlow hub (new, just announced from the TF Dev Summit) ◦ tf.Keras - great for prototyping ◦ Estimators - premade and custom estimators ◦ AutoML ◦ TensorToTensor • TensorFlow Lite - for mobile applications 27
  22. @margaretmz | #DeepLearning | #AndroidDev | #NASummit Resources for learning

    TensorFlow • TensorFlow blog - http://blog.tensorflow.org/ • #AskTensorFlow • All things TensorFlow (on YouTube) I’m sure we will hear more news on TensorFlow at I/O! 28
  23. @margaretmz | #DeepLearning | #AndroidDev | #NASummit So many more

    learning resources! • Udacity School of AI (link) • Coursera Deep Learning Specialization • Google (lots and lots of learning resources by Google…) ◦ Learn with Google AI (link) ◦ ML Crash Course with TernsorFlow APIs ◦ ML with TensorFlow on Google Cloud Platform on Coursera (link) • Fast.ai - hands on quickly pick up deep learning knowledge • Kaggle’s Learn (link) • Kadenze - Creative Applications of Deep Learning with TensorFlow • Microsoft Professional Program in AI • Siraj’s school of AI 29