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.
Video version of this article is live. Check it out here!
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 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 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.
Example workflow of Google's new on-device machine learning webpage showing a workflow for image classification on a mobile device.
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.
Example of using TensorFlow Cloud within an existing modelling Python file. Source: Adapted from TensorFlow Cloud documentation.
Annotated version of the MLOps process outlined in Google Cloud's Practitioners Guide to MLOps White Paper.
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.
If you want to learn more about the exciting new machine learning announcements from Google I/O, check out the following resources.
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?
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)!
Example Code & Data tab for the paper: EfficientNetV2: Smaller Models and Faster Training
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.
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.
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.
Outline of Simone Scardapane's reproducible deep learning course.
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.
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
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.