Thèse en cours

Implantation certifiable et efficace de réseaux de neurones sur des systèmes embarqués temps-réel critiques.

FR  |  
EN

Accès à la thèse

Triangle exclamation pleinLa soutenance a eu lieu le 16/07/2024. Le document qui a justifié du diplôme est en cours de traitement par l'établissement de soutenance.
Auteur / Autrice : Iryna De albuquerque silva
Direction : Claire PagettiThomas CarleWerner De rammelaere
Type : Projet de thèse
Discipline(s) : Informatique et Télécommunications
Date : Inscription en doctorat le
Soutenance le 16/07/2024
Etablissement(s) : Toulouse, ISAE
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications
Partenaire(s) de recherche : Laboratoire : ISAE-ONERA MOIS MOdélisation et Ingénierie des Systèmes
Jury : Président / Présidente : Isabelle Puaut
Examinateurs / Examinatrices : Claire Pagetti, Liliana Cucu-grosjean, Pierre-Emmanuel Hladik, Albert Cohen, Tomasz Kloda, Victor Jegu, Thomas Carle
Rapporteurs / Rapporteuses : Liliana Cucu-grosjean, Pierre-Emmanuel Hladik

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Contexte. Le monde de l’aéronautique envisage l’utilisation d’algorithmes d’apprentissage automatique, et en particulier de réseaux de neurones, pour faciliter et améliorer des tâches telles que la navigation, la maintenance prédictive et le contrôle du trafic aérien. Toutefois, leur utilisation dans des systèmes critiques soulève de nombreuses questions de sécurité et de conformité aux exigences de certification. Ces dernières visent à garantir la correction de la conception jusqu’à l’implantation de la fonction attendue. Récemment de nouvelles directives, telles que le standard ARP6983 [152], sont en cours d’écriture pour compléter les textes réglementaires existant afin de permettre l’introduction d’algorithmes d’apprentissage automatique dans des systèmes avioniques. Ces directives complètent notamment la DO-178C [67], le standard de référence pour le développement de logiciels. Cette thèse étudie l’implantation en temps réel et en toute sécurité de réseaux de neurones feed-forward sur des systèmes avioniques embarqués. En particulier, nous nous concentrons sur le modèle de réseau neuronal entrainé et vérifié hors ligne, appelé modèle d’inférence. L’objectif est de définir une approche de développement logiciel de modèles d’inférence en conformité avec exigences de l’avionique. Approche. Nous avons défini un certain nombre d’objectifs nécessaires pour garantir l’implantation sûre et correcte d’un modèle d’inférence. Ces objectifs sont un sous-ensemble de ceux listés dans les normes de certification, mais ont été identifiés comme difficiles à atteindre pour le processus traditionnel de développement de logiciels d’apprentissage automatique et sont cohérents avec les directives en cours d’élaboration, à savoir les feuilles de route de l’EASA et la norme ARP6983. Plus précisément, les objectifs sélectionnés dans la thèse sont (i) la description précise et non ambigüe de la fonctionnalité du modèle d’inférence, (ii) la préservation de la sémantique et la traçabilité de la description du modèle d’inférence jusqu’à l’exécutable final, (iii) la prédictibilité temporelle de l’implantation, et (iv) une utilisation efficace des ressources disponibles. Contributions. Pour implanter correctement un modèle d’inférence, il est important de définir formellement sa sémantique. Cela correspond à la première contribution de la thèse et nous avons formalisé chaque couche du modèle d’inférence sous forme de fonctions mathématiques. Ensuite, nous avons développé ACETONE, de l’anglais “Avionics C code generator for Neural Networks”. ACETONE est un framework qui, à partir de la description d’un modèle d’inférence, génère automatiquement un code C sémantiquement équivalent et prédictible. Nous avons évalué le framework sur un ensemble réaliste de cas d’utilisation pour valider l’approche en regard des objectifs de certification choisis. En outre, nous avons comparé l’approche à des outils de l’état de l’art. Une fois le framework défini et disponible sur GitHub, nous avons choisi un axe d’amélioration et d’optimisation de code pour accélérer les temps de calcul. Plus précisément nous nous sommes concentrés sur les convolutions. L’idée est de reprendre les travaux classiques qui transforment une convolution en une multiplication matricielle. Cependant, les routines d’algèbre linéaire disponibles sur étagère ne sont pas compatibles avec les exigences de l’avionique. C’est la raison pour laquelle, nous avons proposé notre propre implantation prédictive, traçable et efficace d’un algorithme de multiplication matrice-matrice (GEMM) par blocs. Nous avons montré comment configurer un tel algorithme pour une cible donnée tout en proposant une méthode formelle de calcul du nombre d’accès à la mémoire et du nombre de cache misses, ce qui ouvre la voie à une analyse statique du WCET.