Machine Learning Monthly 💻🤖

Daniel Bourke
Daniel Bourke
hero image

17th issue! If you missed them, you can read the previous issues of the Machine Learning Monthly newsletter here.

Daniel here, I'm 50% of the instructors behind the Complete Machine Learning and Data Science: Zero to Mastery course and our new TensorFlow for Deep Learning course!. I also write regularly about machine learning and on my own blog as well as make videos on the topic on YouTube.

Welcome to the 17th edition of Machine Learning Monthly. A 500ish (+/-1000ish, usually +) word post detailing some of the most interesting things on machine learning I've found in the last month.

Since there's a lot going on, the utmost care has been taken to keep things to the point.

What you missed in May as a Machine Learning Engineer…

My work 👇

Video version of this article is live. Check it out here!

The Zero To Mastery TensorFlow for Deep Learning course has launched!

Update: In the last month, 10+ hours of NLP fundamentals + NLP milestone project videos have been uploaded and added to the course.

All Zero To Mastery students have access to these videos immediately.

And by the time you receive next month's Machine Learning Monthly (June 2021), the final modules, time series fundamentals with TensorFlow as well as preparing for the TensorFlow Developer Certification exam will be launched!

See the following links for more.

Google’s Incredible I/O (plenty of new TensorFlow updates) 🔥

Google I/O 2021 just passed and there was an outstanding number of exciting machine learning and TensorFlow announcements. There's too many to cover here but I'm going to write a bit about my favourites.

TensorFlow Lite + TesnorFlow.js + On-device Machine Learning

TensorFlow Lite refers to the smaller version of TensorFlow, which enables on-device machine learning (think running a machine learning model on a mobile phone), TensorFlow.js is the Javascript version of TensorFlow, designed for running machine learning steps directly in the browser.

  • On-device machine learning website — Why on-device machine learning? It's fast, it keeps data on-device and works offline. Google's new on-device machine learning developer page allows you to find an example of how to get your models running on-device by selecting device (e.g. iOS/Android), your problem (e.g. vision) and use case (e.g. image classification).

on-device-ml-recording-trimmed-cropped

Example workflow of Google's new on-device machine learning webpage showing a workflow for image classification on a mobile device.

  • TensorFlow Lite Model Maker — A library dedicated to helping you train TensorFlow Lite models. By leveraging transfer learning, the amount of custom data required for your own problems as well as training time gets reduced. Supported tasks include image classification, text classification, audio classification and more.

Example of using the TensorFlow Lite Model Maker library

Example of using the TensorFlow Lite Model Maker library to train a custom TensorFlow Lite model on photos of food. Source: Adapted from the TensorFlow Lite Model Maker guide.

  • TensorFlow Lite models are now integrated with TensorFlow.js — If you've trained a TensorFlow Lite model, you can now run it directly in the browser. The benefit of this is allowing a person to try your models right within a web page rather than downloading an application, it also allows you to train one model and deploy it to multiple places (web and mobile device). See the demo video for an example as well as the TensorFlow.js Task API documentation for more.

TensorFlow tooling upgrades + a new home for AI on Google Cloud

  • TensorFlow Hub Facelift — The home of TensorFlow pretrained models gets a design update as well as the ability to test drive different models before you use them. Interested in using a pretrained TensorFlow Hub image classification model? How about seeing how it goes on an image of your beautiful dog first? If the outputs aren't so good, you might have to fine-tune it on some custom dog images, just like we do in Dog Vision (Milestone Project 3 of the Zero To Mastery Data Science and Machine Learning course). You also get links to different resources for training/incorporating the model in your applications as well as model cards (information about model metadata) for many of the newer models.
  • TensorFlow Cloud (run your local experiments at cloud scale) — Experimentation in machine learning is key. Start small and scale up when needed. The TensorFlow Cloud library helps you do the latter. For example, you might start your experiments in Google Colab running on a single GPU and once you've got something working, use TensorFlow Cloud to run the same experiment for longer on 8 GPUs on Google Cloud all with only a few lines of code.

Example of using TensorFlow Cloud within an existing modelling Python file

Example of using TensorFlow Cloud within an existing modelling Python file. Source: Adapted from TensorFlow Cloud documentation.

  • AI Platform → Vertex AI — Google Cloud's home for AI, previously AI Platform has been renamed to Vertex AI. Vertex AI, provides a home for all of your datasets, features, labelling tasks, notebooks, training, experiments, models, deployment (called an endpoint in Vertex language) and more. If this sounds like a lot, it's because it is. What Google is trying to do here is provide a one-stop-shop for all your machine learning needs. To see an example use case, Lak has put together a hands-on write up to model Airbnb's New York City apartment rental data.
  • Practitioners Guide to MLOps White Paper Ever wonder how all of the pieces of an ML project come together? Google Cloud's Practitioner's Guide to MLOps white paper will help you out. From data preprocessing to continuous training and monitoring, the white paper walks through principled workflows for the entire machine learning development process. If you're interested in building full-stack machine learning projects, read this.

mlops-process

Annotated version of the MLOps process outlined in Google Cloud's Practitioners Guide to MLOps White Paper.

Community + Guidebook 2.0 + Understanding your data

  • TensorFlow Forum — Finally! A centralised place to discuss everything TensorFlow, from announcements, show & tell (share your work), events, research and more. The perfect place to interact with fellow TensorFlow developers.
  • People and AI Research Guidebook 2.0 — In last month's Machine Learning Monthly (the design edition) we covered Google PAIR Guidebook. Well, things move fast in the machine learning world. And version 2.0 of the guidebook is out with new and improved example use cases. I especially like the point "Explain the benefit, not the technology".

