Brevet FR3090953A1 — publié le 20200626

Description Titre de l'invention : Méthode de vérification de la robustesse d'un réseau neuronal Domaine technique [0001] L'invention concerne, de façon générale, le domaine des réseaux neuronaux. [0002] Plus précisément, la présente invention vise un procédé de vérification de la ro- bustesse d'un réseau neuronal. Technique antérieure [0003] L'invention concerne ainsi l'évaluation de la robustesse de réseaux neuronaux, notamment mis en oeuvre dans des modes de conduite autonome de véhicules. [0004] Aujourd'hui, des systèmes d'assistance à la conduite sont couramment mis en oeuvre dans les véhicules automobiles et de plus en plus de véhicules disposent d'un mode de conduite autonome. [0005] Ainsi, les développements relatifs à la mise en oeuvre de modes de conduite autonome dans les véhicules sont nombreux. Aujourd'hui, un véhicule autonome comprend généralement, de manière connue, un mode de conduite manuelle et un mode de conduite autonome, permettant au conducteur de ne pas focaliser son attention sur la conduite. Le conducteur peut choisir le mode de conduite en fonction des circonstances et de l'environnement du véhicule. [0006] Actuellement, la conduite autonome doit permettre la prise en compte de situations de conduite complexes. Cela implique la mise en oeuvre d'algorithmes d'intelligence artificielle, notamment de réseaux neuronaux optimisés au moyen de méthodes d'apprentissage « profond » (« deep learning » en anglais). [0007] Certains algorithmes d'intelligence artificielle, utilisés dans le domaine automobile, sont reconnus comme performants, mais ils présentent malgré tout des défauts, notamment concernant la validation et la fiabilité des décisions prises par les réseaux neuronaux mis en oeuvre. [0008] Dans l'état de la technique, la robustesse des réseaux neuronaux est généralement évaluée sur la base de tests statistiques. [0009] En référence à la figure 1, un réseau neuronal d'un système est représenté schéma- tiquement sous la forme d'un ensemble de couches comportant chacune un nombre défini de neurones. La couche d'entrée reçoit des signaux (l'entrée issus de capteurs du système. Ces signaux d'entrée sont représentatifs de l'environnement du système. Ensuite, les sorties de chaque couche du réseau neuronal correspondent à des sommes pondérées réalisées sur les entrées reçues. Plus précisément, chaque neurone d'une couche réalise un calcul fondé sur les sorties de la couche précédente. 2 [0010] Mathématiquement, comme cela est connu, le fonctionnement d'un tel réseau neuronal se traduit par la formule : [Math .1] N a k t, k - [0011] avec : [Math.2] a [0012] le perceptron i de la couche j+1, [Math.3] la fonction d'activation (souvent non-linéaire) de la couche j, [Math.4] k les poids du perceptron i de la couche j, j C 0 1Math .51 b-: les biais du perceptron i de la couche j, j C 0, [Math.6] X k les paramètres d'entrées de la couche j (percutons de la couche précédente ou données d'entrées), [0013] 0 l'espace des variables du réseau neuronal. [0014] Un tel réseau neuronal, dans un système donné, a pour fonction de prendre ou d'aider à prendre la décision relative à la réalisation d'une action. [0015] Une fois le réseau neuronal conçu, il est habituellement « entraîné » au moyen d'une méthode d'apprentissage. Cet apprentissage consiste à optimiser les poids (4) du réseau neuronal afin de permettre la prise de décision désirée. Les poids sont par exemple optimisés par la mise en oeuvre d'un algorithme de rétropropagation du gradient (« backpropagation » en anglais). [0016] A cette fin : [0017] on définit un critère à minimiser, [0018] on calcule le gradient de ce critère par rapport à chaque poids du réseau neuronal, [0019] on applique un algorithme d'optimisation du type « rétropropagation de gradient » pour optimiser les poids. [0020] De plus amples informations sur les algorithmes de rétropropagation du gradient sont 3 disponibles dans le document « R. Rojas: Neural Networks, Springer-Verlag, Berlin, 1996 ». [0021] On connaît par ailleurs, par le document CA2941352, un réseau neuronal comprenant plusieurs entrées permettant de recevoir des signaux d'entrée et des synapses représentant des pondérations de correction. Cc réseau comprend également un calculateur de pondérations qui détermine un écart entre une somme neuronale et une valeur de sortie souhaitée. [0022] Cependant, une telle méthode présente des inconvénients car elle ne permet pas d'évaluer la robustesse a priori du réseau neuronal mis en oeuvre. [0023] L'invention vise donc à résoudre ces inconvénients en proposant un procédé de d'estimation de la robustesse d'un réseau neuronal pour un système, notamment pour un véhicule. Exposé de l'invention [0024] Plus précisément, l'invention a pour objet un procédé de validation d'un système de réseau neuronal pour un système, notamment pour un véhicule, notamment un véhicule automobile, le réseau neuronal étant configuré pour prendre une décision de réalisation d'une action et recevant en entrée au moins un signal issu d'au moins un capteur du système, ledit procédé comprenant les étapes suivantes : la détermination d'au moins une sortie critique du réseau neuronal, engendrant la non-réalisation de l'action, la détermination d'au moins un signal d'entrée, dit critique, correspondant à ladite au moins une situation critique, la vérification que ledit au moins un signal d'entrée critique correspond à un signal d'entrée déterminé comme possible, autrement dit susceptible d'être généré par ledit au moins un capteur correspondant en situation réelle d'utilisation du système. [0025] 11 est précisé que par « sortie critique » du réseau neuronal, on entend une sortie du réseau neuronal aboutissant à un état critique, autrement dit à une situation critique. [0026] Selon un mode de réalisation, la détermination d'au moins un signal d'entrée critique comprend la mise en oeuvre d'un algorithme d'optimisation pour minimiser une fonction de coût telle que : J(e) = (s(c)-s,er)2, où J est la fonction de coût, dépendante du au moins un signal d'entrée e, s(e) est la sortie du réseau neuronal en fonction du au moins un signal d'entrée e, s1 est une sortie critique du réseau neuronal déterminée. [0027] Selon un mode de réalisation, l'algorithme d'optimisation pour minimiser la fonction de coût J(e) est un algorithme de rétropropagation du gradient configuré pour déterminer [Math.7] coït = a rg min ,,J(e) où eerk est l'au moins un signal d'entrée critique. [0028] Selon un mode de réalisation, l'algorithme d'optimisation est configuré pour vérifier : [Math.8] s(e)-Sref