Synthèse de code virgule fixe pour les réseaux de neurones - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2022

Fixed-point code synthesis for neural networks

Synthèse de code virgule fixe pour les réseaux de neurones

Résumé

Minimizing the precision in which the neurons of a neural network compute, is a desirable objective tolimit the resources needed to execute it. This is specially important for neural networks used in embedded systems, which have limited resources (small memories, CPUs performing integer computations, etc.) Unfortunately, neural networks are very sensitive to the precision in which they have been trained and changing this precision, generally degrades the quality of their answers. Using the fixed-point arithmetic, based on integers and integer operations only, remains a good trade-off between the limited resources of embedded systems and the big number of computations of neural networks. However, this arithmetic is difficult to maintain. The management of the fixed-point position must be done manually, unlike the floating-point numbers, where the exponent is managed automatically. In this thesis, we introduce three new techniques to tune the fixed-point formats and synthesize a fixed-point code for a trained neural network, given as input, using integers only and having the same behavior as the initial floating-point network. For that, the number of bits with which each neuron and each synaptic weight is represented, have to be tuned (the smallest format), so the error committed on the outputs of the synthesized neural network, must not exceed an error threshold, chosen by the user. From a technical point of view, we generate a constraint system with integer variables that can be solved by an SMT solver. The solution to this system, if it exists, gives the minimal number of bits required for each neuron and each synaptic weight.
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.
Fichier principal
Vignette du fichier
These_Benmaghnia_Hanane_2022_Diffusion.pdf (5.04 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03935609 , version 1 (12-01-2023)

Identifiants

  • HAL Id : tel-03935609 , version 1

Citer

Hanane Benmaghnia. Synthèse de code virgule fixe pour les réseaux de neurones. Réseau de neurones [cs.NE]. Université de Perpignan, 2022. Français. ⟨NNT : 2022PERP0020⟩. ⟨tel-03935609⟩
69 Consultations
156 Téléchargements

Partager

Gmail Facebook X LinkedIn More