Explain the benefit, not the technology

Many people don't care about the technical details of your applications: they care about how it benefits them. Source: People and AI Guidebook 2.0 Design Patterns.

Learn more about Google I/O TensorFlow and Machine Learning updates

If you want to learn more about the exciting new machine learning announcements from Google I/O, check out the following resources.

Exciting news from around the internet 🕸

Next-Generation Pose Detection with MoveNet and TensorFlow.js

Speaking of updates to TensorFlow.js, you can use MoveNet, a state of the art movement detection model that detects 17 keypoints of a body. The two variants Thunder (high accuracy) and Lightning (high speed) can operate at up to 51 and 43 FPS respectively live in the browser of an iPhone 12. Some thought-provoking fitness-style applications could be built here, maybe a dance detector?

Datasets & Code on arXiv

Paperswithcode (one of my favourite machine learning websites) have partnered with arXiv (one of my favourite research websites) to bring datasets and code to machine learning research papers. There's now a Code & Data tab to link datasets/code used within a specific paper. A massive step in the right direction for reproducible machine learning (now only if the compute resources used were shared too)!

code-and-data-on-arxiv

Example Code & Data tab for the paper: EfficientNetV2: Smaller Models and Faster Training

High-performance unsupervised speech recognition with wav2vec Unsupervised

Facebook's latest adventure into unsupervised and self-supervised learning has produced wav2vec Unsupervised or wav2vec-U for short. The model starts to learn the structure of speech using a self-supervised model (wav2vec 2.0) and then these representations are used the input to a generator of a GAN network where it predicts a phoneme corresponding to a sound in language. The discriminator portion of the GAN network assesses whether the predicted sequence phonemes look real or not.

On the Librispeech benchmark, wav2vec-U performs on par with state of the art fully supervised systems (960+ hours of transcribed audio) two years ago.

Learning with less data provides a huge opportunity for spoken languages with far less data available than widely spoken languages.

Also, I like the quip at the end of the article:

More generally, people learn many speech-related skills just by listening to others around them. This suggests that there is a better way to train speech recognition models, one that does not require large amounts of labeled data.

What is active learning? by Roboflow

Jeremy Howard mentioned that basically every practical machine learning team reinvents some form of active learning but yet they're two of the least researched fields.

So what is active learning?

Active learning involves using a model (separate or the same as your current model) to help figure out which specific training examples can improve performance the most.

Roboflow's blog post breaks down three of the most common types of active learning with the example of improving a box detection model.

Reproducible Deep Learning by Simone Scardapane

Throughout May, Simone Scardapane ran a course on reproducible deep learning.

What is reproducible deep learning?

Take some data, model it with deep learning in some way, share your code and data with someone else and get to them to get the same results. Sound easy? It's surprisingly harder than you think.

Simone's PhD-level course goes through steps you can perform to make your deep learning code reproducible, such as code versioning with Git, data versioning with DVC (data version control), experiment logging with Weights & Biases, hyperparameter tuning and configuration with Hydra and Dockerization (getting everything above into a Docker container).

If you're looking at building reproducible machine learning systems rather than just running notebooks top to bottom (what I still do), check out the course page for videos, slides and code.

Simone Scardapane's reproducible deep learning course

Outline of Simone Scardapane's reproducible deep learning course.

The Rise of HuggingFace by Mark Saroufim

You know when you stumble upon a little piece of someone's work and then quickly consume everything they've ever created?

That's what happened when I found Mark Saroufim's writing.

In The Rise of HuggingFace, Mark writes about how companies like HuggingFace and Weights & Biases (two of my favourite ML companies) have built incredible value in the machine learning world by creating communities around their platforms.

HuggingFace has quickly become what I thought OpenAI would be when I first started learning about machine learning. They offer the latest and greatest machine learning models (focused on NLP but my guess is they'll start moving to computer vision) as well as many datasets through an easy to use API.

I was always confused when I read beautifully crafted OpenAI blog posts only to find none of the code or data used to craft them available.

For some of the best takes on machine learning and learning in general, sign up for Mark's newsletter or follow him on Twitter.


See you next month!

What a massive month for the ML world in May!

As always, let me know if there's anything you think should be included in a future post. Liked something here? Tell a friend!

In the meantime, keep learning, keep creating, keep dancing.

See you next month,

Daniel

www.mrdbourke.com | YouTube

PS. You can see also video versions of these articles on my YouTube channel (usually a few days after the article goes live).

By the way, I'm a full-time instructor with Zero To Mastery Academy teaching people Machine Learning in the most efficient way possible. You can see a couple of our courses below or see all Zero To Mastery courses by visiting the courses page.

More from Zero To Mastery

The Developer’s Edge: How To Become A Senior Developer in 2024 preview
Popular
The Developer’s Edge: How To Become A Senior Developer in 2024

Do you want to be a Senior Developer and excel in your field? You're in the right place. By the end of reading this, you will have a set path with a list of the best resources for you to level up and become a Senior Developer.

Python Monthly 💻🐍 preview
Python Monthly 💻🐍

18th issue of Python Monthly! Read by 1,000s of Python developers every month. This monthly Python newsletter is focused on keeping you up to date with the industry and keeping your skills sharp, without wasting your valuable time.