[Beginner's Guide] How to develop machine learning?
Latest update time:2022-06-13
Reads:
This blog post introduces the application scenarios of IoT combined with machine learning (
ML
), and how to
develop machine learning
based on
Silicon Labs'
(also known as "Silicon Labs") wireless
SoC
platform. For full content, please click on the end of the article
Read the original article
or visit the following link:
https://community.silabs.com/s/share/a5U8Y000000MdWuUAK/how-to-get-started-on-machine-learning?language=en_US
Why do we need IoT chip manufacturers to enable machine learning applications?
It is important for chip manufacturers to perform machine learning at the edge of the device network rather than at the access point or in the cloud, as this can provide significant advantages in terms of latency. Processing and corresponding actions on edge data can also lead to better system performance. For example, enabling contextual awareness of the device can reduce bandwidth requirements and power consumption. Since raw sensor data does not need to be sent to the cloud, less bandwidth is required, and there is no need to use cloud servers to analyze the data, which saves energy. Finally, privacy and security can also be improved through machine learning. For example, a person's facial image does not need to be sent to the cloud and identity recognition can be done locally.
Creating an optimized wireless platform that can run ML
in limited memory
Integrating machine learning into edge devices has been one of the most anticipated developments in the IoT space. As
a manufacturer of
IoT wireless
SoCs
,
Silicon Labs
offers developers a solution in a form factor that can be incorporated into embedded applications.
Silicon Labs
already
supports machine learning application development in its
Wireless Gecko
1st and 2nd Generation
wireless
SoC
platforms, including the newly released
BG24
and
MG24
families with built-in
AI/ML
hardware accelerators
. This is a software-enabled co-processor, and two of our partners,
SensiML
and
Edge Impulse,
have updated their platforms to automatically use the hardware accelerator when developing code for
the BG24
or
MG24
. Specifically, select
TensorFlow
kernels are accelerated by this co-processor to offload
the MCU
and allow it to perform other tasks, such as wireless communications. Any
developer or third party using
TensorFlow Lite
for
Microcontrollers
(TFLM
) will be able to automatically take advantage of the hardware accelerator.
What do developers need to know about machine learning solutions?
Although it is possible to build an application entirely around machine learning, we believe that most people will use machine learning to add new, differentiated features to embedded wireless products. We call this approach “Machine Learning as a Feature
.
” Developing an application that integrates machine learning as a feature requires two distinct workflows:
-
Embedded application development work for creating wireless applications (using Simplicity Studio or your favorite IDE ).
-
Machine learning workflows are used to create machine learning capabilities that can be added to embedded applications.
When devices with machine learning as a feature are eventually deployed in the field, the application will take input from relevant sensors (such as microphones) and analyze it in a process called inference. Inference is the process of running real-time data points through a machine learning model to predict a classification. Additional post-processing of the model output
(
for example, thresholding and averaging
)
is usually required
.
Getting started with machine learning—choose the right tool for the job
While
Silicon Labs
provides a platform that helps you incorporate machine learning into embedded applications, we do not provide actual machine learning models. Therefore, we have partnered with many model tool and solution providers and further provide documentation on different approaches to choosing the best tool for your needs. The most suitable tool for embedded developers depends on two aspects: the level of machine learning skills
(
see the figure below
)
and the use case being developed. At the bottom of the documentation page, you can find links to some use case-based examples and tutorials.
Get hands-on experience with
AI/ML
-enabled development kits
Our
EFR32xG24
and
Thunderboard Sense
development kits are great for easily trying out a variety of machine learning example applications. All of the software described above can be run on either development kit.
Learn more development tips from our partners
SensiML
’s
existing
AI
tools leverage the latest
AI/ML
hardware acceleration capabilities present in our new
BG24
and
MG24
SoCs
.
SensiML
’s analytics toolkit with built-in
autoML
software
complements
the
MG24
and
BG24 SoC
families
by enabling
OEMs
to quickly create power-optimized smart sensing applications without data science expertise
.
Edge Impulse
and
Silicon Labs
are delivering a powerful embedded machine learning platform for companies building AI-aware products. With the new
MG24
and
BG24 SoCs
, embedded developers can use
Edge Impulse
’s solutions to design automated data labeling, pre-built digital signal processing and machine learning function blocks, real-time classification testing, and digital twins
that
are simpler, more contextualized, and easier to develop than ever before.
More reference information
Webinars and training replays
-
How to maximize the intelligence of MG24https://www.silabs.com/about-us/events/wireless-connectivity-tech-talks
-
MG24 hands-on workshop!https://www.silabs.com/about-us/events/mg24-tech-lab?source=Website&detail=Organic-Traffic&cid=web-ewk-mat-042122
-
Works With related courseshttps://www.silabs.com/support/training/tinyml-and-edge-machine-learning/eml-101-benefits-of-enabling-artificial-intelligence-and-machine-learning-on-the-edge
Website Information
-
Silicon Labs’ Starting Point for MLhttps://www.silabs.com/applications/artificial-intelligence-machine-learning
Technical Documentation
-
Fundamentals of Machine Learning for Embedded Applicationshttps://www.silabs.com/documents/public/user-guides/ug103-19-machine-learning-fundamentals.pdf
-
A guide to choosing the best machine learning model development toolshttps://docs.silabs.com/machine-learning/latest/machine-learning-overview/
-
TensorFlow Lite for Microcontrollers in GSDKhttps://docs.silabs.com/gecko-platform/latest/machine-learning/tensorflow/overview
Blog Posts
-
Share the latest BG24/MG24 wireless integrated chip's diverse customer application caseshttps://news.silabs.com/2022-05-04-Silicon-Labs-BG24-MG24
The author of this article,
Dan Kozin
, is
a senior product manager at
Silicon Labs
, responsible for machine learning software and
DX
. He has many years of experience in product management and software engineering, focusing on user experience and scalable systems. He has extensive industry experience in development platforms in the fields of communication systems, networks, the Internet of Things, mobile devices, and computer telephony.
You can also scan the following QR code to follow
Silicon Labs
on social media platforms