In this exciting Professional Certificate program offered by Harvard University and Google TensorFlow, you will learn about the emerging field of Tiny Machine Learning (TinyML), its real-world applications, and the future possibilities of this transformative technology.
TinyML is a cutting-edge field that brings the transformative power of machine learning (ML) to the performance- and power-constrained domain of tiny devices and embedded systems. Successful deployment in this field requires intimate knowledge of applications, algorithms, hardware, and software.
This first course in this series, Fundamentals of TinyML, will teach you the fundamentals of machine and deep learning. In this course, you will understand the language of tiny machine learning, which goes beyond the traditional machine learning toolkit due to the energy and memory constraints of tiny devices. The second course, Applications of TinyML, dives into an array of applications, where you will see how tools like voice recognition works in practice on small devices and you can see and implement common algorithms such as neural networks.
The third course, Deploying TinyML, will give you a chance to use an open source hardware and prototyping platform to build your own tiny device. Featuring projects based on an Arduino board—TinyML Program Kit—the program emphasizes hands-on experience with training and deploying machine learning into tiny embedded devices. The TinyML Program Kit has everything you need to unlock your imagination and build applications around image recognition, audio processing, and gesture detection. Before you know it, you’ll be implementing an entire tiny machine learning application.
Throughout the series, you will learn how the Python programming language using TensorFlow (Lite/Micro) is used to power these devices as well as important topics in the responsible design of Artificial Intelligence systems. These first-of-their-kind online courses combine data science, computer science, and engineering to feature real-world application case studies that examine the challenges facing TinyML deployments.
This program is a collaboration between expert faculty at Harvard’s John A. Paulson School of Engineering and Applied Sciences (SEAS) and innovative members of Google’s TensorFlow team. Taught by Harvard Professor Vijay Janapa Reddi, Lead AI Advocate at Google, Laurence Moroney, and Technical Lead of Google’s TensorFlow and Micro team, Pete Warden, this course offers you the unique opportunity to learn from leaders in the AI and machine learning space.
Courses under this program: Course 1: Fundamentals of TinyML
Focusing on the basics of machine learning and embedded systems, such as smartphones, this course will introduce you to the “language” of TinyML.
Course 2: Applications of TinyML
Get the opportunity to see TinyML in practice. You will see examples of TinyML applications, and learn first-hand how to train these models for tiny applications such as keyword spotting, visual wake words, and gesture recognition.
Course 3: Deploying TinyML
Learn to program in TensorFlow Lite for microcontrollers so that you can write the code, and deploy your model to your very own tiny microcontroller. Before you know it, you’ll be implementing an entire TinyML application.
What do you know about TinyML? Tiny Machine Learning (TinyML) is one of the fastest-growing areas of Deep Learning and is rapidly becoming more accessible. This course provides a foundation for you to understand this emerging field.
TinyML is at the intersection of embedded Machine Learning (ML) applications, algorithms, hardware, and software. TinyML differs from mainstream machine learning (e.g., server and cloud) in that it requires not only software expertise, but also embedded-hardware expertise.
The first course in the TinyML Certificate series, Fundamentals of TinyML will focus on the basics of machine learning, deep learning, and embedded devices and systems, such as smartphones and other tiny devices. Throughout the course, you will learn data science techniques for collecting data and develop an understanding of learning algorithms to train basic machine learning models. At the end of this course, you will be able to understand the “language” behind TinyML and be ready to dive into the application of TinyML in future courses.
Following Fundamentals of TinyML, the other courses in the TinyML Professional Certificate program will allow you to see the code behind widely-used Tiny ML applications—such as tiny devices and smartphones—and deploy code to your own physical TinyML device. Fundamentals of TinyML provides an introduction to TinyML and is not a prerequisite for Applications of TinyML or Deploying TinyML for those with sufficient machine learning and embedded systems experience.
Do you know what happens when you say “OK Google” to a Google device? Is your Google Home always listening?
Following on the Foundations of Tiny ML course, Applications of TinyML will give you the opportunity to see tiny machine learning applications in practice. This course features real-world case studies, guided by industry leaders, that examine deployment challenges on tiny or deeply embedded devices.
Dive into the code for using sensor data for tasks such as gesture detection and voice recognition. Focusing on the neural network of the applications, specifically on training and inference, you will review the code behind “OK Google,” “Alexa,” and smartphone features on Android and Apple . Learn about real-word industry applications of TinyML as well as Keyword Spotting, Visual Wake Words, Anomaly Detection, Dataset Engineering, and Responsible Artificial Intelligence.
Tiny Machine Learning (TinyML) is one of the fastest-growing areas of deep learning and is rapidly becoming more accessible. The second course in the TinyML Professional Certificate program, Applications of TinyML shows you the code behind some of the world’s most widely-used TinyML devices.
Have you wanted to build a TinyML device? In Deploying TinyML, you will learn the software, write the code, and deploy the model to your own tiny microcontroller-based device. Before you know it, you’ll be implementing an entire TinyML application.
A one-of-a-kind course, Deploying TinyML is a mix of computer science and electrical engineering. Gain hands-on experience with embedded systems, machine learning training, and machine learning deployment using TensorFlow Lite for Microcontrollers, to make your own microcontroller operational for implementing applications such as voice recognition, sound detection, and gesture detection.
The course features projects based on a TinyML Program Kit that includes an Arduino board with onboard sensors and an ARM Cortex-M4 microcontroller. The kit has everything you need to build applications around image recognition, audio processing, and gesture detection. Before you know it, you’ll be implementing an entire tiny machine learning application. You can preorder your Arduino kit here.
Tiny Machine Learning (TinyML) is one of the fastest-growing areas of deep learning and is rapidly becoming more accessible. The third course in the TinyML Professional Certificate program, Deploying TinyML provides hands-on experience with deploying TinyML to a physical device.
Laurence Moroney, Pete Warden and Vijay Janapa Reddi