FR 3088463 A1 20200515 FR 1860383 A 20181109 DOMAINE DE L'INVENTION L'invention concerne l'apprentissage de phénomènes quantitatifs représentant des systèmes réels et nécessitant des réseaux neuronaux ayant un grand nombre de couches. L'invention s'applique notamment à la simulation d'un système réel statique, par exemple pour évaluer la réponse du système réel dans de nouvelles situations, mais également à la simulation d'un système réel dynamique sur des temps longs, par exemple pour modéliser l'évolution d'un système réel. Le modèle dynamique est basé sur une forme récurrente d'un réseau de neurones à propagation avant que nous appellerons dans ce qui suit « motif récurrent ». L'invention trouve une application avantageuse dans la simulation au moins temps réel de systèmes physiques complexes. ETAT DE LA TECHNIQUE La présente invention propose une méthode d'apprentissage de phénomènes quantitatifs, nécessitant un grand nombre de couches de neurones. Cela peut concerner des phénomènes physiques, biologiques, chimiques ou encore informatiques. Les méthodes d'apprentissage profond classiques se sont développées pour traiter des problèmes qualitatifs liés à l'intelligence artificielle tels que les problèmes de classification, de reconnaissance de formes ou de traitement du langage naturel. Dans ce contexte si la réponse du réseau neuronal est supérieure à 0,5, alors elle est ramenée à un et lorsqu'elle est inférieure à 0,5, elle est ramenée à zéro. Ces méthodes sont satisfaisantes pour la plupart des phénomènes quantitatifs dont l'apprentissage ne nécessite que des réseaux neuronaux ayant peu de couches. Lorsque l'on augmente le nombre de couches, les méthodes d'apprentissage classiques échouent. La présente invention répond aux besoins du domaine émergeant de la modélisation de systèmes physiques complexes par la création d'une copie numérique, également appelée jumeau numérique ou Digital Twin, du système physique, adaptée pour prédire avec fidélité l'état d'un système physique plus rapidement que le système réel, et de préférence des milliers de fois plus rapidement, de manière à être en mesure de simuler un grand nombre de scenarios possibles impactant le système physique avant de prendre la meilleure décision pour le système réel. La notion de jumeau numérique a été introduite dans les publications suivantes : - Glaessgen, E.H. & Stargel, D (Avril 2012), « The Digital Twin paradigm for future NASA and US Air Force vehicles », In 53rd Struct. Dyn. Mater. Conf. Special Session : Digital Twin, Honolulu, Hi, US. - Tuegel, E.J., Ingraffea, A.R., Eason, T.G. & Spottswood, S.M. (2011), « Reengineering aircraft structural life prediction using a digital twin", International Journal of Aerospace Engineering, 2011. La plupart des méthodes d'apprentissage, lorsqu'elles sont appliquées à des phénomènes quantitatifs, se limitent en général à des cas relativement simples qui ne nécessitent que des modèles peu profonds. En plus des méthodes neuronales, on peut citer des méthodes comme le Krigeage (en 2 anglais « Kriging ») et la machine à support vectoriel (en anglais « Support Vector Machine Regression ») : - Lophaven, S. N., Nielsen, H. B., & Sondergaard, J. (2002). DACE: a Matlab kriging toolbox (Vol. 2). IMM, Informatics and Mathematical Modelling, The Technical University of Denmark, : 5 - Balabin, R. M., & Lomakina, E. I. (2011). Support vector machine regression (SVR/LS-SVM)- an alternative to neural networks (ANN) for analytical chemistry? Comparison of nonlinear methods on near infrared (NIR) spectroscopy data. Analyst, 136(8), 1703-1712, Ces deux méthodes, extrêmement populaires, peuvent être assimilées à des réseaux neuronaux peu profonds, n'ayant que trois couches de neurones. 10 Ces méthodes, ainsi que les réseaux neuronaux à faible nombre de couches couvrent l'essentiel des besoins dans le domaine de modélisation de phénomènes quantitatifs. La nécessité de l'apprentissage profond et quantitatif apparait dans des cas particuliers tels que : - La modélisation dynamique avec des réseaux neuronaux récurrents. Une prédiction sur 1000 15 pas de temps est équivalente à la création d'un réseau neuronal ayant plusieurs milliers de couches, - La compression non linéaire de données par réseaux neuronaux, où le taux de compression augmente d'une manière considérable avec le nombre de couches du réseaux neuronaux. Une fois que la structure du réseau est déterminée, il faut passer à l'étape d'apprentissage. Le 20 gradient stochastique est la méthode la plus populaire dans le domaine de l'apprentissage profond : - Bottou, L. (2010). Large-scale machine learning with stochastic gradient descent. In Proceedings of COMPSTAT2010 (pp. 177-186). Physica-Verlag HD, Cette méthode n'est pas étrangère aux difficultés rencontrées. En effet, la méthode du gradient est connue pour avoir une convergence très lente (httpslierimikipedia.orqkviki/Gradient descent). Et 25 le gradient stochastique accentue cette lenteur. Il consiste à appliquer une itération du gradient à chaque échantillon d'apprentissage à tour de rôle. Parfois, la méthode du gradient stochastique est appliquée par petits groupes d'échantillons. Le gradient stochastique accentue la difficulté de convergence. Le caractère stochastique du gradient permet à l'algorithme d'apprentissage de sortir des minima 30 locaux. En effet, le fait de faire baisser l'erreur d'apprentissage pour un échantillon ou sur un petit lot d'échantillons peut augmenter l'erreur globale sur la totalité de l'ensemble d'apprentissage. Cela permet à l'algorithme d'apprentissage de ne pas rester piégé dans un minimum local. Ces méthodes donnent de très bons résultats dans le domaine qualitatifs qui ne nécessitent pas de réponse précise. Cependant, les exigences de précision de l'apprentissage, à la fois quantitatif et 35 profond, rend ces méthodes inexploitables. Il reste à aborder la question de la détermination d'une topologie adaptée au problème posée. La recherche automatique d'une topologie optimale est un vieux sujet de recherche dans le domaine neuronal. On peut citer par exemple : 3 - Attik, M., Bougrain, L., & Alexandre, F. (2005, September). Neural network topology optimization. In International Conference on Artificiel Neural Networks (pp. 53-58). Springer, Berlin, Heidelberg. qui est représentatif des techniques d'élagage (en anglais pruning) pour simplifier un réseau. On peut 5 citer d'autres méthodes d'optimisation topologique : - Minou, N. L., Ludermir, T. B., & Almeida, L. M. (2010, July). Topology optimization for artificial neural networks using differential evolution. In Neural Networks (1JCNN), The 2010 International Joint Conference on (pp. 1-7). IEEE. - Nazghclichi, T., Aghbashlo, M., & Kianmehr, M. H. (2011). Optimization of an artificiel 10 neural network topology using coupled response surface methodology and genetic algorithm for fluidized bed drying. Computers and electronics in agriculture, 75(1), 8491. Elles sont basées sur les algorithmes génétiques. Ces méthodes sont connues pour être très lentes. Pour cette raison, ces méthodes ne sont pas utilisées par les logiciels d'intelligence artificielle les plus 15 courants. Finalement, les procédés d'apprentissage classiques ne sont pas optimisés pour une application particulière. Ils laissent à l'utilisateur le choix d'une topologie de réseau : un nombre de couches, un nombre de neurones par couches, en procédant par essai sur erreur jusqu'à trouver un réseau neuronal capable d'apprendre le phénomène. Ce réseau, trouvé en tâtonnant, n'est pas optimal et est 20 forcément surdimensionné et de ce fait, l'apprentissage nécessite de grandes quantités de données. Tout ceci est possible grâce à la disponibilité de grandes masses de données (« big data » en anglais) pour permettre au réseau de neurones de répondre à la question posée. L'état de l'art actuel fait donc que l'intelligence artificielle va de pair avec la disponibilité d'une grande quantité de données. Or, il existe aussi des applications pour lesquelles la quantité de données disponibles est très limitée 25 (on parle alors de « small data »), et dans ce cas les structures classiques de réseaux de neurones ne sont pas utilisables car elles exigent plus de données que ce qui est disponible. D'autres approches consistent à créer un modèle réduit en s'appuyant sur des logiciels de simulation lourds, qui demandent des heures de calcul et qui ne sont pas compatibles avec le temps réel. Ces approches consistent à créer un espace de dimension réduite sur lequel sont projetés les paramètres 30 du système. Ainsi par exemple, pour le cas d'un système dynamique, en notant Xi la solution d'un problème non réduit à l'instant i, un solveur doit, pour déterminer Xi+, à partir de Xi, résoudre un système de N équations de type F(Xt,Xt+1) = 0 Le nombre N est également la dimension des vecteurs X, et Xi+1. La mise en oeuvre d'un modèle réduit consiste à déterminer une base réduite orthonormée que l'on note U=(U1, U2...., Ut), où n«N. On peut 35 donc comprimer X, par : xi = UTXt, où les x; sont les coefficients de taille n de X,, dans la base réduite U, et on peut décompresser x, pour obtenir X, comme suit : 4 Uxi Le modèle réduit consiste à résoudre à chaque pas de temps un système F(Uxi,Uxi+,)= 0, dont l'inconnue xi+, est de petite taille n. Ce système est résolu au sens des moindres carrés. Comme représenté schématiquement sur la figure 1, une fois la donnée compressée x,+, déterminée à partir de x,, elle est décompressée pour mettre en oeuvre une boucle de récursion sur la donnée 5 réelle. Cette approche par modèle réduit a par exemple été proposée dans les publications suivantes : - Carlberg, K., Farhat, C., Cortial, J., & Amsallem, D. (2013). The GNAT method for nonlinear model reduction: effective implementation and application to computational fluid dynamics and turbulent flows. Journal of Computational Physics, 242, 623-647, 10 - Chinesta, F., Ladeveze, P., & Cueto, E. (2011). A short review on model order reduction based on proper generalized decomposition. Archives of Computational Methods in Engineering, 18(4), 395-404. Cette approche n'est pourtant pas sans inconvénient. En premier lieu, le problème réduit est fortement instable, ce qui signifie qu'une petite perturbation des 15 données entraine une grande déviation de la solution. De ce fait, l'approximation de l'état d'un système physique complexe avec un tel modèle est difficile. De plus, la minimisation de 11E112 implique le calcul d'un résidu, de grande dimension N, un certain nombre de fois, ce qui peut s'avérer coûteux en temps de calcul. Or, en raison du problème d'instabilité, le résidu doit être minimisé avec la plus grande précision à chaque étape. Par 20 conséquent les méthodes actuelles sont insuffisamment précises pour décrire des systèmes physiques complexes non linéaires, et trop coûteuses en temps de calcul pour pouvoir être utilisées en temps réel dans des systèmes embarqués. Enfin, ces méthodes impliquent le plus souvent de réaliser un apprentissage sur des quantités conséquentes de données, et ne peuvent pas être implémentées pour des applications pour 25 lesquelles les données sont rares. Ainsi il n'existe pas à ce jour de solution permettant de modéliser avec précision et rapidité un système physique complexe, sur des temps longs, afin de le reproduire sous la forme d'une copie numérique. 30 PRESENTATION DE L'INVENTION L'invention a pour objet de remédier aux lacunes de l'art antérieur décrites ci-avant concernant l'apprentissage de phénomènes quantitatifs représentant des systèmes réels et nécessitant des réseaux neuronaux ayant un grand nombre de couches. 35 En particulier, un but de l'invention est de proposer une méthode de simulation dynamique d'un système physique complexe pourvue d'excellentes capacités de prédiction sur des temps longs et qui soit plus rapide que le temps réel du système physique. 5 Un autre but de l'invention est d'être applicable à la modélisation tant statique que dynamique de systèmes physiques qui nécessitent un réseau neuronal ayant un grand nombre de couches. La compression non linéaire est un autre domaine où l'on doit faire appel à des réseaux neuronaux profonds. En effet, le taux de compression augmente d'une manière drastique avec la profondeur du 5 réseau. Cette compression est à la base de la prédiction dynamique sur des temps longs. L'invention a enfin pour but de proposer une structure de réseau de neurones adaptée à l'application qui en est faite ultérieurement, cette structure étant parcimonieuse, c'est-à-dire la plus réduite possible pour nécessiter une quantité faible de données pour son apprentissage. 10 Plus particulièrement, [invention a pour objet un procédé de construction d'un réseau de neurones à propagation avant, comprenant un ensemble de noeuds de traitement et de connexions entre les noeuds formant une topologie organisée en couches, telle que chaque couche est définie par un ensemble de noeuds calculables simultanément, et l'entrée d'un noeud de traitement d'une couche peut être connectée à la sortie d'un noeud de l'une quelconque des couches précédemment calculées, 15 le procédé comprenant une étape d'initialisation d'un réseau de neurones selon une topologie initiale comprenant une couche d'entrée, au moins une couche cachée comprenant au moins un noeud, et un ensemble de noeuds de sortie, et au moins une phase d'optimisation topologique, chaque phase d'optimisation topologique comprenant : 20 - au moins une phase additive comprenant la modification de la topologie du réseau par l'ajout d'au moins un noeud et/ou un lien de connexion entre l'entrée d'un noeud d'une couche et la sortie d'un noeud de l'une quelconque des couches précédentes, et/ou - au moins une phase soustractive comprenant la modification de la topologie du réseau par la suppression d'au moins un noeud et/ou un lien de connexion entre deux couches, 25 et dans lequel chaque modification de topologie comprend la sélection d'une modification de topologie parmi plusieurs modifications candidates, à partir d'une estimation de la variation de l'erreur du réseau, calculée sur des données d'apprentissage, entre chaque topologie modifiée selon une modification candidate et la topologie précédente. 30 Avantageusement, mais facultativement, la modification de topologie sélectionnée est celle, parmi les modifications candidates, optimisant la variation de l'erreur par rapport à la topologie précédente. Dans un mode de réalisation, l'erreur du réseau pour une topologie donnée est définie par Kr, W*), où - J est une fonction d'erreur entre une donnée de sortie du réseau et un résultat cible, - r est la topologie du réseau, et 35 W' est la matrice des poids de connexion du réseau minimisant la fonction d'erreur J à topologie F fixée. Dans un mode de réalisation, la variation de l'erreur du réseau entre une topologie candidate et la topologie précédente est estimée en calculant la quantité : j(rnWn,) 6 Où par abus de notation, nous notons Fn la topologie du réseau candidate à l'itération n, Wn, est une matrice des poids de connexion du réseau après au moins une itération d'apprentissage du réseau suite à la modification topologique candidate à [itération n, et Wn't est la matrice des poids de connexion du réseau d'itération n-1 minimisant la fonction d'erreur J 5 avec la topographie rn-1 fixée. Wn peut alors être initialisé avec les mêmes poids de connexion que la matrice WR-1' pour les connexions communes aux deux topologies et, dans le cas d'une phase additive, un poids de connexion nul pour chaque lien créé lors de la phase additive. Dans un mode de réalisation, l'estimation de la variation de l'erreur du réseau entre une topologie 10 modifiée et la topologie précédente comprend l'estimation de l'erreur du réseau selon la topologie modifiée à partir de l'opérateur de Lagrange appliqué aux poids de connexion du réseau de neurones L(r, W, X, A) où : - est l'opérateur de Lagrange, - r est la topologie du réseau, 15 - W est une matrice de poids de connexion du réseau, - X = C Xne) représente les sorties de l'ensemble des noeuds du réseau et Xi représente les sorties des noeuds de la couche i, et - Ai est le multiplicateur de Lagrange associé à l'expression définissant les éléments de la couche Xt. 20 Avantageusement, lors d'une phase additive, la variation de l'erreur du réseau entre une topologie candidate et la topologie précédente est estimée en calculant la quantité : L(tW, Wn,X,A) - j(rn-1,wn-'') où - rn est la topologie du réseau candidate à l'itération n, - Wn-14 est la matrice des poids de connexion du réseau de la topologie d'itération n-1 25 minimisant la fonction d'erreur J pour une topographie fixée, W' est une matrice des poids de connexion du réseau après la modification topologique candidate à l'itération n, ladite matrice étant initialisée avec les mêmes poids de connexion que la matrice Wn-1* pour les connexions communes entre la topologie candidate à l'itération n et la topologie d'itération n1, et un poids de connexion nul pour chaque lien créé lors de la phase additive. Une mise à jour de 30 Wn est ensuite obtenue en minimisant .0 par rapport aux poids des liens créés. Avantageusement, lors d'une phase soustractive, la variation de l'erreur du réseau entre une topologie calculée et la topologie précédente est estimée en calculant la quantité : Wn, X, A) -J( rn-1,wn-1,) où Wn = Wi>1* est une restriction de Wn-1* à la topologie r. Dans un mode de réalisation, le réseau de neurones est adapté pour simuler un système réel régi par 35 une équation de type Y=f(X) où X est une donnée d'entrée et Y est une réponse du système physique, et l'erreur J du réseau de neurones est définie en fonction de la topologie r et de la matrice W des poids de connexion du réseau, par : 7 1(1-,w) Dfr,w(xi)- Ir Où frx(X) est la sortie du réseau de neurones, et X, et Y, sont respectivement des données d'entrée et de sortie engendrées par des mesures sur le système réel. Dans un mode de réalisation, le procédé comprend, une fois la modification de topologie sélectionnée, la détermination d'une matrice des poids de connexion du réseau par une méthode de descente telle 5 que la rétropropagation du gradient de l'erreur par rapport à ladite matrice. Avantageusement, l'étape d'optimisation topologique est mise en oeuvre en fonction d'erreurs moyennes du réseau de neurones sur des données d'apprentissage d'une part, et sur des données de validation d'autre part, dans lequel : - au moins une étape additive est mise en oeuvre pour faire baisser l'erreur moyenne sur les 10 données d'apprentissage, - au moins une étape soustractive est mise en oeuvre, si l'erreur sur les données d'apprentissage devient inférieure à l'erreur sur les données de validation au-delà d'une tolérance prédéterminée, et l'optimisation topologique est arrêtée lorsque toute étape additive ou soustractive ne résulte 15 plus en une diminution de l'erreur sur les données d'apprentissage et sur les données de validation. Dans un mode de réalisation, le réseau de neurones comprend au moins un bloc de compression adapté pour générer des données compressées, et un bloc de décompression, le procédé comprenant au moins une phase d'optimisation topologique mise en oeuvre sur le bloc de 20 compression et le bloc de décompression, et comprenant en outre, à l'issue de l'optimisation topologique des blocs, une phase d'apprentissage de l'ensemble du réseau de neurones à topologie fixée. Dans ce cas, l'étape d'initialisation du réseau de neurones comprend : - la création d'un réseau de neurones initial comprenant : 25 o une couche d'entrée recevant une entrée X,, o une couche de sortie générant une sortie X, et o une couche cachée centrale disposée entre la couche d'entrée et la couche de sortie, - la mise en oeuvre d'un apprentissage du réseau de neurones initial, - le remplacement, dans le réseau de neurones initial, de la couche cachée centrale par une 30 première couche intermédiaire, une nouvelle couche centrale, et une deuxième couche intermédiaire, les couches intermédiaires étant des copies de la couche centrale remplacée, et - la définition du bloc de compression comme l'ensemble des couches comprises entre la couche d'entrée et la couche centrale, et du bloc de décompression comme l'ensemble des 35 couches comprises entre la couche centrale et la couche de sortie. Le procédé peut en outre comprendre la mise en oeuvre itérative : 8 - d'une étape de subdivision de la couche centrale par une nouvelle première couche intermédiaire, une nouvelle couche centrale, et une nouvelle deuxième couche intermédiaire, - de redéfinition des blocs de compression et de décompression pour inclure les couches obtenues à l'issue de l'étape de subdivision et 5 - d'optimisation topologique des blocs de compression et de décompression. Dans un mode de réalisation, le procédé comprend en outre la sélection du bloc de compression et de décompression et l'ajout d'un bloc de modélisation, respectivement en sortie du bloc de compression ou en entrée du bloc de décompression, dans lequel au moins une phase d'optimisation topologique est mise en oeuvre sur le bloc de modélisation, et une phase d'apprentissage à topologie fixée est 10 mise en oeuvre sur l'ensemble comprenant le bloc de modélisation et le bloc de compression ou de décompression. Dans un mode de réalisation, le procédé comprend en outre l'insertion, entre le bloc de compression et le bloc de décompression, d'un bloc de modélisation adapté pour modéliser l'évolution d'un système dynamique régi par une équation de la forme Xi+, = F(Xi, Pi) + Gi, i > 0 15 où X, est une caractéristique mesurable du système physique à un instant donné, P, décrit l'état interne du système physique, et G; décrit une excitation, et le bloc de modélisation est adapté pour calculer une sortie xi+, de la forme : xi+, = + gi, i > 0 xo = Cx(X0)) (17) où : - xi est une compression de Xi par le bloc de compression xi = Cx(Xi), 20 - hpo est la fonction calculée par le bloc de modélisation, Pet Wsont respectivement la topologie et la matrice des poids de connexions du bloc de modélisation, et - pk et gk sont les données représentatives de l'excitation et de l'état interne du système alimentant le bloc de modélisation. L'invention a également pour objet un réseau de neurones, caractérisé en ce qu'il est obtenu par la 25 mise en oeuvre du procédé selon la description qui précède. L'invention a également pour objet un produit programme d'ordinateur, comprenant des instructions de code pour la mise en oeuvre du procédé selon la description qui précède, lorsqu'il est exécuté par un processeur. L'invention a également pour objet un procédé de simulation d'un système réel régi par une équation 30 de type Y=f(X) où X est une donnée d'entrée et Y est une réponse du système réel, comprenant : - la construction d'un réseau de neurones adapté pour calculer une fonction fr,w telle que Y rc. f, ,,'(X), par la mise en oeuvre du procédé selon la description qui précède, le réseau de neurones comprenant éventuellement un bloc de compression, et l'application, à une nouvelle donnée d'entrée Xi, du réseau de neurones pour en déduire une 35 simulation de réponse Yi du système. 9 L'invention a également pour objet un procédé de simulation d'un système physique dynamique régi par une équation de la forme X = F(X!, Pi) + Gi, i > 0 où X, est une grandeur mesurable du système physique à un instant donné, Pi décrit l'état interne du système physique, et G, décrit une excitation, le procédé comprenant les étapes de : 5 - acquisition de X,, P, et G,, - compression de Xi pour obtenir une donnée compressée xi, - application récurrente, un nombre k de fois, d'un réseau de neurones modélisant le système physique dynamique sur la donnée compressée xi pour obtenir au moins une donnée compressée ultérieure xi+k, et 10 - décompression de la donnée compressée ultérieure x,,kpour obtenir une modélisation d'une grandeur ultérieure Xi+k. Dans un mode de réalisation, le procédé de simulation est mis en oeuvre au moyen d'un d'un réseau de neurones construit selon le procédé décrit précédemment et comprenant un bloc de compression et un bloc de décompression, et les étapes de compression de X,, d'application d'un réseau de 15 neurones et de décompression de xkl sont mises en oeuvre respectivement au moyen du bloc de compression, du bloc de modélisation et du bloc de décompression du réseau de neurones construit. L'invention a enfin pour objet un procédé de compression de données comprenant : - la construction, par la mise en oeuvre du procédé de compression selon la description qui précède, d'un réseau de neurones comprenant un bloc de compression recevant en entrée 20 une donnée X et un bloc de décompression générant en sortie la donnée X, dans lequel la construction du réseau de neurones comprend la mise en oeuvre d'au moins une phase d'optimisation topologique sur le bloc de compression et le bloc de décompression, et l'application, à au moins une donnée représentative de l'état d'un système réel, du bloc de compression du réseau de neurones construit. 25 Le procédé de construction d'un réseau de neurones selon l'invention permet d'obtenir un réseau de neurones dont la structure dépend de l'utilisation ou l'application prévue, puisque la construction comprend une phase d'optimisation topologique qui est gouvernée par l'erreur du réseau sur des données d'apprentissage et de validation. 30 En d'autres termes, le procédé de construction comprend simultanément la construction, et l'apprentissage, pour une tâche spécifique, du réseau de neurones. Ceci permet à un utilisateur de ce procédé de ne pas avoir besoin de disposer de connaissances mathématiques particulières pour choisir une structure de réseau de neurones adaptée à l'application technique visée. De plus, la mise en oeuvre d'une technique d'optimisation topologique dans la construction 35 joue un double rôle : - Eviter les minima locaux, où à chaque fois que le processus d'apprentissage est piégé dans un minimum local, la technique d'optimisation topologique additive enrichit le réseau neuronal par l'élément (noeud ou lien) qui améliore le mieux l'apprentissage. 10 En d'autres termes cette optimisation topologique permet de renforcer la précision quantitative du réseau. - Créer un réseau neuronal parcimonieux, et en particulier réduire sa profondeur afin d'atténuer les problèmes d'apprentissage mentionnés ci-dessus, et permettre 5 l'apprentissage du réseau y compris avec des données rares ou en faibles quantités. Le procédé d'optimisation topologique donne au réseau neuronal une structure innovante dans la mesure où un neurone d'une couche, y compris la couche de sortie, peut être relié à un neurone de n'importe quelle couche précédente, y compris la couche d'entrée. En effet, lorsqu'un 10 phénomène physique dépend d'un grand nombre de paramètres, la plupart de ces paramètres contribuent d'une manière linéaire à la réponse du système. D'où l'intérêt de connecter les entrées correspondantes directement à la couche de sortie du réseau neuronal. L'effet de paramètres faiblement non linéaires peut être pris en compte par une seule couche intermédiaire entre l'entrée et la sortie et ainsi de suite. 15 La réduction de la complexité du réseau neuronal améliore de fait sa capacité de généralisation (aptitude à donner la bonne réponse sur des données non apprises), Cela permet également d'atténuer les difficultés d'apprentissage (gradients explosifs et gradients évanescents) en réduisant le nombre de couches. En effet, dans un réseau structuré en couches, certaines cellules peuvent servir tout simplement à dupliquer des cellules antérieures afin de les rendre disponibles pour 20 la couche qui suit. Cela augmente la complexité du réseau d'une manière inutile. Ce réseau de neurones, utilisé pour la modélisation d'un système physique complexe, permet une très bonne qualité de simulation pour des temps de calculs réduits, et notamment inférieurs au temps réel du système physique. Le modèle de simulation peut être construit à partir de mesures effectuées pendant le fonctionnement normal du système physique ou pendant des phases de test. 25 De plus, l'optimisation topologique du réseau est avantageusement menée par l'utilisation de l'opérateur de Lagrange, ou lagrangien, appliqué aux poids de connexion du réseau de neurones. Cette méthode permet de calculer de façon particulièrement rapide l'effet d'une modification topologique du réseau (ajout/élimination d'une cellule neuronale, ajout élimination d'un lien), ce qui permet de rapidement évaluer et sélectionner à chaque étape la meilleure amélioration topologique du 30 réseau de neurones. Le réseau de neurones à propagation avant est avantageusement utilisé, comme motif récurrent, dans le cadre de la simulation dynamique de systèmes physiques pour prédire un état futur du système en fonction d'un état initial et d'éventuels termes sources ou excitations. Le réseau de neurones est avantageusement combiné à une approche dans laquelle les 35 données représentatives de l'état du système physique sont compressées. Le modèle dynamique simule l'état futur du système sur les données compressées, puis décompresse les données simulées pour revenir à l'espace réel. Contrairement à l'état de la technique portant sur les bases réduites décrit ci-avant, la boucle de récursion ne se fait pas dans l'espace réel mais dans l'espace des données comprimées, ce qui élimine le bruit sur les données tout en assurant une meilleure stabilité 11 du modèle dynamique. Ceci permet également de réduire les temps de calcul dans les phases d'apprentissage et de simulation. L'optimisation topologique joue un rôle majeur dans la maîtrise des modèles dynamiques. En effet, si l'on effectue m itérations d'un motif récurrent ayant n couches, la difficulté d'apprentissage est 5 équivalente à celle d'un réseau neuronal ayant n x m couches. L'invention permet donc de réduire n, et par conséquent le nombre de calculs et leur durée, de deux manières différentes : - Par la compression qui réduit la taille du motif récurrent, - Par l'optimisation topologique qui réduit le nombre de couches du motif récurrent. 10 DESCRIPTION DES FIGURES D'autres caractéristiques, buts et avantages de l'invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels : - la figure 1, déjà décrite, représente schématiquement un procédé de simulation dynamique au 15 moyen d'une base réduite de projection, - la figure 2 représente schématiquement un système pour la mise en oeuvre d'un procédé de construction d'un réseau de neurones et de simulation d'un système physique. - La figure 3 représente schématiquement les principales étapes de construction d'un réseau de neurones selon un mode de réalisation de l'invention, 20 - les figures 4a et 4b représentent respectivement un exemple de réseau de neurones obtenu respectivement par un logiciel de l'état de la technique et par la mise en oeuvre du procédé de construction selon un mode de réalisation de l'invention pour une application identique, Il s'agit du meilleur résultat obtenu par le logiciel de l'état de la technique, après avoir effectué cinquante expériences d'essai sur erreur. 25 - La figure 5 représente schématiquement un exemple de construction de réseau de neurones comprenant un bloc de compression et un bloc de décompression. - Les figures 6a et 6b représentent schématiquement la mise en oeuvre d'un procédé de modélisation dynamique selon deux variantes de réalisation de l'invention. - La figure 7a représente schématiquement en vue de dessus une installation pour la mesure 30 de la progression d'un front de fusion de sodium, - La figure 7b représente trois différentes commandes de puissance d'une résistance électrique de l'installation de la figure 8a. - Les figures 8a et 8b représentent respectivement le réseau de compression/décompression et le réseau de modélisation dynamique réalisé pour modéliser les données des capteurs de 35 l'installation de la figure 7a, - Les figures 9a à 9c représentent, pour un capteur de l'installation de la figure 7a, une comparaison entre les données du capteur et les données de modélisation pour chacune des trois commandes de puissance de la figure 7b. 12 DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE REALISATION DE L'INVENTION On va maintenant décrire un procédé de construction d'un réseau de neurones pouvant être utilisé pour la modélisation d'un système ou phénomène physique. Ce procédé, ainsi que les procédés de compression de données, de simulation d'un système statique ou dynamique décrits 5 ensuite, sont mis en oeuvre par un ordinateur 1 représenté schématiquement en figure 2, comprenant un calculateur (par exemple un processeur) 10, et une mémoire 11, le calculateur étant adapté pour exécuter des instructions stockées dans la mémoire 11 pour la mise en oeuvre de ces procédés. L'ordinateur comprend avantageusement ou peut être connecté à au moins un capteur 12 adapté pour acquérir des mesures de grandeurs physiques. 10 Le procédé comprend deux phases : une phase d'apprentissage et de construction du modèle, et une phase de simulation pour l'exploitation du modèle. Les deux phases peuvent être effectuées sur des équipements différents. Seule la phase de simulation a vocation à relever du temps réel. 15 Dans toute la suite, on appelle système réel tout système dont l'état peut au moins en partie être mesuré par des capteurs de grandeurs physiques. Parmi les systèmes réels on recense notamment les systèmes physiques, biologiques, chimiques et informatiques. On suppose que le système réel que l'on cherche à modéliser est régi par une modèle de type : = f (X) (1) 20 où X et Y sont respectivement des variables d'entrée et de sortie caractérisant l'état du système. Pour la construction de ce modèle, on dispose d'une base de données de type (X'Y,),m_, engendrés par des mesures sur le système réel, les données pouvant être stockées dans la mémoire 11, où : - X, e OEr° est une donnée d'entrée comprenant un nombre no de composantes, dont la 25 dernière, à titre d'exemple, est fixée à 1 et les n0-1 restantes correspondent typiquement à des grandeurs physiques représentatives de l'état du système, ces données ayant été mesurées au moyen de capteurs 12, et - Y, E 9V' est une donnée de sortie comprenant un nombre no de composantes, qui correspondent à d'autres grandeurs physiques du système, ces données ayant également été 30 mesurées au moyen de capteurs 12. Cette base de données est répartie en deux sous-ensembles disjoints, dont le premier constitue une base de données d'apprentissage formée par les indices, par exemple, i = 1,...,M1, Mi 0 (16) 5 Où G, correspond à une ou plusieurs excitations représentant l'environnement du système simulé et P décrit l'état interne du système. Le système n'est connu qu'à travers quelques mesures effectuées au cours du temps : JC = XM) G = (Go, Gm) et P = (P0, P1, , Pm). Le bloc de modélisation est avantageusement un réseau de neurones adapté pour reproduire un modèle de la forme : xi+i = 4.12( Pt) + gt, i > 0 xo = Cx(X0)) (17) 10 où : - xi est une compression de X; par le bloc de compression xi = Cx(Xi), - hp,,e est la fonction calculée par le bloc de modélisation, Pet Wsont respectivement la topologie et la matrice des poids de connexions du bloc de modélisation, et - pk et gk sont les données représentatives de l'excitation et de l'état interne du système sur 15 lesquelles est mis en oeuvre le bloc de modélisation. Dans un mode de réalisation, représenté schématiquement en figure 6a, le nombre de paramètres pour l'état interne Pi et le nombre d'excitation Gi est faible, par exemple inférieur à la taille des xi, alors on peut prendre pi = P, et gi = G ,. 20 La détermination de hp,a', se fait alors par la résolution du problème d'optimisation suivant : M 12 lhp,W (X Pi) + - xi+111 (18) t=0 La minimisation par rapport à r est avantageusement effectuée par l'étape d'optimisation topologique 200 décrite ci-avant, et pour r fixé, on utilise une technique de Gauss-Newton zéro mémoire pour estimer W. 25 Sinon, dans le cas où le nombre de paramètres pour P et G est plus élevé, on comprime également ces paramètres pour obtenir Pi = Cp(Pi) = CG(Gi) Où: - Cp est un opérateur de compression, éventuellement linéaire, adapté pour compresser des min r,vP 30 données P, en des données p,, et 24 CG est un opérateur de compression, éventuellement linéaire, adapté pour compresser des données Gi en des données g, de taille égale à celle des données xi. Il s'agit de compression induite par celle des X. Même si les Pi et G, ne se prêtent pas facilement à une compression, leur effet sur le système dynamique est compressible. La figure 6b montre que la 5 compression des Xt induit une compression sur les excitations G1. En effet, les Xi étant issus de l'intégration d'une équation aux différences, ils sont plus réguliers que les excitations Pi et G1. De ce fait, leur effet sur le modèle est compressible. Ce mode de réalisation est représenté schématiquement sur la figure 6b. Dans ce cas la 10 détermination de hp,w se fait par la résolution du problème d'optimisation suivant : M min gi- xi+,112 (19) 1=0 La minimisation par rapport à P est effectuée par l'étape d'optimisation topologique 200 décrite ci-avant, et pour rfixé, on utilise une technique de Gauss-Newton zéro mémoire pour estimer W, Cp et CG. 15 Dans ce procédé, la boucle de récursion ne se fait pas dans l'espace réel des Xi mais dans l'espace des données compressées. Cette compression réduit le bruit sur les données et assure une meilleure stabilité du modèle dynamique, tout en réduisant les temps de calcul dans les phases d'apprentissage et de simulation. Quelle que soit la méthode utilisée pour l'initialisation de W et éventuellement pour 20 sa mise à jour, le nombre de modifications topologiques à tester peut augmenter très rapidement avec la taille du réseau neuronal. Pour limiter la quantité de calculs, on peut choisir les configurations à tester au hasard et ne retenir que celle qui donne la meilleure estimation pour la réduction de l'erreur. Exemple 25 A titre d'illustration, un exemple d'application possible mais nullement limitatif est celui de la modélisation de la fusion d'un bloc de sodium solide. En référence à la figure 7a, on considère un récipient carré de faible hauteur qui contient du sodium à l'état solide. La figure 7a est une vue de dessus de ce récipient, qui est chauffé par une résistance électrique positionnée dans un coin du récipient dans le but de faire fondre le sodium. 30 Trois expériences sont réalisées. Lors de chaque expérience, la résistance est alimentée par respectivement l'un des trois profils de puissance représentés à la figure 7b. Sur cette figure, on a représenté en abscisse le temps en secondes et en ordonnée la puissance délivrée à la résistance en Watts. La réponse de ce système est représentée par 9 capteurs 2 de température, qui fournissent 35 uniquement la valeur 0 si la température ne dépasse pas le seuil de fusion du sodium, et 1 si cette valeur est dépassée. 25 Si l'on note zt le vecteur formé par les 9 mesures à un instant i, alors X, représente l'état du système aux instants successifs i et i-1 z111 X., = (zt-i On établit un « jumeau numérique » de ce système dynamique à partir de données mesurées lors de la première expérience avec le premier profil de puissance, et conformément au procédé de 5 simulation de système dynamique précédemment décrit en effectuant d'abord une compression de X,. La compression donne lieu à un réseau neuronal comprenant 18 entrées (deux pour chacun des neufs capteurs) et 18 sorties. En référence à la figure 8a, qui représente un réseau neuronal de compression puis décompression de X,, on constate que la compression permet de représenter chaque X, par seulement deux coefficients. 10 On insère ensuite entre le bloc de compression et le bloc de décompression un bloc de modélisation dynamique sous la forme d'un réseau neuronal récurrent dont le motif est représenté sur la figure 8b. La troisième entrée de ce réseau (au niveau de l'ordonnée 2) correspond à la puissance injectée dans la résistance. Sur la figure 8b, l'épaisseur de chaque connexion représente son intensité, c'est-à-dire qu'elle est représentative en relatif du poids de la connexion. On peut constater 15 que l'excitation joue un rôle important. Pour améliorer la lisibilité des figures 7a et 7b, nous n'avons pas représenté le biais, qui est connecté à pratiquement tous les noeuds du réseau. En référence aux figures 9a à 9c, on a représenté une comparaison entre les données réelles (données en traits pleins) et les données de prédiction du modèle (données en traits pointillés) ainsi construit, pour un capteur central 20 du récipient et pour chacune des trois expériences : la figure 9a 20 correspond à l'expérience 1, la figure 9b correspond à l'expérience 2 et la figure 9c correspond à l'expérience 3. En abscisse est représenté le temps écoulé en secondes, et en ordonnée est représentée la réponse du capteur dont on rappelle qu'elle ne prend comme valeurs que 0 pour du sodium solide et 1 pour du sodium liquide. On peut remarquer à travers ces figures que la position du front de liquéfaction du sodium 25 dépend de manière significative de l'excitation, et que le modèle construit arrive bien à prédire cette position dans les cas de validation, qui sont ceux des figures 9b et 9c. Annexe La dérivée de la somme étant égale à la somme des dérivées, on établit le résultat pour une seule donnée d'apprentissage : M1 = 1. ne G(p, W, X, A) = 110 Xne - YI12 + AT(Xi - X1-1)) 1=1 E(F,W, X, A). 0= 0 v 0. 5 Cela donne pour i = ne 2(0 Xnc - Y, 0 0) + tr(g'0), V0, Ici (.,.) désigne le produit scalaire dans 9ino. Il en découle A, = 2(0 Xnc - Y)TO. Et on obtient pour i = n.c - 1, n.c - 2, ..., 0 gq5 - AT Xi).* )) = 0, V 0 j>i où représente la sous-matrice de lej qui agit sur les composantes de X'. La notation .* désigne le 10 produit composante par composante de deux matrices de même taille. En faisant parcourir à 0 les éléments de la base canonique de eti, on obtient AT = AT((rsf,(W/_,, * Xi) * u).* V51_1), j>i où u = (1,1,...,1) est un vecteur ligne ayant ni éléments. En effectuant une transposition, on obtient : Ai = I(uTfs',0471_, Xi)T.* (1,171_,)T)Ai , pour i = nc - 1, , O. j>i Que l'on peut écrire également sous la forme A, = X (dia g (fi, (W1_, * Xi) ) * (WiLDT)A1 , pour i = Tic - 1, ..., j>i Où diag(x) REVENDICATIONS1. Procédé de construction d'un réseau de neurones à propagation avant, comprenant un ensemble de noeuds de traitement et de connexions entre les noeuds formant une topologie organisée en couches, telle que chaque couche est définie par un ensemble de noeuds calculables simultanément, et l'entrée d'un noeud de traitement d'une couche peut être connectée à la sortie d'un noeud de l'une quelconque des couches précédemment calculées, le procédé comprenant une étape d'initialisation (100) d'un réseau de neurones selon une topologie initiale comprenant une couche d'entrée, au moins une couche cachée comprenant au moins un noeud, et un ensemble de noeuds de sortie, et au moins une phase d'optimisation topologique (200), chaque phase d'optimisation topologique comprenant : - au moins une phase additive comprenant la modification de la topologie du réseau par l'ajout d'au moins un noeud etiou un lien de connexion entre l'entrée d'un noeud d'une couche et la sortie d'un noeud de l'une quelconque des couches précédentes, et/ou - au moins une phase soustractive comprenant la modification de la topologie du réseau par la suppression d'au moins un noeud et/ou un lien de connexion entre deux couches, et dans lequel chaque modification de topologie comprend la sélection (212) d'une modification de topologie parmi plusieurs modifications candidates, à partir d'une estimation (211) de la variation de l'erreur du réseau, calculée sur des données d'apprentissage, entre chaque topologie modifiée selon une modification candidate et la topologie précédente. 2. Procédé de construction selon la revendication 1, dans lequel la modification de topologie sélectionnée est celle, parmi les modifications candidates, optimisant la variation de l'erreur par rapport à la topologie précédente, et l'erreur du réseau pour une topologie donnée est définie par RF, W*), où - J est une fonction d'erreur entre des sorties du réseau et un résultat cible, - C est la topologie du réseau, et W* est la matrice des poids de connexion du réseau minimisant la fonction d'erreur J à topologie r fixée. 3. Procédé de construction selon l'une des revendications précédentes, dans lequel l'estimation de la variation de l'erreur du réseau entre une topologie modifiée et la topologie précédente comprend l'estimation de l'erreur du réseau selon la topologie modifiée à partir de l'opérateur de Lagrange appliqué aux poids de connexion du réseau de neurones G(I', W, X, A) où : - L est l'opérateur de Lagrange - est la topologie du réseau, - W est une matrice de poids de connexion du réseau, 28 - X= (e,...,X"c) représente les sorties de l'ensemble des noeuds du réseau et X' représente les sorties des cellules de la couche i, et - Ai est le multiplicateur de Lagrange associé à l'expression définissant les éléments de la couche Xt. 5 4. Procédé de construction selon la revendication précédente, dans lequel, lors d'une phase additive, la variation de l'erreur du réseau entre une topologie candidate et la topologie précédente est estimée en calculant la quantité : Wn, X, A) -J (r Wnit où 10 - r" est la topologie du réseau candidate à l'itération n, - Wn-1* est la matrice des poids de connexion du réseau de la topologie d'itération n-1 minimisant la fonction d'erreur J pour une topographie fixée, Wn est une matrice des poids de connexion du réseau après la modification topologique candidate à l'itération n, ladite matrice étant initialisée avec les mêmes poids de connexion que la matrice Wn-1+ 15 pour les connexions communes entre la topologie candidate à l'itération n et la topologie d'itération n- 1, et un poids de connexion nul pour chaque lien créé lors de la phase additive, puis mise à jour par minimisation de ,C par rapport aux poids des liens créés. 5. Procédé de construction selon l'une des revendications 34 ou 4 dans lequel, lors d'une phase 20 soustractive, la variation de l'erreur du réseau entre une topologie calculée et la topologie précédente est estimée en calculant la quantité : L(rn,Wn,X,A) - où = Wi>.1* est une restriction de Wn-1* à la topologie Fn 6. Procédé de construction selon l'une des revendications précédentes, dans lequel le réseau de 25 neurones est adapté pour simuler un système physique régi par une équation de type Y=f(X) où X est une donnée d'entrée et Y est une réponse du système physique, et l'erreur J du réseau de neurones est définie en fonction de la topologie r et de la matrice W des poids de connexion du réseau, par : 11,1 J(r,W) =111fr,w(Xi) -1112 Où fr,w(X,) est la sortie du réseau de neurones, et X, et Yi sont respectivement des données d'entrée et de sortie engendrées par des mesures sur le système réel. 30 7. Procédé de construction selon l'une des revendications précédentes, comprenant, une fois la modification de topologie sélectionnée, la détermination (213) d'une matrice des poids de connexion du réseau par rétropropagation du gradient de l'erreur par rapport à ladite matrice. 29 8. Procédé de construction selon l'une des revendications précédentes, dans lequel l'étape d'optimisation topologique (200) est mise en oeuvre en fonction d'erreurs moyennes du réseau de neurones sur des données d'apprentissage d'une part, et sur des données de validation d'autre part, dans lequel : 5 - au moins une étape additive est mise en oeuvre pour faire baisser l'erreur moyenne sur les données d'apprentissage, - au moins une étape soustractive est mise en oeuvre, si l'erreur sur les données d'apprentissage devient inférieure à l'erreur sur les données de validation au-delà d'une tolérance prédéterminée, et 10 l'optimisation topologique est arrêtée lorsque toute étape additive ou soustractive ne résulte plus en une diminution de l'erreur sur les données d'apprentissage et sur les données de validation. 9. Procédé de construction selon l'une des revendications précédentes, dans lequel le réseau de 15 neurones comprend au moins un bloc de compression adapté pour générer des données compressées et un bloc de décompression, le procédé comprenant au moins une phase d'optimisation topologique (200) mise en oeuvre sur le bloc de compression et le bloc de décompression, et comprenant en outre, à l'issue de l'optimisation topologique des blocs, une phase d'apprentissage (300) de l'ensemble du réseau de neurones à topologie fixée. 20 10. Procédé de construction selon la revendication précédente, comprenant en outre la sélection du bloc de compression et de décompression et l'ajout d'un bloc de modélisation, respectivement en sortie du bloc de compression ou en entrée du bloc de décompression, dans lequel au moins une phase d'optimisation topologique (200) est mise en oeuvre sur le bloc de modélisation, et une phase 25 d'apprentissage à topologie fixée est mise en oeuvre sur l'ensemble comprenant le bloc de modélisation et le bloc de compression ou de décompression. 11. Procédé de construction selon la revendication 9, comprenant en outre l'insertion, entre le bloc de compression et le bloc de décompression, d'un bloc de modélisation adapté pour modéliser l'évolution 30 d'un système dynamique régi par une équation de la forme = F(Xt,Pt)+ Gi, i > 0 où Xi est une caractéristique mesurable du système physique à un instant donné, Pi décrit l'état interne du système physique, et Gi décrit une excitation, et le bloc de modélisation est adapté pour calculer une sortie xi+, de la forme : xi+i = hr,w(xisPi)+ gi, i > 0 xo = Cx(X0)) (17) où : 35 - xi est une compression de Xt par le bloc de compression xi = Cx(Xi), 30 - hrw est la fonction calculée par le bloc de modélisation, TetWsont respectivement la topologie et la matrice des poids de connexions du bloc de modélisation, et - p,, et g,, sont les données représentatives de l'excitation et de l'état interne du système sur lesquelles est mis en oeuvre le bloc de modélisation. 5 12. Réseau de neurones, caractérisé en ce qu'il est obtenu par la mise en oeuvre du procédé selon l'une des revendications précédentes. 13. Produit programme d'ordinateur, comprenant des instructions de code pour la mise en oeuvre du 10 procédé selon l'une des revendications 1 à 11, lorsqu'il est exécuté par un processeur (10). 14. Procédé de simulation d'un système réel régi par une équation de type Y=f(X) où X est une donnée d'entrée et Y est une réponse du système réel, comprenant : - la construction d'un réseau de neurones adapté pour calculer une fonction fr jv telle que 15 Y = fl.w(X), par la mise en oeuvre du procédé selon l'une des revendications 1 à 11, et l'application, à une nouvelle donnée d'entrée Xi représentative d'une grandeur physique du système, du réseau de neurones pour en déduire une simulation de réponse Y, du système. 15. Procédé de simulation selon la revendication précédente, dans lequel le réseau de neurones 20 comprend en outre un bloc de compression des données, le bloc de compression des données étant obtenu par la mise en oeuvre du procédé selon la revendication 9. 16. Procédé de simulation d'un système physique dynamique régi par une équation de la forme = P(Xi, Pi) + Gi, i>0 où X, est une grandeur mesurable du système physique à un instant donné, Pi décrit l'état interne du 25 système physique, et G, décrit une excitation, le procédé comprenant les étapes de : - acquisition de X,, P, et G,, compression de Xi pour obtenir une donnée compresséex,, - application récurrente, un nombre k de fois, d'un réseau de neurones modélisant le système physique dynamique sur la donnée compressée xi pour obtenir au moins une donnée 30 compressée ultérieure xi+k, et - décompression de la donnée compressée ultérieure xkopour obtenir une modélisation d'une grandeur ultérieure Xl+k- 17. Procédé de simulation selon la revendication précédente, mis en oeuvre au moyen d'un 35 réseau de neurones construit par la mise en oeuvre du procédé selon la revendication 11, et dans lequel les étapes de compression de Xi, d'application d'un réseau de neurone et de décompression de sont mises en oeuvre respectivement au moyen du bloc de compression, du bloc de modélisation et du bloc de décompression du réseau de neurones construit. 31 18. Procédé de compression de données comprenant : - la construction, par la mise en oeuvre du procédé selon l'une des revendications 1 à 11, d'un réseau de neurones comprenant un bloc de compression recevant en entrée une donnée X et 5 un bloc de décompression générant en sortie la donnée X, dans lequel la construction du réseau de neurones comprend la mise en oeuvre d'au moins une phase d'optimisation topologique sur le bloc de compression et le bloc de décompression, et l'application, à au moins une donnée représentative de l'état d'un système réel, du bloc de compression du réseau de neurones construit.