Introduction to Embedded Machine Learning (Coursera)

Introduction to Embedded Machine Learning (Coursera)
Course Auditing
Categories
Effort
Certification
Languages
Some math (reading plots, arithmetic, and algebra) is required in the course. Recommended to have experience with embedded systems (e.g. Arduino).
Misc

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Introduction to Embedded Machine Learning (Coursera)
Machine learning allows us to teach computers to make predictions and decisions based on data and learn from experiences. In recent years, incredible optimizations have been made to machine learning algorithms, software frameworks, and embedded hardware. Thanks to this, running deep neural networks and other complex machine learning algorithms is possible on low-power devices like microcontrollers. This course will give you a broad overview of how machine learning works, how to train neural networks, and how to deploy those networks to microcontrollers.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

You do not need any prior machine learning knowledge to take this course. Familiarity with Arduino and microcontrollers is advised to understand some topics as well as to tackle the projects. Some math (reading plots, arithmetic, algebra) is also required for quizzes and projects.

We will cover the concepts and vocabulary necessary to understand the fundamentals of machine learning as well as provide demonstrations and projects to give you hands-on experience.
What You Will Learn

- The basics of a machine learning system

- How to deploy a machine learning model to a microcontroller

- How to use machine learning to make decisions and predictions in an embedded system


Syllabus


WEEK 1

Introduction to Machine Learning

In this module, we will introduce the concept of machine learning, how it can be used to solve problems, and its limitations. We will also cover how machine learning on embedded systems, such as single board computers and microcontrollers, can be effectively used to solve problems and create new types of computer interfaces. Then, we will introduce the Edge Impulse tool and collect motion data for a "magic wand" demo. Finally, we will examine the various features that can be calculated from this raw motion data, including root mean square (RMS), Fourier transform, and power spectral density (PSD).


WEEK 2

Introduction to Neural Networks

In this module, we will look at how neural networks work, how to train them, and how to use them to perform inference in an embedded system. We will continue the previous demo of creating a motion classification system using motion data collected from a smartphone or Arduino board. Finally, we will challenge you with a new motion classification project where you will have the opportunity to implement the concepts learning in this module and the previous module.


WEEK 3

Audio classification and Keyword Spotting

In this module, we cover audio classification on embedded systems. Specifically, we will go over the basics of extracting mel-frequency cepstral coefficients (MFCCs) as features from recorded audio, training a convolutional neural network (CNN) and deploying that neural network to a microcontroller. Additionally, we dive into some of the implementation strategies on embedded systems and talk about how machine learning compares to sensor fusion.



MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Course Auditing
41.00 EUR
Some math (reading plots, arithmetic, and algebra) is required in the course. Recommended to have experience with embedded systems (e.g. Arduino).

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.