Thèse soutenue

Synthèse de code virgule fixe pour les réseaux de neurones
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Hanane Benmaghnia
Direction : Matthieu MartelYassamine Seladji
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 07/10/2022
Etablissement(s) : Perpignan
Ecole(s) doctorale(s) : École doctorale Énergie environnement (Perpignan)
Partenaire(s) de recherche : Laboratoire : Laboratoire de Modélisation pluridisciplinaire et simulations (Perpignan)
Jury : Examinateurs / Examinatrices : Xavier Thirioux, Guillaume Revy, Bertrand Le Gal
Rapporteurs / Rapporteuses : Mostafa El Habib Daho, Claude Michel

Résumé

FR  |  
EN

Minimiser la précision avec laquelle les neurones d’un réseau de neurones calculent, est un objectifsouhaitable pour limiter les ressources nécessaires à son exécution. Ceci est particulièrement important pour les réseaux de neurones utilisés dans les systèmes embarqués, ayant des ressources limitées (petites mémoires, CPUs effectuant du calcul entier, etc.) Malheureusement, les réseaux de neurones sont très sensibles à la précision avec laquelle ils ont été entraînés et changer cette précision, dégrade généralement la qualité de leurs réponses. L’utilisation de l’arithmétique à virgule fixe, basée sur les entiers et les opérations entières uniquement, reste un bon compromis entre les ressources limitées des systèmes embarqués et les calculs importants des réseaux de neurones. Cependant, cette dernière est difficile à maintenir. La gestion de la virgule fixe doit se faire manuellement contrairement aux flottants, où l’exposant est géré automatiquement. Dans cette thèse, nous introduisons trois nouvelles techniques pour ajuster les formats fixes et synthétiser un code à virgule fixe pour un réseau de neurones entraîné, donné en entrée, utilisant uniquement des entiers et ayant le même comportement que le réseau flottant initial.Pour se faire, le nombre de bits avec lequel est représenté chaque neurone et chaque poids synaptique,doit être ajusté (la plus petite valeur possible), de telle sorte à ce que le nouveau réseau calcule une sortie, où l’erreur commise n’excède pas un seuil d’erreur, choisi par l’utilisateur. D’un point de vue technique, nous générons un système de contraintes avec des variables entières pouvant être résolues par un solveur SMT. La solution à ce système, si elle existe, donnera le nombre de bits minimal requis pour chaque neurone et chaque poids synaptique.expérimenterons notre méthode sur des réseaux de neurones fournis par les partenaires du laboratoire commun SYFI.