We may earn an affiliate commission when you visit our partners.
Course image
Arm Education

The age of machine learning has arrived! Arm technology is powering a new generation of connected devices with sophisticated sensors that can collect a vast range of environmental, spatial and audio/visual data. Typically this data is processed in the cloud using advanced machine learning tools that are enabling new applications reshaping the way we work, travel, live and play.

Read more

The age of machine learning has arrived! Arm technology is powering a new generation of connected devices with sophisticated sensors that can collect a vast range of environmental, spatial and audio/visual data. Typically this data is processed in the cloud using advanced machine learning tools that are enabling new applications reshaping the way we work, travel, live and play.

To improve efficiency and performance, developers are now looking to analyze this data directly on the source device – usually a microcontroller (we call this ‘the Edge’). But with this approach comes the challenge of implementing machine learning on devices that have constrained computing resources.

This is where our course can help!

By enrolling in Machine Learning at the Edge on Arm: A Practical Introduction you’ll learn how to train machine learning models and implement them on industry relevant Arm-based microcontrollers.

We’ll start your learning journey by taking you through the basics of artificial intelligence , machine learning and machine learning at the edge , and illustrate why businesses now need this technology to be available on connected devices. We’ll then introduce you to the concept of datasets and how to train algorithms using tools like Anaconda and Python. We'll then go on to explore advanced topics in machine learning such as artificial neural networks and computer vision.

Along the way, our practical lab exercises will show you how you can address real-world design problems in deploying machine learning applications, such as speech and pattern recognition, as well as image processing, using actual sensor data obtained from the microcontroller. We'll also introduce you to the open source TensorFlow Python library, which is useful in the training and inference of deep neural networks.

In the final module you’ll be able to apply what you’ve learned by implementing machine learning algorithms on a dataset of your choice.

To be successful in the course, you should have an understanding of embedded systems, C language and Python. You will also need to purchase the ST DISCO-L475E development board used in the lab exercises of this course, which can be purchased directly from our technology partner STMicroelectronics: https://www.st.com/content/st_com/en/campaigns/educationalplatforms/iot-arm-edx-edu.html

Through our vast ecosystem, Arm already powers a wide range of devices and applications that rely on machine learning at the edge. Be a part of this vibrant community of developers and start your machine learning journey by enrolling in our course today!

Enroll now

What's inside

Syllabus

Module 1: An Overview of Machine Learning at the Edge
In this module, you will be introduced to key concepts in Machine Learning and learn why businesses now need this technology to be available on low-power devices.
Read more
Module 2: Introduction to Machine Learning on Constrained Devices
In this module, you will explore some of the key concepts in machine learning, such as feature extraction and classification models, in the context of signal processing. You will understand the importance of training and evaluation in the machine learning workflow, and the constraints involved when using microcontrollers for this. At the end of the module, you will complete a practical lab exercise, to implement some simple machine learning models for activity recognition, using accelerometer data. To do so, you will be shown how to use Anaconda and Python to work with datasets.
Module 3: Explain Artificial Neural Networks
This module dives deeper into a powerful and widely used model in Machine Learning: the artificial neural network. These can analyze large quantities of input data in complex ways, in order to solve classification problems, such as identifying objects in an image. In order to run neural networks on small microprocessors, these models need to be as streamlined as possible. So you will also look at the complexity of a typical neural network, and see some techniques to reduce this complexity, such as quantization. In the lab, you will continue building a classifier for activity recognition, but this time using a neural network on an Arm STM32 microprocessor. For this, you will be introduced to the TensorFlow Python library, which is also popular for many applications in machine learning.
Module 4: Convolutional Neural Networks
Neural networks can be used to solve complex classification problems, as you have already seen. In this module, you’ll discover a more advanced model: the convolutional neural network. These are important for image processing, as they can interpret relationships between adjacent pixels, but they are also used in other applications such as financial modeling. This is a new and modern technique so you’ll be learning about the cutting edge of machine learning, and the recent trends in this field. In the lab, you’ll develop a convolutional neural network for audio processing, and optimize it for both accuracy and performance. This would allow it to give good results on a small device without draining the battery or delaying the response.
Module 5: Computer Vision and Models
The algorithms used in modern machine learning can be very complex, and require many iterations of innovation and testing by computer scientists. This is especially true for the optimized algorithms required by microprocessors! Thankfully, you do not need to implement these algorithms yourself, as they are available in libraries, such as CMSIS-NN, developed by Arm. This module shows you how this library can be used for machine learning—for example for image processing using convolutional neural networks. In the lab exercise, you also have the opportunity to use CMSIS-NN to develop a simple model for the CIFAR-10 dataset, using CUBE AI.
Module 6: Optimizing Machine Learning on Constrained Devices
For machine learning to perform well, even on the smallest devices, it is essential to optimize the models to minimize their memory footprint and the number of operations required to perform inference tasks. In practice, this allows portable devices to be more responsive, and extends their battery life. In this last module, you’ll explore some of the cutting-edge techniques used to optimize neural networks, such as using fixed-point arithmetic in place of floating-point arithmetic. To consolidate your learning, you will develop the best machine learning model that you can, that would be able to run on an ArmCortex-M microprocessor, using a toolkit such as CMSIS-NN.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops skills and knowledge in machine learning and deploying machine learning models on microcontrollers, which are in-demand skills in the industry
Taught by Arm Education, who are experts in the field of machine learning on Arm-based microcontrollers
Explores machine learning at the edge, a cutting-edge topic in the field of machine learning
Provides hands-on lab exercises using the ST DISCO-L475E development board, allowing learners to apply their knowledge in a practical setting
Requires learners to purchase the ST DISCO-L475E development board, which may be an additional cost for some learners

