Thèse soutenue

Analyse inverse des erreurs des réseaux de neurones artificiels avec applications aux calculs en virgule flottante et aux attaques adverses

FR  |  
EN
Auteur / Autrice : Theo Beuzeville
Direction : Alfredo ButtariNicolas Winckler
Type : Thèse de doctorat
Discipline(s) : Informatique et Télécommunications
Date : Soutenance le 07/06/2024
Etablissement(s) : Université de Toulouse (2023-....)
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications (Toulouse)
Partenaire(s) de recherche : Laboratoire : Institut de Recherche en Informatique de Toulouse (1995-....)
Etablissement délivrant conjointement le doctorat : Institut national polytechnique (Toulouse ; 1969-....)
Jury : Président / Présidente : Philippe Langlois
Examinateurs / Examinatrices : Alfredo Buttari, Nicolas Winckler, Philippe Langlois, Fabienne Jézéquel, Ehouarn Simon
Rapporteurs / Rapporteuses : Philippe Langlois, Nicolas Brisebarre

Résumé

FR  |  
EN

L'utilisation d'intelligences artificielles, dont les implémentations reposent souvent sur des réseaux de neurones artificiels, se démocratise maintenant dans une grande variété de tâches. En effet, ces modèles d'apprentissage profond produisent des résultats bien meilleurs que de nombreux algorithmes spécialisés précédemment utilisés et sont donc amenés à être déployés à grande échelle.C'est dans ce contexte de développement très rapide que des problématiques liées au stockage de ces modèles émergent, car ils sont parfois très profonds et comprennent donc jusqu'à des milliards de paramètres, ainsi que des problématiques liées à leurs performances en termes de calcul tant d'un point de vue de précision que de coût en temps et en énergie. Pour toutes ces raisons, l'utilisation de précision réduite est de plus en plus indispensable.D'autre part, il a été noté que les réseaux de neurones souffrent d'un manque d'interprétabilité, étant donné qu'ils sont souvent des modèles très profonds, entraînés sur de vastes quantités de données. Par conséquent, ils sont très sensibles aux perturbations qui peuvent toucher les données qu'ils traitent. Les attaques adverses en sont un exemple ; ces perturbations, souvent imperceptibles à l'œil humain, sont conçues pour tromper un réseau de neurones, le faisant échouer dans le traitement de ce qu'on appelle un exemple adverse. Le but de cette thèse est donc de fournir des outils pour mieux comprendre, expliquer et prédire la sensibilité des réseaux de neurones artificiels à divers types de perturbations. À cette fin, nous avons d'abord étendu à des réseaux de neurones artificiels certains concepts bien connus de l'algèbre linéaire numérique, tels que le conditionnement et l'erreur inverse. Nous avons donc établi des formules explicites permettant de calculer ces quantités et trouvé des moyens de les calculer lorsque nous ne pouvions pas obtenir de formule. Ces quantités permettent de mieux comprendre l'impact des perturbations sur une fonction mathématique ou un système, selon les variables qui sont perturbées ou non.Nous avons ensuite utilisé cette analyse d'erreur inverse pour démontrer comment étendre le principe des attaques adverses au cas où, non seulement les données traitées par les réseaux sont perturbées, mais également leurs propres paramètres. Cela offre une nouvelle perspective sur la robustesse des réseaux neuronaux et permet, par exemple, de mieux contrôler la quantification des paramètres pour ensuite réduire la précision arithmétique utilisée et donc faciliter leur stockage. Nous avons ensuite amélioré cette approche, obtenue par l'analyse d'erreur inverse, pour développer des attaques sur les données des réseaux comparables à l'état de l'art. Enfin, nous avons étendu les approches d'analyse d'erreurs d'arrondi, qui jusqu'à présent avaient été abordées d'un point de vue pratique ou vérifiées par des logiciels, dans les réseaux de neurones en fournissant une analyse théorique basée sur des travaux existants en algèbre linéaire numérique. Cette analyse permet d'obtenir des bornes sur les erreurs directes et inverses lors de l'utilisation d'arithmétiques flottantes. Ces bornes permettent à la fois d'assurer le bon fonctionnement des réseaux de neurones une fois entraînés, mais également de formuler des recommandations concernant les architectures et les méthodes d'entraînement afin d'améliorer la robustesse des réseaux de neurones.