Tutoriel
Un tutoriel est proposé pour illustrer et compléter le cours. Basé sur les données brutes directement issues d'un smartphone (accéléromètre et gyroscope), il vise à reconnaître l'activité sans transformations initiales des variables trop coûteuses pour la batterie d'un objet connecté :
ML4IoT-Tutorial-HAR
: la troisième partie apprend un réseau de neurones classique puis un réseau de neurones avec couche convolutionnelle.
Ce tutoriel utilise la librairie Python Keras qui permet de piloter la technologie TensorFlow développée par Google mais laissée en accès libre. L'installation assez simple de Keras provoque implicitement celle de TensorFlow.
Il conduit à de bons résultats, de l'ordre de 93 % de bonnes identifications de l'activité. De meilleurs résultats nécessiteraient, comme en reconnaissance d'images, des bases de données plus volumineuses afin d'affiner l'apprentissage, et même le compléter avec la reconnaissance d'autres activités.
Pour améliorer la qualité de la reconnaissance de l'activité humaine, une première approche consisterait à tester les capacités de complétion de données proposées dans Keras. Celles-ci sont introduites et mises en œuvre dans le tutoriel distinguant chiens et chats sur des images. Il s'agirait de compléter la base d'entraînement en multipliant par translation les signaux observés, afin de rendre la phase d'apprentissage moins sensible à ces translations ou déphasages.
Ce qu'il faut retenir de ce cours
Tout au long de ce cours, vous avez mis en œuvre des techniques de sciences des données et d'apprentissage automatique, dans l'objectif de valoriser des données issues de capteurs physiques, comme celles qui pourraient provenir d'un objet connecté.
La première phase est celle de préparation et d'exploration des données.
La deuxième étape est celle d'entraînement d'un algorithme pour aboutir à une décision ou une aide à la décision automatique. Cette étape a été divisée en deux stratégies parallèles, à partir de deux jeux de données :
la première stratégie analyse les signaux transformés par des fonctions expertes ou métier en traitement du signal. L'étude montre que des modèles statistiques élémentaires car linéaires conduisent à de bons résultats pour la reconnaissance de l'activité du porteur du smartphone ;
la deuxième stratégie que vous venez d'accomplir dans cette quatrième et dernière partie est plus ambitieuse. L'objectif est d'économiser les transformations coûteuses des données pour la batterie d'un objet connecté autonome. Dans ce cas, les bonnes propriétés des réseaux de neurones profonds incorporant une ou des couches convolutionnelles permet d'aboutir à des prévisions de bonne qualité. Malheureusement, ces réseaux nécessitent des bases d'apprentissage plus conséquentes, plus représentatives de toutes les situations qui peuvent être rencontrées, en l'occurrence plus représentatives des possibilités de déphasage des signaux. Un peu plus de travail serait donc nécessaire pour atteindre la qualité de résultats de la première stratégie.
Si ce travail aboutit, la dernière phase serait celle d'embarquement de l'IA ainsi configurée dans l'objet connecté. C'est ce type d'application que vous pouvez trouver pour l'identification de la présence d'un visage sur l'écran d'un appareil photo ou d'un smartphone. C'est encore ce type d'IA qui permet de détecter la chute du porteur ou de proposer un électrocardiogramme sommaire au porteur d'une montre connectée.
Vous êtes arrivé à la fin de ce cours, félicitations ! Vous avez maintenant toutes les clés pour :
mettre en place les outils nécessaires à la science des données ;
exécuter une analyse exploratoire multidimensionnelle ;
expliquer la démarche et les enjeux de la classification supervisée ;
entraîner un algorithme de classification supervisée ;
expliquer l'évolution de l’IA ;
entraîner un algorithme d’apprentissage profond.
N'oubliez pas de réaliser les exercices évalués à la fin de chaque partie, ils vous permettront de valider ces compétences. Je vous souhaite une bonne continuation dans tous vos projets !