Introduction to Embedded Machine Learning
Created By 1
Machine learning (ML) 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.
Created By 1
English
Machine learning (ML) 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.
Created By 1
English
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
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)
Content
Instructor Introductions3m
What is Machine Learning?15m
Limitations and Ethics of Machine Learning12m
Machine Learning on Embedded Devices5m
Machine Learning Specific Hardware13m
Machine Learning Software Frameworks7m
Getting Started with Edge Impulse6m
Data Collection14m
Feature Extraction from Motion Data10m
Feature Selection in Edge Impulse4m
Machine Learning Pipeline6m
Review of Module 12m
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.
Video Contant
Introduction to Neural Networks15m
Model Training in Edge Impulse7m
How to Evaluate a Model10m
Underfitting and Overfitting6m
How to Use a Model for Inference6m
Testing Inference with a Smartphone3m
How to Deploy a Trained Model to Arduino9m
Anomaly Detection8m
Industrial Embedded Machine Learning Demo4m
Module Review3m
10 readings
Neural Networks and Training5m
Slides10m
Evaluation, Underfitting, and Overfitting5m
Slides10m
Using a Model for Inference5m
Slides10m
Anomaly Detection5m
Slides10m
Project - Motion Detection2h
Slides10m
5 practice exercises
Neural Networks and Training15m
Evaluation, Underfitting, and Overfitting15m
Deploy Model to Embedded System15m
Anomaly Detection5m
Motion Classification and Anomaly Detection30m
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.
9 videos
Introduction to Audio Classification7m
Audio Data Capture11m
Audio Feature Extraction10m
Introduction to Convolutional Neural Networks11m
Modifying the Neural Network10m
Deploy Keyword Spotting System6m
Implementation Strategies10m
Sensor Fusion3m
Conclusion2m
7 readings
Sample Rate and Bit Depth5m
Slides10m
MFCCs and CNNs5m
Slides10m
Implementation Strategies and Sensor Fusion5m
Slides10m
Project - Sound Classification2h
4 practice exercises
Audio Classification and Sampling Audio Signals10m
MFCCs and CNNs15m
Implementation Strategies15m
Audio Classification30m
LAPTOP / DESKTOP
Machine learning (ML) 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, which is known as embedded machine learning or TinyML. 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.
Instructors
EV Enthusiasts and embedded engineer
Edge Impulse is the leading development platform for machine learning on edge devices, free for developers and trusted by enterprises.
Edge Impulse was designed for software developers, engineers and domain experts to solve real problems using machine learning on edge devices without a PhD in machine learning. Check out the amazing cloud based UX, awesome documentation and open source SDKs.