As discussed in our previous articles, machine learning mechanisms can be adjusted to fit the constraints of ultra-limited embedded systems. However, some major obstacles still remain..
5 – Machine learning true obstacles
5.1 Getting enough data for the learning phase
While all the steps of the machine learning process can be adjusted for embedded systems, there is a prerequisite that may seem trivial but which is in reality the key point of such project: the learning data!
Most of the time, the algorithms will be based data from sensors. It is therefore necessary to obtain data from these sensors that are representative of the event to be detected. In our case, we wanted to detect the loading by crane of containers into the ships. We therefore had to record and then remotely retrieve the data from the sensors during hundreds of crane lift ups, with objects placed either on the containers themselves or on the crane moving these containers. This required a lot of time but above all agreements with our partners for access to port areas and crane equipment.
5.2 Data quantity and quality
It goes without saying that the more data you get, the more effective the detection algorithm will be. But it is also important to collect diversified data: only having hundreds of recordings from the same crane over a few days would not be representative of the variety of port equipments and conditions all over the world.
Likewise, it is essential to record a lot of false-positive data: i.e. i.e. other events which, from a data point of view, could be closely related to a crane operation but which in reality have nothing to do with it (like a truck going over a hill, or a container moved in the port storage area for instance). This is essential to make sure that the algorithm will be able to distinguish these various events, using all the data at its disposal.
The sensors that are used during the recording phase must be the same as those that will be present on the final object. Otherwise data may be slightly different and the algorithm may not be functionnal. In addition, those sensors must be configured the same way: for instance if a g-sensor has its axis in a different orientation on the final object, the algorithm might have to be adjusted “manually”, which is always risky.
Finally, the environment may change between the recording phase and the product launch. For instance, if an algorithm is based on a pressure sensor, it is important to remember that atmospheric pressure varies every day depending on the weather. Therefore, the algorithm should be based on relative pressure change, rather than on absolute pressure values.
5.3 Field validation
At the end of the machine learning process, the field validation of the final product is the last challenge. Indeed, while data recordings can be done at different times and locations, with different objects or processes, at the end of the day, one should make sure that the final product is able to detect correctly all the events and false-positives under all possible circumstances. This requires a large amount and variety of field tests and, in our particular case, once again some partners or “beta-tester” customers willing to test those algorithms.
6 – Machine learning in embedded systems: added value and possibilities
As we’ve seen throughout these articles, while there are many constraints and obstacles along the way, the use of the learning machine is completely possible in small autonomous objects. But does this make a significant difference compared to “traditional” or “empirical” methods? Clearly, the answer is “Yes” and here are 3 main reasons :
6.1 More complex algorithms to cleverly differentiate events
Machine learning softwares are able to analyze and compute many different metrics in order to find an algorithm capable of reliably detecting an event, and especially to differentiate it from other events or false-positives. Such algorithms are often way more complex than what a human being can find. They may use metrics that we would not have considered relevant. And they are able to detect and use “weak signals” that may escape human analysis.
6.2 Learning or test data can be added easily
It is very easy to add new recorded data, either to improve the algorithm or to test it. Likewise it is easy to try out new metrics based on already existing data..
6.3 A known and mastered reliability
Machine learning softwares not only provide the algorithm but also its performance (or success rate). It is then easy to estimate the reliability of this algorithm in the field, try to improve it or find alternatives to compensate failure cases.
Finally, thanks to machine learning mechanisms, it is now possible to design small autonomous objects capable of efficiently detecting complex events or closely related events, for which a human brain could hardly have found a suitable algorithm.
As we’ve seen throughout these 3 articles dedicated to machine learning, it is now possible to use this concept in ultra-limited autonomous objects by taking into consideration the constraints of such embedded systems. The real difficulties often lie more in obtaining the learning data and performing the field tests rather than applying the machine learning techniques themselves. But once all obstacles are passed, it is possible to design very innovative features or products.
by Julien Brongniart