Save this course

Save Getting Started with Machine Learning at the Edge on Arm to your list so you can find it easily later:
Save

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 Getting Started with Machine Learning at the Edge on Arm with these activities:
Compile a Glossary of Machine Learning Terms
Enhances understanding of machine learning terminology.
Browse courses on Machine Learning
Show steps
  • Review course materials, research papers, and online resources to collect machine learning terms.
  • Define each term clearly and concisely.
  • Organize the terms into a structured glossary.
Read Artificial Intelligence: A Modern Approach, 4th Edition
Provides a comprehensive overview of machine learning and artificial intelligence concepts.
Show steps
  • Read the first seven chapters of the book.
  • Review the key concepts and algorithms covered in each chapter.
  • Complete the practice exercises and quizzes at the end of each chapter.
  • Prepare a summary of the main ideas covered in the book.
Review Linear Algebra and Calculus
Refreshes essential mathematical skills for machine learning.
Browse courses on Linear Algebra
Show steps
  • Go over key concepts such as matrices, vectors, and derivatives.
  • Solve practice problems to improve understanding.
  • Review online resources or textbooks for additional support.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow Tutorials on Deep Learning Frameworks
Provides practical guidance on using deep learning frameworks for machine learning tasks.
Browse courses on Deep Learning
Show steps
  • Identify reputable sources for deep learning tutorials, such as Coursera or Udacity.
  • Select tutorials that align with your learning goals and skill level.
  • Follow the tutorials step-by-step, implementing the concepts in your own projects.
Solve Machine Learning Coding Exercises
Strengthens problem-solving and coding skills in machine learning.
Browse courses on Machine Learning
Show steps
  • Find online coding platforms or tutorials that provide machine learning problems.
  • Solve coding exercises on topics such as data preprocessing, model training, and evaluation.
  • Review solutions and identify areas for improvement.
Develop a Machine Learning Model for Object Detection
Applies machine learning techniques to a practical problem, enhancing understanding of model development.
Browse courses on Computer Vision
Show steps
  • Gather a dataset of images containing the objects to be detected.
  • Choose and train a suitable machine learning model for object detection.
  • Evaluate the performance of the model on a validation dataset.
  • Deploy the model on a device or platform for real-time object detection.
Design and Implement a Machine Learning Solution for Edge Computing
Provides hands-on experience in implementing and optimizing machine learning models for constrained devices.
Browse courses on Edge Computing
Show steps
  • Define the problem statement and requirements for the edge computing device.
  • Select and train a machine learning model that meets the performance and resource constraints.
  • Implement the model on the edge computing device, considering efficiency and optimization.
  • Test and evaluate the solution to ensure accuracy and performance.

Career center

