Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Mobile blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Smart Homes
    • Tools, Software and IDEs blog
    • Works on Arm blog
    • 中文社区博客
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
AI and ML blog Unlocking the power of collaborative learning on Arm MCUs
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • Machine Learning (ML)
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Unlocking the power of collaborative learning on Arm MCUs

Mary Bennion
Mary Bennion
July 6, 2020

****All content for this blog written by Alexander Eroma, head of Intelligence at Octonion****

In today's industrial IoT eco-system, equipment manufacturers are facing different challenges. One of their pains is the lack of information they have about their equipment usage after the sale. Indeed, it is crucial for an Industrial manufacturer to know how the machine is used, how performant it is, and when it is starting to act 'abnormally'. The goal of having this information is to provide to its end customers a qualified recommendation for maintenance and propose better services to fit customer's needs.

In this context, the idea of having Intelligence at the edge, within the machine, and sharing received knowledge from one to many machines, seems obvious.  The manufacturer deals with a fleet of equipment and is what we call “Collaborative Learning”.

In Octonion’s Collaborative Learning approach: each industrial equipment is powered by an Arm Cortex M microcontroller (what we define as the edge) and connected to the Cloud.

 This is an image of an Arm based edge node.

Figure 1: Octonion’s edge pipeline

Each edge node manages the unsupervised AI model which provides the output used for the collaborative learning. The node is responsible for:

  • Recognizing vibration patterns in unsupervised mode through dynamic clustering.
  • Sending each novel pattern information into the cloud to update the shared AI model. Note that we differentiate patterns ‘known’ as already identified by the machine and sent to the cloud. Patterns ‘novel’ as first time identified by the machine, not yet sent to the cloud.
  • Receive and store vibration patterns information from other nodes. 

Octonion’s pipeline of unsupervised learning at the edge can be represented as follows:

  A graphic showing Octonion’s edge pipeline.

Figure 2: Octonion’s edge pipeline

The following is a short description of all the steps of the Octonion’s edge Pipeline that are done on the Arm Cortex M microcontroller:

  • The signal filtration stage is used to remove the low-frequency variations and constant component of the accelerometer.
  • Signal features extraction recognizes vibration patterns and build the vibration pattern descriptors. To reduce CPU load and perform evaluations effectively the CMSIS DSP library used for fast Fourier transform evaluation
  • The stationary features filter is used to dropout the features representing non-stationary signal from the classification and clustering. This ensures that the eventual outlier will not be considered in the learning target.
  • The pattern classifier makes decisions if observations represent the known or novel vibration pattern. Clustering procedure is used to construct vibration pattern descriptors based on past observations in unsupervised mode. If a set of objects under the current observation window was not classified as a known vibration pattern, we need to create a novel vibration pattern. At this step, we deal with relatively stationary observations, which means that one cluster represents most of the objects and the rest of the clusters contains a few objects. The goal of this clustering step is to filter out the outliers from the study population, to ensure that only the typical samples are used to build the pattern descriptors.
  • The rule processor module is used to trigger user-defined actions based on recognized machine state. The rules define users such as: “if a new pattern (novel) is detected then send me an alert”. At each iteration, the rule engine takes as an input the output of data analysis pipeline and evaluates if the rules should be triggered.
  • The IoT Connection module is used to send information about each vibration event to the cloud.

Now let us consider the principles of knowledge sharing across multiple nodes.

When any device recognizes a novel vibration pattern, this pattern is sent to the cloud to contribute to the shared model. The cloud application builds the model and delivers learned patterns to other edge nodes with the following assumptions:

  • Each device holds a local instance of the model
  • The cloud application is responsible for the shared model storage, the model correction, and versioning
  • The shared model is complemented with new patterns learned at the edge

 This is a graphic showing patterns sharing.

 Figure 3. Patterns sharing

One of the key aspects of this collaborative learning approach is the procedure of model correction in the cloud application.

In the real world, despite that each machine is mechanically unique, N similar machines may have N similar vibrational patterns at a global scale for the same machine operational mode or condition, even if vibration patterns are different at the local level. This approach is the rationale for the procedure of model correction.

 This is a graphic showing model correction procedure

Figure 4. Model correction procedure 

To manage globalization of different local clustering of each machine, a specific procedure of model correction is triggered. The procedure consists in applying an additional clustering to all known patterns from all nodes, so the similar vibration patterns recognized independently on different nodes can be merged into a single shared pattern. The last step is to find out groups of overlapping and tight shared patterns. Once clustering is complete, the allocated clusters replace the vibration patterns. The appropriate model correction patch is then built and sent to all edge nodes.

The Collaborative Learning process enables building a knowledge database for a given type of machine. , By persistently monitoring one machine’s output and having localized unsupervised learning, anomalies are flagged. These flagged anomalies are then pre-classified for the next similar machine. Through this collaborative learning approach, one machine’s anomalies become another machine’s known error state and previous learnings are shared between devices.

Thanks to Intelligence at the machine level, Industrial manufacturers can get a knowledge per equipment. With Collaborative learning on top, manufacturers can bring this Intelligence to a next level with machines being smarter together.

Learn More about Collaborative Learning

Anonymous
AI and ML blog
  • Usability, performance, and new technologies for Machine Learning: Arm NN in 2021

    James Conroy
    James Conroy
    In this blog post, read about advancements in ML with Arm NN 2021.
    • February 2, 2022
  • Vela Complier: The first step to deploy your NN model on the Arm Ethos-U microNPU

    Liliya Wu
    Liliya Wu
    As first step to deploy your NN model on Ethos-U, Vela Complier is open-source and easy-use. Try it out and embrace the improvement of ML ability brought by Ethos-U to embedded system.
    • January 17, 2022
  • Optimize a ML model for fast inference on Ethos-U microNPU

    Elham Harirpoush
    Elham Harirpoush
    This blog post explains how to optimize a trained deep neural network model to run on Ethos-U55 and Ethos-U65.
    • January 11, 2022