We may earn an affiliate commission when you visit our partners.
Course image
Shawn Hymel and Alexander Fred-Ojala

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.

Read more

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.

Enroll now

What's inside

Syllabus

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).
Read more
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.
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
No prior machine learning knowledge is required, making it suitable for beginners
Provides demonstrations and projects for hands-on experience
Covers fundamental machine learning concepts, neural networks, and their deployment on microcontrollers
Involves embedded machine learning (TinyML), which is relevant to industry
Emphasizes audio classification and keyword spotting, which are in demand skills in various applications
Teaches how to implement machine learning on embedded systems, which is a growing field with practical applications

Save this course

Save Introduction to Embedded Machine Learning to your list so you can find it easily later:
Save

Reviews summary

Shaping embedded ml with a smartphone

According to students, this course serves as an excellent introduction to embedded machine learning using Edge Impulse as a platform. The course covers the fundamentals of machine learning and provides hands-on experience through projects that can be deployed on either a smartphone or Arduino board. The instruction is clear and engaging, and the supplemental materials are top-notch. Overall, learners say this course is a valuable resource for anyone interested in getting started with embedded machine learning.
The instructor, Shawn Hymel, is knowledgeable and engaging.
"The explanations are concise and clear, and there is no need for prior experience in machine learning, as the concepts are explained before they are used / deployed."
The course is suitable for beginners with no prior experience in machine learning or embedded systems.
"The instructors do a great job of clearly communicating the concepts without assuming any prior knowledge of Embedded Systems and Machine Learning."
Hands-on projects help reinforce the concepts taught in the course.
"This course dives you through the basic knowledge of embedded machine learning."
"The way instructor Shawn Heyml taught the course was just awesome."
"The most interesting thing about this course was that some concepts were taught by the experts in their respected domains."
Edge Impulse is an excellent platform for rapid prototyping of machine learning solutions.
"The use of Edge Impulse allows rapid prototyping of machine learning solutions so the course is able to walk you through two working examples, a movement gesture classifier and an audio keyword classifier, that you can deploy to either a mobile phone or an Arduino board."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Embedded Machine Learning with these activities:
Read 'TinyML: Machine Learning with Microcontrollers, Sensors, and Embedded Systems'
Gain foundational knowledge and insights into TinyML and embedded machine learning
View TinyML on Amazon
Show steps
  • Read and understand key concepts and principles
  • Highlight and summarize important passages
  • Reflect on how the book's content relates to the course
Organize and review materials
Prepare for the upcoming course by organizing notes and preparing study materials
Show steps
  • Gather all course materials
  • Organize materials into folders or notebooks
  • Preview materials to identify key concepts
Follow tutorials on machine learning for embedded systems
Expand knowledge and skills by following guided tutorials on specific topics
Show steps
  • Identify reputable sources for tutorials
  • Select tutorials aligned with course content
  • Follow tutorials, taking notes and experimenting with code
Five other activities
Expand to see all activities and additional details
Show all eight activities
Participate in discussion groups or study sessions with peers
Engage with peers, clarify concepts, and expand perspectives
Show steps
  • Identify or create discussion groups or study sessions
  • Actively participate in discussions, asking and answering questions
  • Share knowledge and experiences with peers
  • Provide feedback and support to other participants
Create a visual representation of machine learning algorithms
Enhance understanding by creating visual aids that illustrate machine learning concepts
Browse courses on Machine Learning
Show steps
  • Choose an algorithm to visualize
  • Design a clear and informative representation
  • Use appropriate visuals and annotations
  • Share the visual representation with others
Practice neural network coding exercises
Solidify understanding of neural network concepts and strengthen coding skills
Browse courses on Neural Networks
Show steps
  • Find coding exercises and tutorials online
  • Implement neural network algorithms from scratch
  • Debug and optimize code for efficiency
Contribute to an open-source machine learning project
Gain practical experience, collaborate with others, and deepen understanding of machine learning
Browse courses on Open Source
Show steps
  • Identify a suitable open-source project
  • Understand the project's goals and codebase
  • Contribute code, documentation, or bug fixes
  • Collaborate with other contributors
Develop a microcontroller-based machine learning project
Apply machine learning concepts to a practical project, gaining hands-on experience
Browse courses on TinyML
Show steps
  • Identify a problem or application
  • Design and implement a solution using TinyML
  • Test and evaluate the project
  • Document the project and share findings

Career center

