If you're interested in exploring the basics of machine learning (without having to learn complex coding methods), "Teachable Machine" can help you do just that. With Google's no-code “Teachable Machine” you can develop machine learning models and make them available to others without having to integrate them into an application. You can train models yourself to recognize certain images, sounds or poses (such as whether you're sitting down or standing up), and use them directly on the Teachable Machine website or in your own website or app.(You can find Teachable Machine at: https://teachablemachine.withgoogle.com/ ).
To create a model on Teachable Machine start by gathering your samples and grouping them into classes or categories. Once you've done that you're ready to begin developing your machine learning model.
What can I train my machine learning model to do? By following the tutorials and examples on the website you can train your model to:
- Classify images, either from files or live, from a webcam.
- Classify sounds from short sound samples (WAV, MP3 file support coming soon).
- Classify body positions, using files or images from a web-cam.
Before you get started though, you may want to look through these frequently asked questions about “Teachable Machine”:
- What does Teachable Machine use to create the models? The models are built using TensorFlow.js, a Javascript library for machine learning.
- What method is used to train the models? The models are trained using a method called “transfer learning”. The image and pose models are taught from pre-trained mobilenet models, and the sound model is built on Speech Command Recognizer. In each case models that have already been trained “transfer” their knowledge to your model.
- Do I have to upload all my training data to the Internet? The training is done in your browser – your images, sound bites or other data stays on your computer.
- What if my model's predictions aren't very accurate after I finish training it? You can add additional samples and retrain the model in order to improve its accuracy.
- What can you make with Teachable Machine? You can find a wide range of Teachable Machine projects (over 15,000 of them) at: https://experiments.withgoogle.com/experiments
- How can I make my model available to others? Since Teachable Machine models are built with Tensorflow.js, they can be hosted on Teachable Machine for free or exported to any website, server, or machine that can run Javascript. You can also convert your model to TensorFlow or TensorFlow Lite and download it for local use.
To see a detailed step-by-step tutorial on how to train your model, do an Internet search for: “Teachable Machine Tutorial: Bananameter” by Barron Webster (November 7, 2019). The tutorial shows you how to use Teachable Machine to identify images of bananas that aren't ripe yet, bananas that are ripe, and bananas that are past their prime. Note: The same basic steps would work with any three objects.
One of the important points brought out in the tutorial is how much the model can be affected by using some images with a different lighting or background, images where the banana is between stages of ripeness, or images with a just drawing or photo of a banana, rather than the real thing. In general, the more types of images you include in your training the better the model will perform with real-life data.
Barron Webster's tutorial should give you a pretty good idea of how to use Teachable Machine to train image classification models. In addition, if you're interested, the author has also created tutorials on how to make a audio model (“Teachable Machine Tutorial: Snap, Clap, Whistle”) and how to make a body position model (“Teachable Machine Tutorial: Head Tilt”).
And if you want to see additional tutorials, here are two more suggestions:
“An introduction to Teachable Machine — AI for dummies”, by Rafael Etereo, February 17, 2020. Creating a model to identify people's hand gestures.
“Teachable Machine 1: Image Classification”, The Coding Train, Nov 7, 2019 https://www.youtube.com/watch?v=kwcillcWOg0
Finally, for a more in-depth look at how Teachable Machine works, take a look at: “How to build a Teachable Machine with TensorFlow.js”, Nikhil Thorat – deeplearnjs.org. Taken together, these tutorials should give you a basic understanding of what machine learning models are and how to build and train them.