Learners who complete Getting Started with Machine Learning at the Edge on Arm will develop knowledge and skills that may be useful to these careers:
Artificial Intelligence Engineer
Artificial Intelligence Engineers design, develop, and maintain artificial intelligence systems. The Machine Learning at the Edge course is particularly relevant for Artificial Intelligence Engineers who want to work on IoT devices, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Embedded Systems Engineer
Embedded Systems Engineers design, develop, and maintain embedded systems. The Machine Learning at the Edge course is particularly relevant for Embedded Systems Engineers who want to use machine learning on their embedded systems, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
IoT Developer
IoT Developers design, develop, and maintain IoT devices and applications. The Machine Learning at the Edge course is particularly relevant for IoT Developers who want to use machine learning on their devices, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Machine Learning Engineer
Machine Learning Engineers design, develop, and implement machine learning models to solve real-world problems. This Machine Learning at the Edge course is particularly relevant for Machine Learning Engineers who want to work on IoT devices, as it covers the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Data Scientist
Data Scientists are responsible for gathering, analyzing, and interpreting data to help businesses make informed decisions. This Machine Learning at the Edge course can help build a foundation for Data Scientists as it provides an overview of the field, including topics related to data processing, machine learning, and artificial intelligence. The course also covers specific techniques for optimizing machine learning models for use on constrained devices, which is relevant to many IoT applications.
Software Engineer
Software Engineers design, develop, and maintain software systems. The Machine Learning at the Edge course would be beneficial for Software Engineers who want to work on IoT devices, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Computer Vision Engineer
Computer Vision Engineers design, develop, and maintain computer vision systems. The Machine Learning at the Edge course would be beneficial for Computer Vision Engineers who want to work on IoT devices, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Technical Writer
Technical Writers create documentation for technical products and services. This Machine Learning at the Edge course may be helpful for Technical Writers who want to write about IoT devices and applications, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Robotics Engineer
Robotics Engineers design, develop, and maintain robots. This Machine Learning at the Edge course may be helpful for Robotics Engineers who want to use machine learning on their robots, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Researcher
Researchers conduct research to advance knowledge in a variety of fields. This Machine Learning at the Edge course may be helpful for Researchers who want to work on IoT devices and applications, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Educator
Educators teach students about a variety of subjects. This Machine Learning at the Edge course may be helpful for Educators who want to teach about IoT devices and applications, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Business Analyst
Business Analysts identify and analyze business needs and develop solutions to meet those needs. This Machine Learning at the Edge course may be helpful for Business Analysts who want to work on IoT projects, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Product Manager
Product Managers are responsible for managing the development and launch of new products. This Machine Learning at the Edge course may be helpful for Product Managers who want to work on IoT products, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Data Analyst
Data Analysts collect, analyze, and interpret data to help businesses make informed decisions. This Machine Learning at the Edge course may be helpful for Data Analysts who want to work with IoT data, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.
Consultant
Consultants provide advice and guidance to businesses on a variety of topics. This Machine Learning at the Edge course may be helpful for Consultants who want to work with clients in the IoT industry, as it provides an overview of the challenges and techniques involved in deploying machine learning models on devices with limited resources.

Reading list

We've selected ten 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 Getting Started with Machine Learning at the Edge on Arm.
Provides a practical introduction to deep learning. It covers the basics of deep learning, as well as how to implement deep learning algorithms using the fastai and PyTorch libraries. It good resource for anyone who wants to learn more about deep learning.
Provides a practical introduction to TensorFlow. It covers the basics of TensorFlow, as well as how to implement deep learning algorithms using TensorFlow. It good resource for anyone who wants to learn more about TensorFlow.
Provides a comprehensive overview of deep learning. It covers the basics of deep learning, as well as some of the more advanced topics. It good resource for anyone who wants to learn more about deep learning.
Provides a practical introduction to machine learning using Scikit-Learn, Keras, and TensorFlow. It covers the basics of machine learning, as well as how to implement machine learning algorithms using these libraries. It good resource for anyone who wants to learn more about machine learning using Python.
Provides a comprehensive overview of deep learning using Python. It covers the basics of deep learning, as well as some of the more advanced topics. It good resource for anyone who wants to learn more about deep learning using Python.
Provides a comprehensive overview of artificial intelligence using Python. It covers the basics of artificial intelligence, as well as some of the more advanced topics. It good resource for anyone who wants to learn more about artificial intelligence using Python.
Provides a comprehensive overview of computer vision. It covers the basics of computer vision, as well as some of the more advanced topics. It good resource for anyone who wants to learn more about computer vision.
Provides a practical introduction to machine learning using Python. It covers the basics of machine learning, as well as how to implement machine learning algorithms using Python. It good resource for anyone who wants to learn more about machine learning using Python.
Provides a very basic introduction to machine learning. It covers the very basics of machine learning, and good resource for anyone who wants to learn more about machine learning without getting too technical.

Share

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

Similar courses

Here are nine courses similar to Getting Started with Machine Learning at the Edge on Arm.
Machine Learning at the Edge on Arm: A Practical...
Most relevant
CPS solution for Industries
Embedded Systems Essentials with Arm: Get Practical with...
Embedded Systems Essentials with Arm: Getting Started
IoT Edge Computing: Introduction to AWS Greengrass
Fundamentals of TinyML
Teaching with Physical Computing: Introduction to Project...
Structuring Machine Learning Projects
CPS Design with ARM Core using MicroPython for Industries
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