Learners who complete Introduction to Embedded Machine Learning will develop knowledge and skills that may be useful to these careers:
Data Scientist
Data Scientists use machine learning and other advanced techniques to analyze data and extract insights. They work in a variety of industries, including finance, healthcare, and retail. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge is essential for anyone who wants to become a Data Scientist.
Machine Learning Engineer
Machine Learning Engineers build, deploy, and test machine learning models. They must understand the theory behind models, be able to implement them, and be able to interpret their results. Their work is used in a variety of applications, including image and speech recognition, natural language processing, and predictive analytics. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge is essential for anyone who wants to become a Machine Learning Engineer.
Software Engineer
Software Engineers design, develop, and test software applications. They work in a variety of industries, including technology, finance, and healthcare. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge is increasingly important for Software Engineers, as machine learning is becoming more widely used in software applications.
Product Manager
Product Managers are responsible for the development and launch of new products. They work with engineers, designers, and marketers to create products that meet the needs of customers. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge is increasingly important for Product Managers, as machine learning is becoming more widely used in new products.
Business Analyst
Business Analysts use data to analyze business processes and identify areas for improvement. They work with stakeholders to develop solutions that meet the needs of the business. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge is increasingly important for Business Analysts, as machine learning is becoming more widely used in business analysis.
Technical Writer
Technical Writers create documentation for software and other technical products. They work with engineers and other technical staff to gather information and write clear and concise documentation. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge may be useful for Technical Writers who need to write documentation for machine learning products or applications.
Sales Engineer
Sales Engineers work with customers to identify and meet their technology needs. They work with engineers and other technical staff to develop solutions that meet the needs of the customer. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge may be useful for Sales Engineers who need to sell machine learning products or applications.
Marketing Manager
Marketing Managers develop and execute marketing campaigns to promote products and services. They work with marketing teams to develop marketing strategies and create marketing materials. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge may be useful for Marketing Managers who need to develop marketing campaigns for machine learning products or applications.
Financial Analyst
Financial Analysts analyze financial data to identify investment opportunities and make recommendations to clients. They work with clients to develop investment strategies and manage portfolios. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge may be useful for Financial Analysts who need to use machine learning to analyze financial data or make investment decisions.
Operations Manager
Operations Managers oversee the day-to-day operations of a business. They work with staff to develop and implement processes to improve efficiency and productivity. This course provides a strong foundation in the fundamentals of machine learning, including the theory behind models, how to train them, and how to interpret their results. This knowledge may be useful for Operations Managers who need to use machine learning to improve the efficiency or productivity of their operations.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Embedded Machine Learning.
Comprehensive guide to deep learning. It covers topics such as neural networks, convolutional neural networks, and recurrent neural networks. It also includes hands-on projects and exercises.
Practical guide to using TensorFlow Lite for machine learning on embedded systems. It covers topics such as model selection, optimization, and deployment. It also includes hands-on projects and exercises.
Comprehensive guide to pattern recognition and machine learning. It covers topics such as statistical pattern recognition, Bayesian inference, and neural networks. It also includes hands-on projects and exercises.
Comprehensive guide to machine learning from a probabilistic perspective. It covers topics such as Bayesian inference, graphical models, and reinforcement learning. It also includes hands-on projects and exercises.
Comprehensive guide to machine learning from an algorithmic perspective. It covers topics such as decision trees, support vector machines, and neural networks. It also includes hands-on projects and exercises.
Practical guide to machine learning with Python. It covers topics such as data pre-processing, feature engineering, model selection, and optimization. It also includes hands-on projects and exercises.
Comprehensive guide to machine learning with Python. It covers topics such as data pre-processing, feature engineering, model selection, and optimization. It also includes hands-on projects and exercises.
Practical guide to machine learning with Java. It covers topics such as data pre-processing, feature engineering, model selection, and optimization. It also includes hands-on projects and exercises.
Practical guide to machine learning for beginners. It covers topics such as data pre-processing, feature engineering, model selection, and optimization. It also includes hands-on projects and exercises.
Practical guide to using PyTorch for deep learning. It covers topics such as model architecture, optimization, and deployment. It also includes hands-on projects and exercises.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to Embedded Machine Learning.
Computer Vision with Embedded Machine Learning
Most relevant
Physics Informed Neural Networks (PINNs)
Most relevant
Machine Learning at the Edge on Arm: A Practical...
Most relevant
Introduction to Machine Learning
Most relevant
Inverse Physics Informed Neural Networks (I-PINNs)
Most relevant
Building Recommender Systems with Machine Learning and AI
Most relevant
Getting Started with Machine Learning at the Edge on Arm
Most relevant
Computer Vision
Most relevant
Machine Learning: Natural Language Processing in Python...
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser