Brevet FR3083354A1 — publié le 20200103

PROCEDE DE MODELISATION POUR LE CONTROLE DES RESULTATS FOURNIS PAR UN RESEAU DE NEURONES ARTIFICIELS ET AUTRES PROCEDES ASSOCIES DOMAINE TECHNIQUE DE L'INVENTION Le domaine technique de l'invention est celui des réseaux de neurones artificiels. La présente invention concerne un procédé permettant le contrôle des résultats fournis par un réseau de neurones artificiels et plus particulièrement un procédé 10 de modélisation pour le contrôle des résultats fournis par un réseau de neurones artificiels. La présente invention concerne également un procédé de contrôle des résultats fournis par un réseau de neurones artificiels, un procédé de comparaison des performances de deux réseaux de neurones artificiels, un dispositif et un produit-programme d'ordinateur mettant en oeuvre de tels procédés et un support 15 d'enregistrement du produit-programme d'ordinateur. ARRIERE-PLAN TECHNOLOGIQUE DE L'INVENTION Les réseaux de neurones ou réseaux de neurones artificiels constituent le principal outil de l'apprentissage profond ou deep learning qui tente de modéliser 20 des données afin d'être capable par la suite d'effectuer des tâches spécifiques avec de nouvelles données, comme des tâches de classification ou de détection. Pour cela, un réseau de neurones passe par une phase d'entraînement ou phase d'apprentissage pendant laquelle il apprend en parcourant sur plusieurs itérations une base de données d'entraînement puis par une phase de généralisation 25 pendant laquelle il réalise, sur une base de données de généralisation, la tâche pour laquelle il a été entraîné. Un réseau de neurones est un algorithme complexe, faisant intervenir plusieurs milliers - voire millions de paramètres dans sa prise de décision. Si cette 30 complexité est nécessaire pour que le réseau de neurones ait la capacité de 2 détecter des structures dans des données, elle limite l'interprétation qui peut être faite des résultats par un utilisateur, l'empêchant de contrôler leur pertinence. Par exemple, dans le cas de la détection de personnes dans une image, on fournit en entrée une image au réseau de neurones et celui-ci fournit idéalement en sortie la même image dans laquelle il a encadré les personnes. Le réseau de neurones peut fournir en sortie l'image dans laquelle il aura bien encadré toutes les personnes présentes - ce qui suggérera à l'utilisateur que le réseau de neurones est performant - sans pour autant que les paramètres qu'il a utilisés pour détecter les personnes soient tous pertinents. Par exemple, si toutes les images qui ont été fournies au réseau de neurones lors de son apprentissage représentent une personne sur un fond de ciel bleu, le réseau de neurones aura pu choisir de baser son résultat notamment sur la couleur du fond et non uniquement sur les caractéristiques propres à une personne. Le réseau de neurones détecte alors très bien les personnes sur un fond bleu mais sera incapable de détecter une personne sur un fond rouge. Dans ce cas précis, le réseau de neurones n'est pas adapté à la détection de personnes. Pourtant, l'utilisateur aurait pu conclure le contraire sur la base des résultats fournis par le réseau de neurones sur les images avec un fond bleu. Dans le domaine du traitement des images, il existe des outils visuels permettant d'afficher les zones de l'image sur la base desquelles le réseau de neurones a pris sa décision. Cependant, ces outils ne sont pas adaptés à d'autres types de données, comme des enregistrements sonores ou des données biologiques. Un autre exemple serait le cas où l'utilisateur a deux réseaux de neurones différents présentant des performances similaires sur une base de test et où il veut déterminer celui des deux réseaux de neurones qui utilise dans sa prise de décision des variables préférées par l'utilisateur. Les variables préférées sont par exemple des variables plus facilement interprétables. Par exemple, dans le cas de la classification d'animaux en deux classes, ours polaire et ours grizzly, à partir de données comprenant par exemple la couleur du pelage, le type d'alimentation, l'âge de l'animal, la taille de l'animal etc., une variable préférée de l'utilisateur pourrait être la couleur du pelage puisqu'il s'agit de la différence la plus évidente entre les deux espèces. Les deux réseaux de neurones peuvent tous les deux présenter les mêmes performances et classifier correctement la donnée mais l'utilisateur préférera utiliser dans son application le premier réseau de neurones qui utilise principalement la couleur du pelage et dont le fonctionnement est donc plus facilement appréhendable que le deuxième réseau de neurones qui utilise également l'âge de l'animal et sa taille pour conclure. 10 Il existe donc un besoin pour un utilisateur de contrôler facilement les résultats fournis par un réseau de neurones artificiels pour s'assurer que celui-ci ne prend pas en compte des données non pertinentes, quel que soit le type de données traitées. 15 RESUME DE L'INVENTION L'invention offre une solution aux problèmes évoqués précédemment, en permettant de contrôler la pertinence des données utilisées dans la prise de décision d'un réseau de neurones pour diagnostiquer une base de données d'entraînement et/ou un réseau de neurones non adaptés à une certaine tâche. 20 Un premier aspect de l'invention concerne un procédé de modélisation pour le contrôle des résultats fournis par un réseau de neurones artificiels comportant les étapes suivantes mises en oeuvre par un calculateur : - Générer un réseau de neurones artificiels ; 25 - Entraîner le réseau de neurones artificiels sur une base de données d'entraînement ; - Tester le réseau de neurones artificiels sur au moins une donnée de test dépendant d'une pluralité de variables vi de manière à obtenir un résultat R par donnée de test, le résultat R dépendant des variables vi ; 30 Pour chaque résultat R : - Approximer par un modèle linéaire une première fonction Fi dépendant uniquement du résultat R pour obtenir une deuxième 4 fonction F2, la première fonction Fi et la deuxième fonction F2 dépendant des variables vi - Simplifier la deuxième fonction F2 pour obtenir une troisième fonction F3 dépendant d'un nombre plus réduit de variables vi ; 5 - Appliquer à la troisième fonction Fa la fonction inverse de la première fonction Fi pour obtenir un modèle de fonctionnement du réseau de neurones. Grâce à l'invention, un modèle de fonctionnement du réseau de neurones est généré pour chaque donnée testée, chaque modèle de fonctionnement dépendant 10 d'un nombre réduit de variables qui sont les variables ayant le plus de poids dans la prise de décision du réseau de neurones. Il est ainsi plus facile de contrôler les résultats du réseau de neurones pour pouvoir par exemple diagnostiquer une base de données d'entraînement ou comparer les performances de deux réseaux de neurones. Le procédé de modélisation ainsi défini est déterministe et 15 reproductible, c'est-à-dire que le modèle de fonctionnement généré est le même tant que l'on conserve le même réseau de neurones, la même base de données d'entraînement et la même donnée testée. Outre les caractéristiques qui viennent d'être évoquées dans le paragraphe 20 précédent, le procédé de modélisation selon un premier aspect de l'invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles. 25 Avantageusement, la première fonction Fi est une fonction non bornée. Ainsi, l'approximation linéaire de la première fonction Fi est plus pertinente étant donné qu'une fonction linéaire est non bornée. Avantageusement, la première fonction Fi est définie par : R 30 Fl - log R Ainsi, le résultat R peut être obtenu en appliquant à la fonction Fi la fonction sigmoïde qui est utilisée dans la régression logistique, l'un des algorithmes les 5 plus simples utilisés en apprentissage automatique. Avantageusement, la deuxième fonction F2 est le développement limité au premier ordre de la première fonction Fi au voisinage d'une donnée. Ainsi, il suffit de 5 calculer le gradient de la première fonction Fi par rapport aux variables vi pour obtenir la deuxième fonction F2. Avantageusement, la deuxième fonction F2 s'exprime comme la somme d'un coefficient d'ordonnée à l'origine b et de la somme des variables vi multipliées 10 chacune par un coefficient directeur ai : F2 = b + ativi Ainsi, la deuxième fonction F2 est une approximation linéaire de la première fonction Fi par rapport à l'ensemble des variables vi dont dépend le résultat. 15 Avantageusement, une première variable vi corrélée à une deuxième variable v2 s'exprime en fonction de la deuxième variable v2 comme la somme d'une variable non corrélée ci et d'un coefficient de corrélation C12 multiplié à la deuxième variable v2: V1 = C12V2 + Cl 20 Avantageusement, l'étape de simplification comporte les sous-étapes suivantes : - Créer un vecteur de variables Vv comportant les variables vi ; - Créer un vecteur de variables synthétiques Vvs vide ; - Créer un vecteur de coefficients de contribution Vc vide ; 25 - Réaliser au moins une fois les sous-étapes suivantes : - Pour chaque variable vk du vecteur de variables Vv, exprimer un coefficient de contribution Wk en fonction du coefficient directeur ak de ladite variable vk, des coefficients directeurs ai et des coefficients de corrélation Cki des variables vi du vecteur de 30 variables Vv corrélées à ladite variable vk ; - Comparer les valeurs absolues des coefficients de contribution W 6 et déterminer une variable de référence vref ayant le coefficient de contribution Wref de valeur absolue la plus élevée ; - Ajouter au vecteur de variables synthétiques Vvs ladite variable de référence vref ; 5 - Ajouter au vecteur de coefficients de contribution Vc le coefficient de contribution Wref de ladite variable de référence vref ; - Pour chaque variable vk du vecteur de variables Vv différente de la variable de référence vref et corrélée à la variable de référence vref, exprimer ladite variable vk corrélée en fonction de la variable 10 de référence vref et normaliser la variable non corrélée Ek pour obtenir une nouvelle variable vk' - Vider le vecteur de variables Vv et remplir le vecteur de variables Vv avec les nouvelles variables vi' ; - Exprimer les variables contenues dans le vecteur de variables 15 synthétiques Vvs en fonction des variables vi de la deuxième fonction F2 pour obtenir des variables restantes vrp; - Exprimer un coefficient directeur de variable restante arp pour chaque variable restante vrp à l'aide du vecteur de coefficients de contribution Vc. 20 Ainsi, on ne conserve que les variables vi ayant un coefficient de contribution important en prenant en compte les corrélations entre variables. Avantageusement, la troisième fonction F3 s'exprime comme la somme du coefficient d'ordonnée à l'origine b et de la somme des variables restantes vrp 25 multipliées chacune par son coefficient directeur de variable restante arp: F3 = b + alP VI' Ainsi, la troisième fonction F3 dépend d'un nombre plus réduit de variables que le résultat ce qui rend plus facile le contrôle de ce résultat. 30 Avantageusement, le procédé selon un premier aspect de l'invention comporte une étape de synthèse des modèles de fonctionnement obtenus. Ainsi, il est possible de contrôler la cohérence des résultats du réseau de neurones. Un deuxième aspect de l'invention concerne un procédé de contrôle des résultats fournis par un réseau de neurones artificiels caractérisé en ce qu'il comporte toutes les étapes du procédé de modélisation selon un premier aspect de l'invention et une étape additionnelle d'évaluation de la base de données d'entraînement à partir d'au moins un modèle de fonctionnement. Ainsi, à partir du modèle de fonctionnement obtenu, il est possible de diagnostiquer une base de données d'entraînement qui n'est pas adaptée à la 10 tâche que l'utilisateur souhaite réaliser avec le réseau de neurones. Un troisième aspect de l'invention concerne un procédé de comparaison des performances d'un premier réseau de neurones artificiels et d'un deuxième réseau de neurones artificiels, caractérisé en ce qu'il comporte les étapes suivantes : 15 - Appliquer le procédé de modélisation selon un premier aspect de l'invention au premier réseau de neurones pour obtenir au moins un premier modèle de fonctionnement du premier réseau de neurones artificiels ; - Appliquer le procédé de modélisation selon un premier aspect de 20 l'invention au deuxième réseau de neurones pour obtenir au moins un deuxième modèle de fonctionnement du deuxième réseau de neurones artificiels ; Comparer les performances du premier réseau de neurones artificiels et du deuxième réseau de neurones artificiels en comparant chaque 25 premier modèle de fonctionnement du premier réseau de neurones artificiels et chaque deuxième modèle de fonctionnement du deuxième réseau de neurones artificiels correspondants à une même donnée de test. Ainsi, en comparant le premier modèle de fonctionnement et le deuxième modèle 30 de fonctionnement correspondant à une même donnée testée, il est possible de comparer les performances d'un premier réseau de neurones et d'un deuxième réseau de neurones pour choisir le réseau de neurones qui prend en compte les 8 variables de la donnée testée les plus pertinentes. Un quatrième aspect de l'invention concerne un calculateur caractérisé en ce qu'il est adapté pour mettre en oeuvre le procédé de modélisation selon un premier 5 aspect de l'invention et/ou le procédé de contrôle selon un deuxième aspect de l'invention et/ou le procédé de comparaison selon un troisième aspect de l'invention. Un cinquième aspect de l'invention concerne un produit programme d'ordinateur 10 comprenant des instructions qui, lorsque le programme est exécuté par ordinateur, conduisent celui-ci à mettre en oeuvre les étapes du procédé de modélisation selon un premier aspect de l'invention et/ou du procédé de contrôle selon un deuxième aspect de l'invention et/ou du procédé de comparaison selon un troisième aspect de l'invention. 15 Un sixième aspect de l'invention concerne un support d'enregistrement lisible par un ordinateur, sur lequel est enregistré le produit programme d'ordinateur selon un cinquième aspect de l'invention. 20 L'invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. BREVE DESCRIPTION DES FIGURES Les figures sont présentées à titre indicatif et nullement limitatif de l'invention. 25 - La figure 1 montre un schéma synoptique du procédé de modélisation selon un premier aspect de l'invention. - La figure 2 montre un schéma synoptique du procédé de contrôle selon un deuxième aspect de l'invention. - La figure 3 montre un schéma synoptique du procédé de comparaison 30 selon un troisième aspect de l'invention. 9 DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE REALISATION DE L'INVENTION Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique. Un premier aspect de l'invention concerne un procédé de modélisation 100 pour le contrôle des résultats fournis par un réseau de neurones artificiels. Dans la suite de la demande, on utilisera indifféremment les termes « neurone » et « neurone artificiel ». 10 Un réseau de neurones comporte une pluralité de couches comportant chacune une pluralité de neurones. Par exemple, un réseau de neurones comporte entre 2 et 20 couches et chaque couche du réseau de neurones comporte entre 10 et 2000 neurones. De manière générale, chaque neurone de chaque couche est 15 connecté à chaque neurone de la couche précédente et à chaque neurone de la couche suivante par le biais d'une synapse artificielle. Cependant, on pourrait envisager le cas où chaque neurone de chaque couche est connecté uniquement à une partie des neurones de la couche précédente et/ou à une partie des neurones de la couche suivante. Une connexion entre deux neurones est affectée 20 d'un poids ou coefficient synaptique et chaque neurone est affecté d'un coefficient de biais. Le coefficient de biais d'un neurone est sa valeur par défaut, c'est-à-dire sa valeur quand les neurones de la couche précédente auxquels il est connecté ne lui envoient aucun signal. 25 L'objectif du procédé de modélisation 100 est de générer un modèle simplifié pour chaque résultat R généré par le réseau de neurones. On entend par « résultat généré par un réseau de neurones », une donnée de sortie associée à la prise de décision du réseau de neurones concernant une donnée d'entrée. Avant de pouvoir générer des résultats, le réseau de neurones est entraîné sur une base de 30 données d'entraînement ou base de données d'apprentissage pour être adapté à une tâche prédéfinie. L'apprentissage peut être supervisé ou non supervisé. En apprentissage supervisé, l'apprentissage est contraint par la base de données 10 d'apprentissage. En effet, la base de données d'apprentissage est annotée pour signaler au réseau de neurones les structures qu'il doit repérer. Au contraire, en apprentissage non supervisé, le réseau de neurones trouve lui-même des structures sous-jacentes à partir des données brutes de la base de données d'entraînement. La tâche prédéfinie est par exemple de la détection, de la classification ou encore de la reconnaissance. Classifier des données consiste à les séparer en plusieurs classes, c'est-à-dire à les classer, et à identifier chacune des classes. Par exemple, dans un échantillon contenant des données noires et des données 10 blanches, classer les données correspond à les séparer en deux classes alors que classifier les données correspond à les séparer en deux classes et à attribuer à l'une le nom de « classe noire » et à l'autre le nom de « classe blanche ». Ainsi, un réseau de neurones ayant reçu un apprentissage supervisé est capable de classifier des données alors qu'un réseau de neurones ayant reçu un 15 apprentissage non supervisé est seulement capable de classer des données. Le réseau de neurones est ensuite testé sur une base de données de test ou base de données de généralisation. Pour chaque donnée de test de la base de données de test, le réseau de neurones fournit alors un résultat R illustrant sa 20 prise de décision concernant la donnée de test. Par exemple, si la tâche pour laquelle le réseau de neurones a été entraîné est de la classification et que le réseau de neurones a pris la décision que la donnée de test faisait partie de la classe C, le résultat R fourni par le réseau de neurones est la probabilité associée à la classe C. 25 En pratique, la base de données d'entraînement et la base de données de test peuvent être deux bases de données distinctes ou deux parties séparées d'une même base de données. Les données utilisées dans la base de données d'entraînement et dans la base de 30 données de test sont par exemple des données biologiques, des données relatives à la réalisation d'un procédé ou d'un produit, des images, des données audios ou encore des signaux électriques. Une donnée comporte une pluralité de 11 variables vi et chaque donnée utilisée comporte le même nombre de variables \fi. Par exemple, une donnée comporte entre 10 et 10 000 variables vi. Les variables vi peuvent être de type numérique, binaire, catégorique comme par 5 exemple une nationalité ou une profession ou encore des dates. Dans le cas de données biologiques, les variables vi sont par exemple des informations sur un patient comme son àge, ses symptômes, son poids ainsi que des informations sur le résultat d'examens qu'il a passés comme des examens sanguins ou des examens IRM. Dans le cas de données relatives à la réalisation d'un produit, les 10 variables vi sont par exemple des informations sur le produit comme son nom, sa composition ainsi que des informations sur son procédé de fabrication comme son temps de fabrication, le nom de la chaîne de montage sur laquelle il a été réalisé. Dans le cas de données relatives à des images, les variables vi sont par exemple la variance et la moyenne des niveaux de gris. 15 Les données utilisées peuvent être des données tabulaires comportant une pluralité d'exemples, chaque exemple dépendant d'une pluralité de variables vi. Une donnée utilisée de type tabulaire comporte par exemple entre 1000 et 1 000 000 exemples, comportant chacun entre 10 et 10 000 variables vi. 20 Prenons l'exemple d'un réseau de neurones comportant L couches de N neurones, utilisé sur une donnée de test dépendant de N variables vi. L'expression FI l) du neurone k de la couche 1+1 s'exprime en fonction des N 25 neurones i de la couche I de la manière suivante : ho, _ f Pirl) + Avec f une fonction non linéaire, Pi(d1+1) le poids affecté à la connexion entre le neurone k de la couche 1+1 et le neurone i de la couche I, KI) l'expression du neurone i de la couche I et b?+l) le coefficient de biais affecté au neurone k de la 30 couche 1+1. 12 La fonction f se définit par exemple comme f(z) = max(z, 0) L'expression du neurone k d'une couche s'exprime donc en fonction des expressions des neurones de la couche précédente et l'expression 1-1-(1) du neurone k de la couche 1 s'exprime en fonction des variables vi de la donnée d'entrée de la manière suivante : "(1) = f D (1) k ki k=i Pour un problème de classification, la probabilité pk associée à la classe k 10 s'exprime alors de la manière suivante : eck N (L) (L-1) (L) Pk E" e` avec ck = Ei=l Pki hi bk 1 Le résultat R correspond alors à la probabilité pk maximale. 15 Le résultat R généré par un réseau de neurones est donc une fonction de l'ensemble des variables vi de la donnée de test pour laquelle le résultat R est généré, paramétrisée par les coefficients synaptiques Pki affectés aux connexions du réseau de neurones et par les coefficients de biais bk affectés à chaque 20 neurone. Il devient donc vite très compliqué de contrôler les résultats fournis par un réseau de neurones, le nombre de variables vi des données de test pouvant aller jusqu'à 10 000. Le procédé de modélisation 100 fournit un modèle qui est une 25 approximation du résultat R généré par un réseau de neurones par une expression simplifiée, qui est fonction d'un nombre plus restreint de variables vi. Le procédé de modélisation 100 selon un premier aspect de l'invention comporte plusieurs étapes dont l'enchaînement est représenté à la figure 1. Ces étapes sont 13 mises en oeuvre par un calculateur comportant au moins un processeur et une mémoire. La première étape 101 du procédé de modélisation 100 est une étape de 5 génération d'un réseau de neurones artificiels. Pour cela, le nombre de couches et le nombre de neurones par couche du réseau de neurones sont fixés ainsi que d'autres paramètres comme le pas d'apprentissage et le coefficient de régularisation, qui décrivent son processus d'apprentissage. Le pas d'apprentissage du réseau de neurones définit la fréquence à laquelle sont mis à 10 jour les poids du réseau de neurones durant la phase d'apprentissage et le coefficient de régularisation limite le sur-apprentissage du réseau de neurones. A la fin de cette étape 101 de génération du réseau de neurones, le réseau de neurones est prêt à être entraîné. 15 La deuxième étape 102 du procédé de modélisation 100 est une étape d'entraînement du réseau de neurones sur une base de données d'entraînement. A la fin de cette étape 102 d'entraînement du réseau de neurones, le réseau de neurones est apte à réaliser une tâche prédéfinie sur un certain type de données, 20 le type des données présentes dans la base de données d'entraînement. La troisième étape 103 du procédé de modélisation 100 est une étape de test du réseau de neurones sur au moins une donnée de test dépendant d'une pluralité de variables vi. Les données de test sont de même type que les données de la 25 base de données d'entraînement. Durant cette étape, le réseau de neurones génère un résultat R par donnée de test traitée, le résultat R dépendant des mêmes variables vi que la donnée de test traitée. La quatrième étape 104 du procédé de modélisation 100 est une étape 30 d'approximation linéaire d'une première fonction Fi dépendant d'un résultat R généré à l'étape précédente 103. 14 Un résultat R est une fonction des variables vi, fonction dont les valeurs sont comprises entre 0 et 1. Le résultat R est donc une fonction bornée. Or, une fonction linéaire n'est pas bornée. On applique donc avantageusement une transformation au résultat R pour obtenir une première fonction Fi non bornée qui 5 sera approximée linéairement. La première fonction Fi est par exemple définie par : R F, = log 1 - R 10 Ainsi, la première fonction Fi est non bornée et dépend des mêmes variables vi que le résultat R. La première fonction Fi est ainsi obtenue en appliquant au résultat R la fonction inverse de la fonction sigmoïde a se définissant comme : 1 15 cr(z) = 1 + e-z La fonction sigmoïde est utilisée dans la régression logistique, l'un des algorithmes d'apprentissage automatique les plus simples permettant de séparer une classe de l'ensemble des autres classes du problème. En effet, la régression 20 logistique consiste en l'application d'une fonction sigmoïde à une expression linéaire. Ainsi, approximer la fonction Fi par une fonction linéaire L revient à approximer le résultat R par une régression logistique a(L). La première fonction Fi est ensuite approximée linéairement, en effectuant par 25 exemple un développement limité au premier ordre au voisinage de la donnée de test, pour obtenir une deuxième fonction F2. La deuxième fonction F2 s'exprime alors de la manière suivante : F2 = b + 30 Avec b un coefficient d'ordonnée à l'origine, ai un coefficient directeur et vi les 15 variables de la donnée de test. Si l'approximation linéaire est réalisée en effectuant un développement limité au premier ordre au voisinage de la donnée de test, on a : N b = FI(X) - _,(X)Xi i=1 ï OF, o yi 0F1 a, = (X) ov; Avec : X; le point de données voisin de la donnée de test auquel est réalisé le développement limité. 10 II suffit alors de calculer les gradients de la première fonction Fi par rapport aux variables vi de la donnée de test pour obtenir la deuxième fonction F2. La cinquième étape 105 du procédé de modélisation 100 selon un premier aspect de l'invention est une étape de simplification de la deuxième fonction F2. 15 L'étape 105 de simplification comporte une première phase consistant à classer les variables vi en éliminant les corrélations entre les variables vi. Initialement; les variables vi sont normalisées. Par exemple, toutes les variables vi 20 ont une moyenne nulle et un écart type de 1. Un coefficient de contribution Wi est calculée pour chaque variable vi de la donnée de test. Le coefficient de contribution Wk de la variable k s'exprime de la manière suivante : k-i 25 Wk = ak + Ckjaj Ckjaj j=1 j=k+1 Avec ak le coefficient directeur de la variable k dans la deuxième fonction F2, ai le coefficient directeur de la variable j dans la deuxième fonction F2 et Ckj le coefficient de corrélation entre la variable k et la variable j. 16 La variable vi avec le coefficient de contribution W ayant la valeur absolue la plus élevée est désignée comme variable de référence vref. Chaque variable vi différente de la variable de référence vref est alors exprimée en fonction de la 5 valeur de référence vref de la manière suivante : 1,71 = CiretVref Ei Avec Ei une variable non corrélée à la variable vref et Ciref le coefficient de corrélation entre la variable i et la variable de référence vref. 10 ei est ensuite normalisé pour obtenir une nouvelle variable vi' : Ei vi = 1 - Cfref2 Les nouvelles variables vi' ainsi obtenues sont comparables car de même 15 moyenne et de même écart-type. Le coefficient directeur ai' de chaque variable vi' est alors exprimé de la manière suivante : a; = 1 - Cirefai 20 Les mêmes étapes sont alors appliquées aux nouvelles variables vi', c'est-à-dire qu'un coefficient de contribution Wi' dépendant des coefficients directeurs ai' et des coefficients de corrélation entre les nouvelles variables est calculé pour chaque nouvelle variable vi', une nouvelle valeur de référence vref' est 25 sélectionnée et de nouvelles variables vi" sont obtenues et ainsi de suite sur plusieurs itérations. Le nombre d'itérations est prédéfini. Le nombre d'itérations est strictement inférieur au nombre de variables vi de la deuxième fonction F2 et supérieur ou égal 30 à 1. La pertinence de la valeur choisie pour le nombre d'itérations pourra être contrôlée en comparant la fonction linéaire obtenue pour ce nombre d'itérations et 17 la fonction linéaire obtenue pour un nombre d'itérations supérieur, à l'aide d'une mesure de proximité, par exemple le rapport des normes des vecteurs de coefficients directeurs des fonctions linéaires obtenues. La valeur de référence obtenue à chaque itération est une variable synthétique, les variables synthétiques étant indépendantes les unes des autres. Ainsi; si p itérations sont réalisées, p variables synthétiques sont obtenues et au bout de ces p itérations, les coefficients de contribution de toutes les autres 10 variables sont mis à zéro. Par exemple, si la deuxième fonction F2 dépend de 5 variables vi, v2, v3, va et v5, et que le nombre d'itérations choisi est trois, la première phase de l'étape 105 de simplification consiste, dans un premier temps, à calculer le coefficient de 15 corrélation de chaque variable Wi, W2, Ws, W4 et W5. Par exemple, W3 vaut : W3 = a3 + C31a1 + C32a2 C34a4 C35a5 - 1, -2, W3, W4 Les valeurs absolues des coefficients de corrélation WWWW et Ws sont 20 comparées entre elles et la variable ayant le coefficient de corrélation de valeur absolue la plus élevée est sélectionnée comme valeur de référence. Par exemple, vi est sélectionnée comme valeur de référence. Les variables restantes v2, v3, va et vs sont alors exprimées en fonction de la 25 variable de référence vi. Par exemple, v2 vaut : v2 = C21v1 + £2 A partir de ces expressions, de nouvelles variables v2', v3', va' et vs' sont calculées. Par exemple, v2' vaut : 62 V; =- - C212 .30 18 A l'issue de ces calculs, la première itération est terminée et l'on applique les mêmes étapes que précédemment aux nouvelles variables v2', v3', va' et vs'. Par exemple, v2' est sélectionnée comme variable de référence. v3', va' et vs' sont alors exprimées en fonction de va'. Par exemple, v3' vaut : v31 = C32v21 + E3' Puis, de nouvelles variables vs va" et vs" sont calculées. Par exemple, vs" vaut : 10 E3 \TV = - C322 A l'issue de ces calculs, la deuxième itération est terminée. Pendant la troisième et dernière itération, une variable de référence est 15 sélectionnée parmi les nouvelles variables vs", va" et vs" comme précédemment. Par exemple, vs" est sélectionnée comme variable de référence. Puis, les coefficients de contribution des variables restantes v4" et vs" sont mis à zéro. A la fin de la première phase de l'étape 105 de simplification, trois variables 20 synthétiques vi, v2' et v3" sont obtenues. Les variables synthétiques ainsi exprimées ne correspondent pas aux variables vi de la donnée de test. Pour pouvoir contrôler le résultat R du réseau de neurones, il faudrait que le résultat R dépende des variables vi de la donnée de test. 25 Dans une deuxième phase de l'étape 105 de simplification, les variables synthétiques sont donc exprimées en fonction des variables vi de la donnée de test en utilisant la formule suivante jusqu'à ce que leur expression ne dépende plus que des variables vi de la deuxième fonction F2 : 30 19 V(1) - - C - 1 vS1-1) (1-1)V (1-1) II 1 - CI]!-1)2 Avec vP) la variable j à l'itération 1+1 vP-1) la variable j à l'itération I, vIP-1)1a variable de référence à l'itération I correspondant initialement à la variable i et Ci( le coefficient de corrélation entre la variable i et la variable j à l'itération I. En reprenant l'exemple précédent de la deuxième fonction F2 dépendant de 5 variables; la valeur de référence de la première itération est la variable vi et la valeur de référence de la deuxième itération est la variable v2', donc la valeur de 10 référence de la deuxième itération s'exprime comme : V2 - Ci2Vg V2 = 1 - C122 La valeur de référence de la troisième itération est la variable vs", qui s'exprime donc comme : 15 V3' - C231v21 V3" - - C23'2 Avec 3- V1-C132 Les variables vi de la donnée de test dont dépendent les variables synthétiques sont des variables restantes vrp. Le nombre de variables restantes vrp est 20 strictement inférieur au nombre de variables vi de la donnée de test. La troisième fonction Fa s'exprime alors ainsi : F3 = b + a V rP rP Avec arp un coefficient directeur de variable restante. 25 V3 - Ci3Vi Pour calculer les coefficients directeurs de variable restante arp, les variables 20 synthétiques sont parcourues en ordre inverse de la dernière sélectionnée à la première sélectionnée. Ainsi, si l'on a p itérations, à l'étape p - k + 1 de calcul des coefficients directeurs de variable restante, le coefficient directeur de la k-ème variable synthétique sélectionnée à la k-ème itération de la première phase de l'étape 105 de simplification est mis à jour suivant : C(p-k+2) (p-k+1) (p-k+2) kj (p-k+2) a - ak 1=k+1 1 - Ckk ai .03-k+2)2 tandis que les coefficients directeurs des variables sélectionnées après la k-ème variable synthétique, c'est-à-dire les variables synthétiques sélectionnées après la 10 k-ème itération, sont mis à jour suivant : a(p-k+1) = 1 (p-k+2) 1 - C(P k+2)2 En reprenant l'exemple précédent de la deuxième fonction F2 dépendant de 5 variables, les variables synthétiques sont vi, vi et vs". 15 A l'étape 1 de calcul des coefficients directeurs de variable restante, le coefficient directeur de la troisième variable synthétique va" est mis à jour suivant : 33 = 20 Les autres variables synthétiques ayant été sélectionnées avant la troisième variable synthétique, leurs coefficients directeurs ne sont pas mis à jour à cette étape. A l'étape 2 de calcul des coefficients directeurs de variable restante, le coefficient 25 directeur de la deuxième variable synthétique vi est mis à jour suivant : C23 t a2 = a2 a3 - C2132 Le coefficient directeur de la troisième variable synthétique v3" sélectionnée après 21 la deuxième variable synthétique v2' est mis à jour suivant : 1 a3 - C'232 a3 A l'étape 3 de calcul des coefficients directeurs de variable restante, le coefficient directeur de la première variable synthétique vi est mis à jour suivant : C12 C13 art = az a3 - - CÏ3 Les coefficients directeurs des deuxième et troisième variable synthétique v2' et vs" sélectionnée après la première variable synthétique vi sont mis à jour suivant : 1 az - 0122 1 ara = a3 2 A l'issue de l'étape 105 de simplification, la troisième fonction F3 dépend donc 15 uniquement des variables restantes vrp, c'est-à-dire d'un nombre réduit de variables vi de la donnée de test. L'étape 106 du procédé de modélisation 100 selon un premier aspect de l'invention consiste à appliquer la fonction inverse de la première fonction Fi à la 20 troisième fonction F3 pour obtenir un modèle de fonctionnement du réseau de neurones pour le résultat R. Le modèle de fonctionnement du réseau de neurones est un résultat R simplifié, dépendant d'un nombre réduit de variables vi facilitant le contrôle du résultat R fourni par le réseau de neurones. 25 Le procédé de modélisation 100 selon un premier aspect de l'invention génère un modèle de fonctionnement pour chaque résultat R. Si plusieurs résultats R ont été générés par le réseau de neurones, le procédé de modélisation 100 peut par exemple comporter une étape additionnelle de synthèse des modèles de fonctionnement. Les données de test étant similaires, l'étape de synthèse peut 10 are - c' 22 permettre de contrôler la cohérence des résultats du réseau de neurones. Un deuxième aspect de l'invention concerne un procédé de contrôle 200 pour contrôler les résultats fournis par un réseau de neurones artificiels. Le procédé de contrôle 200 selon un deuxième aspect de l'invention comporte plusieurs étapes dont l'enchaînement est représenté à la figure 2. Le procédé de contrôle 200 selon un deuxième aspect de l'invention comporte 10 toutes les étapes 101 à 106 du procédé de modélisation 100 selon un premier aspect de l'invention permettant d'obtenir au moins un modèle de fonctionnement du réseau de neurones. Le procédé de contrôle 200 selon un deuxième aspect de l'invention comporte 15 ensuite une étape 201 d'évaluation de la base de données d'entraînement consistant à comparer le nombre restreint de variables vi dont dépend chaque modèle de fonctionnement avec un certain nombre de variables vi pertinentes. Par exemple, dans le cas de la détection de personnes dans une image, seuls les 20 pixels de l'image sur lesquels se trouvent les personnes sont pertinents. Si les variables vi sont par exemple la moyenne et la variance de chaque pixel de l'image, les variables vi pertinentes sont donc la moyenne et la variance des pixels sur lesquels se trouvent les personnes. Si le modèle de fonctionnement dépend majoritairement de variables vi liées à des pixels ne correspondant pas à une 25 personne dans l'image mais à des pixels du fond, cela signifie que les variables vi prises en compte dans la prise de décision du réseau de neurones sont erronées, et donc que l'apprentissage n'a pas permis au réseau de neurones de devenir performant pour la tâche escomptée. Ceci est une indication que la base de données d'entraînement n'est pas adaptée à la détection de personnes. Les 30 variables vi non pertinentes prises en compte par le réseau de neurones donnent alors des pistes permettant de comprendre pourquoi la base de données d'entraînement n'est pas adaptée et ainsi d'y remédier. Dans cet exemple, le fait 23 que le réseau de neurones prenne en compte des pixels du fond peut être dû à une trop grande homogénéité des fonds derrière les personnes. Une solution est donc d'ajouter à la base de données d'entraînement des images avec des fonds plus variés. Au contraire, si le modèle de fonctionnement dépend majoritairement de variables vi pertinentes, cela signifie que la base de données d'entraînement est bien adaptée pour la tâche escomptée. 10 Un troisième aspect de l'invention concerne un procédé de comparaison 300 pour comparer les performances de deux réseaux de neurones artificiels. Les deux réseaux de neurones peuvent, pour une donnée de test donnée, avoir des résultats similaires, par exemple, dans le cas où l'on veut prédire la maladie d'un patient à partir de symptômes, les deux réseaux de neurones donnent en sortie la 15 même maladie avec une même probabilité de certitude, ou des résultats différents, par exemple, les deux réseaux de neurones ne donnent pas la même maladie en sortie. Pour deux réseaux de neurones ayant des performances similaires, cela peut alors permettre de choisir un réseau de neurone préféré, qui utilise des variables plus pertinentes dans sa prise de décision. Pour deux réseaux 20 de neurones ayant des performances différentes, cela peut par exemple permettre de comprendre pourquoi l'un des réseaux de neurones est défaillant. Le procédé de comparaison 300 selon un troisième aspect de l'invention comporte plusieurs étapes dont l'enchaînement est représenté à la figure 3. 25 Le procédé de comparaison 300 selon un troisième aspect de l'invention comporte toutes les étapes 101 à 106 du procédé de modélisation 100 selon un premier aspect de l'invention pour un premier réseau de neurones permettant d'obtenir au moins un premier modèle de fonctionnement du premier réseau de neurones et 30 toutes les étapes 101 à 106 du procédé de modélisation 100 selon un premier aspect de l'invention pour un deuxième réseau de neurones permettant d'obtenir 24 au moins un deuxième modèle de fonctionnement du deuxième réseau de neurones. Le procédé de comparaison 300 selon un troisième aspect de l'invention comporte 5 ensuite une étape 301 de comparaison des performances du premier réseau de neurones et du deuxième réseau de neurones en comparant pour une même donnée de test, le premier modèle de fonctionnement du premier réseau de neurones artificiels et le deuxième modèle de fonctionnement du deuxième réseau de neurones artificiels. Plus précisément, l'étape 301 de comparaison consiste à 10 comparer les variables vi dont dépend le premier modèle de fonctionnement et les variables vi dont dépend le deuxième modèle de fonctionnement. Les variables vi prises en compte dans un des deux modèles de fonctionnement et pas dans l'autre modèle de fonctionnement sont alors comparées avec un certain nombre de variables vi pertinentes. Ainsi, le réseau de neurones utilisant le moins de 15 variables vi non pertinentes dans sa prise de décision est considéré comme le plus performant. Par exemple, dans le cas où l'on veut prédire la maladie d'un patient à partir de ses symptômes, le premier modèle de fonctionnement prend en compte la fièvre, 20 la fatigue et les courbatures alors que le deuxième modèle de fonctionnement prend en compte la fièvre, la fatigue et la douleur à l'oreille pour diagnostiquer la grippe. Les variables vi prises en compte dans un des deux modèles de fonctionnement et pas dans l'autre modèle de fonctionnement sont les courbatures pour le premier modèle de fonctionnement et la douleur à l'oreille 25 pour le deuxième modèle de fonctionnement. Les variables vi pertinentes sont les symptômes couramment observés chez un patient atteint de la grippe. Les courbatures font donc partie des variables vi pertinentes ce qui n'est pas le cas de la douleur à l'oreille. Le réseau de neurones le plus performant pour réaliser cette tâche est donc le premier réseau de neurones. 30 Le procédé de contrôle 200 et le procédé de comparaison 300 sont compatibles, c'est-à-dire que le procédé de comparaison 300 peut comporter l'étape 201 25 d'évaluation de la base de données d'entraînement. L'étape 201 d'évaluation de la base de données d'entraînement du procédé de contrôle 200 et l'étape REVENDICATIONS1. Procédé de modélisation (100) pour le contrôle des résultats fournis par un réseau de neurones artificiels comportant les étapes suivantes mises en oeuvre par un calculateur : - Générer un réseau de neurones artificiels (101) ; - Entraîner le réseau de neurones artificiels sur une base de données d'entraînement (102) ; - Tester le réseau de neurones artificiels sur au moins une donnée de test dépendant d'une pluralité de variables vi de manière à obtenir un résultat R par donnée de test, le résultat R dépendant des variables vi (103) ; Pour chaque résultat R : - Approximer par un modèle linéaire une première fonction Fi dépendant uniquement du résultat R pour obtenir une deuxième fonction F2, la première fonction Fi et la deuxième fonction F2 dépendant des variables vi (104) ; - Simplifier la deuxième fonction F2 pour obtenir une troisième fonction F3 dépendant d'un nombre plus réduit de variables vi (105) ; - Appliquer à la troisième fonction F3 la fonction inverse de la première fonction Fi pour obtenir un modèle de fonctionnement du réseau de neurones (106). 2. Procédé de modélisation (100) selon la revendication 1, caractérisé en ce que la deuxième fonction F2 s'exprime comme la somme d'un coefficient d'ordonnée à l'origine b et de la somme des variables vi multipliées chacune par un coefficient directeur ai: 172 = b + 3. Procédé de modélisation (100) selon l'une quelconque des revendications 27 précédentes, caractérisé en ce qu'une première variable vi corrélée à une deuxième variable v2 s'exprime en fonction de la deuxième variable v2 comme la somme d'une variable non corrélée El et d'un coefficient de corrélation C12 multiplié à la deuxième variable v2: = Ci2v2 + 4. Procédé de modélisation (100) selon la revendication 2 et la revendication 3, caractérisé en ce que l'étape de simplification (105) comporte les sous-étapes suivantes : 10 Créer un vecteur de variables Vv comportant les variables vi ; - Créer un vecteur de variables synthétiques Vvs vide ; - Créer un vecteur de coefficients de contribution Vc vide ; - Réaliser au moins une fois les sous-étapes suivantes : - Pour chaque variable vk du vecteur de variables Vv, exprimer un 15 coefficient de contribution Wk en fonction du coefficient directeur ak de ladite variable vk, des coefficients directeurs a et des coefficients de corrélation Cki des variables vi du vecteur de variables Vv corrélées à ladite variable vk ; - Comparer les valeurs absolues des coefficients de contribution Wi 20 et déterminer une variable de référence vref ayant le coefficient de contribution Wref de valeur absolue la plus élevée ; - Ajouter au vecteur de variables synthétiques Vvs ladite variable de référence vref ; - Ajouter au vecteur de coefficients de contribution Vc le coefficient 25 de contribution Wref de ladite variable de référence vref ; - Pour chaque variable vk du vecteur de variables Vv différente de la variable de référence vref et corrélée à la variable de référence vref, exprimer ladite variable vk corrélée en fonction de la variable de référence vref et normaliser la variable non corrélée ck pour 30 obtenir une nouvelle variable vk' ; - Vider le vecteur de variables Vv et remplir le vecteur de variables Vv avec les nouvelles variables vi' ; 28 - Exprimer les variables contenues dans le vecteur de variables synthétiques Vvs en fonction des variables vi de la deuxième fonction F2 pour obtenir des variables restantes vrp; - Exprimer un coefficient directeur de variable restante arp pour chaque variable restante vrp à l'aide du vecteur de coefficients de contribution Vc. 5. Procédé de modélisation selon la revendication 4, caractérisé en ce que la troisième fonction F3 s'exprime comme la somme du coefficient d'ordonnée 10 à l'origine b et de la somme des variables restantes vrp multipliées chacune par son coefficient directeur de variable restante arp : F3 = b + arpvrp 6. Procédé de contrôle (200) des résultats fournis par un réseau de neurones 15 artificiels caractérisé en ce qu'il comporte toutes les étapes du procédé de modélisation selon l'une quelconque des revendications précédentes et une étape (201) additionnelle d'évaluation de la base de données d'entraînement à partir d'au moins un modèle de fonctionnement. 20 7. Procédé de comparaison (300) des performances d'un premier réseau de neurones artificiels et d'un deuxième réseau de neurones artificiels, caractérisé en ce qu'il comporte les étapes suivantes : - Appliquer le procédé de modélisation (100) selon l'une quelconque des revendications 1 à 5 au premier réseau de neurones artificiels pour 25 obtenir au moins un premier modèle de fonctionnement du premier réseau de neurones artificiels ; - Appliquer le procédé de modélisation (100) selon l'une quelconque des revendications 1 à 5 au deuxième réseau de neurones artificiels pour obtenir au moins un deuxième modèle de fonctionnement du deuxième 30 réseau de neurones artificiels ; - Comparer les performances du premier réseau de neurones artificiels et 29 du deuxième réseau de neurones artificiels en comparant chaque premier modèle de fonctionnement du premier réseau de neurones artificiels et chaque deuxième modèle de fonctionnement du deuxième réseau de neurones artificiels correspondants à une même donnée de test (301). 8. Calculateur caractérisé en ce qu'il est adapté pour mettre en oeuvre le procédé de modélisation (100) selon l'une quelconque des revendications 1 à 5 et/ou le procédé de contrôle (200) selon la revendication 6 et/ou le 10 procédé de comparaison (300) selon la revendication 7. 9. Produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par ordinateur, conduisent celui-ci à mettre en oeuvre les étapes du procédé de modélisation (100) selon l'une quelconque 15 des revendications 1 à 5 et/ou du procédé de contrôle (200) selon la revendication 6 et/ou du procédé de comparaison (300) selon la revendication 7. 10. Support d'enregistrement lisible par un ordinateur, sur lequel est enregistré 20 le produit programme d'ordinateur selon la revendication 9.