Comme nous avons pu le voir dans les 2 articles précédents de cette série, il est possible d’adapter les mécanismes du machine learning au monde ultra-contraint de l’embarqué. Il reste cependant d’autres obstacles importants avant de pouvoir implémenter de tels algorithmes dans des objets autonomes.

 

5 – Les réelles contraintes du machine learning dans l’embarqué.

5.1 Obtenir des données pour l’apprentissage

En effet, si toutes les étapes du machine learning peuvent ensuite être adaptées à l’embarqué, il y a un pré-requis qui peut sembler anodin mais qui est en réalité le point crucial du projet: les données d’apprentissage!

Schéma processus machine learning

La plupart du temps, les algorithmes seront basés sur des données de capteurs présents dans l’objet. Il faut donc obtenir les données de ces capteurs représentatives de tel ou tel événement que l’on souhaite détecter. Dans notre cas, nous souhaitions détecter le grutage des conteneurs sur les bateaux. Il nous a donc fallu enregistrer puis récupérer à distance les données des capteurs lors de centaines de grutages sur des objets placés soit sur les conteneurs eux-mêmes, soit sur la grue qui manipule ces conteneurs. Cela a nécessité beaucoup de temps mais surtout des accords avec nos partenaires pour accéder aux zones portuaires et au matériel de grutage.

5.2 La quantité et la qualité des données

Il va de soi que les données obtenues doivent être en quantité suffisante pour assurer la bonne performance de l’algorithme de détection. Il faut également avoir des données variées: avoir uniquement des centaines d’enregistrements de grutage provenant de la même grue, sur une période de quelques jours, ne serait pas représentatif de l’ensemble des équipements portuaires qui seront amenés à manipuler nos conteneurs.

Schéma processus machine learning

De même il est primordial d’enregistrer de nombreuses données de faux-positifs, c’est à dire d’autres événements qui, du point de vue des données, pourraient être très proches d’un grutage mais qui en réalité n’ont rien à voir (un camion passant une côte ou un déplacement de conteneurs sur une zone de stockage par ex). Cela est indispensable pour que l’algorithme trouvé soit capable de différencier ces différents événements, en corrélant l’ensemble des données à sa disposition.

Les capteurs utilisés lors des enregistrements doivent être les mêmes que ceux qui seront présents dans l’objet final, sinon les données pourraient être légèrement différentes et l’algorithme final non fonctionnel. Et ces capteurs doivent également être dans la même configuration dans l’objet final: un accéléromètre dont les axes seraient dans un sens différent dans l’objet final pourrait nécessiter une modification de l’algorithme “à la main”, ce qui est toujours risqué.

Enfin l’environnement peut changer entre le moment des enregistrements et la mise en service de notre produit. Par exemple si un algorithme est basé sur un capteur de pression atmosphérique, il est important de se rappeler que cette pression va varier chaque jour en fonction de la météo. Il sera donc préférable de baser l’algorithme sur des variations de pression relatives, plutôt que sur des valeurs absolues.

5.3 La validation sur le terrain

A l’autre extrémité du processus du machine learning se trouve la validation de l’algorithme obtenu sur les objets finaux sur le terrain. En effet, si les enregistrements de données peuvent se faire à différents moments, par des objets ou des procédés variés, il faudra in fine s’assurer que l’objet qui rencontrera chacun des événements analysés ainsi que tous les faux positifs possibles soit capable de les détecter correctement. Cela nécessite donc un grand nombre et une grande variété de tests terrain et, dans notre cas, une fois encore des partenaires ou des clients “beta-testeurs” enclins à éprouver ces algorithmes.

4 – Comment adapter le “machine learning” pour nos contraintes ?

Comme nous l’avons vu tout au long des ces articles, si il y a de nombreuses contraintes et de nombreux obstacles, l’utilisation du machine learning est tout à fait possible dans de petits objets autonomes. Mais cela apporte-t-il réellement une différence significative par rapport aux méthodes “traditionnelles” ou “empiriques”? La réponse est clairement : oui! En voici 3 raisons principales:

6.1 Des algorithmes beaucoup plus complexes pour différencier finement des événements

Les logiciels de machine learning sont capables d’analyser et d’utiliser de nombreux métriques différents afin de trouver un algorithme capable de détecter fiablement un événement et surtout de le différencier d’autres événements ou de faux-positifs. Les algorithmes issus de ce processus sont souvent beaucoup plus complexes que ce qu’un être humain aurait pu trouver, utilisent parfois des métriques que nous n’aurions pas jugés pertinents et sont capables de détecter les signaux faibles qui peuvent échapper à l’analyse humaine.

Schéma processus machine learning

6.2 Une grande facilité pour ajouter de nouvelles données d’apprentissage ou de test

Il est très facile d’ajouter de nouvelles données enregistrées, soit dans le but d’améliorer l’algorithme soit de le tester.
De même il est aisé de tester la pertinence de nouveaux métriques sur les données déjà présentes.

6.3 Une fiabilité connue et maîtrisée des algorithmes

Les logiciels d’apprentissage fournissent non seulement un algorithme de détection mais également sa performance (ou son taux de succès). On peut donc estimer sa fiabilité réelle sur le terrain, essayer de l’améliorer ou prendre des actions correctives pour les cas d’échec.

Au final, grâce au machine learning, il est aujourd’hui possible de concevoir des objets autonomes capables de détecter efficacement des événements complexes ou très proches les uns des autres, pour lesquels un cerveau humain aurait difficilement pu trouver un algorithme adéquat.

Conclusion

Comme nous l’avons vu au cours de ces 3 articles dédiés au machine learning, il est aujourd’hui possible d’utiliser ce concept dans des objets autonomes ultra-limités en prenant en considération quelques spécificités du monde de l’embarqué. La réelle difficulté réside souvent plus dans l’obtention de données d’apprentissage et dans la validation “terrain” que dans la mise en oeuvre du machine learning lui-même. Mais une fois ces obstacles franchis, il est possible d’imaginer de nouvelles fonctionnalités ou de nouveaux objets réellement innovants.

par Julien Brongniart