FR 3088464 A1 20200515 FR 1900572 A 20190123 Description Titre de l'invention : Procédé de construction de réseau de neurones pour la simulation de systèmes physiques Domaine technique [0001] L'invention concerne l'apprentissage de phénomènes représentant des systèmes réels avec des réseaux neuronaux parcimonieux, ayant très peu de connexions. [0002] 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 ». [0003] L'invention trouve une application avantageuse dans la simulation au moins temps réel de systèmes physiques complexes. Technique antérieure [0004] La présente invention propose une méthode d'apprentissage de phénomènes réels par des réseaux neuronaux parcimonieux, ayant très peu de connexions. Cela peut concerner des phénomènes physiques, biologiques, chimiques ou encore informatiques. [0005] Les méthodes de l'état de l'art se sont largement inspirées du cerveau biologique qui est fortement redondant. La redondance permet de protéger le cerveau contre la perte de cellules neuronales. Cette perte peut être accidentelle ou non. Il se trouve que le choix redondant, dans les réseaux neuronaux artificiels, joue un rôle majeur dans le processus d'apprentissage. [0006] La première cause de la redondance est liée à l'organisation de la topologie du réseau neuronal par couches de cellules neuronales. Il appartient à l'utilisateur de définir le nombre de couches et le nombre de cellules par couche... Cette construction se fait d'une manière manuelle selon un processus d'essai sur erreur. Le réseau neuronal doit avoir une taille suffisante pour effectuer l'apprentissage, mais sa taille n'est pas minimale et elle est forcément redondante. [0007] Ce caractère redondant joue un rôle majeur dans le processus d'apprentissage. En effet, d'après la publication de LeCun, Yann; Bengio, Yoshua; Hinton, Geoffrey (2015). "Deep learning". Nature. 521 (7553): 436-444, le processus d'apprentissage n'est pas piégé par les minima locaux, lorsque le réseau neuronal a une taille suffisante. [0008] Cette propriété fondamentale, fait de la méthode du gradient. un candidat possible 2 pour assurer l'apprentissage. Mais cette méthode, réputée pour avoir un taux de convergence très faible (https://en.wikipedia.org/wiki/Gradient_dcscent), assure une très bonne descente de l'erreur au début du processus d'apprentissage. D'où l'idée du gradient stochastique : Bottou, L. (2010). Large-scale machine learning with stochastic gradient descent. In Proceedings of COMPSTAT2010 (pp. 177-186). Physica-Verlag HD, qui renforce cette propriété en changeant de fonction d'erreur à chaque itération du gradient. Cela 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, comme le gradient, n'a pas de bonne convergence locale. La réponse à ce problème est la redondance. En effet, en raison de ce caractère redondant, il faut que le processus d'apprentissage s'arrête prématurément pour éviter le phénomène de surapprentissage. Ainsi les méthodes du gradient et du gradient stochastique ne sont utilisées que dans leur domaine d'efficacité. [0009] Enfin, dans un contexte redondant, le grand nombre de poids de connexions à dé- terminer nécessite l'utilisation de quantités massives de données. L'état de l'art va de pair avec ce que l'on appelle en anglais « big data ». [0010] L'état de l'art représente un édifice cohérent basé sur la redondance. Mais l'absence de convergence locale montre que l'état de l'art est orienté vers l'apprentissage qualitatif. Si la réponse est supérieure à 0,5, on l'assimile à un et si elle est inférieure à 0,5, on l'assimile à O. Les réponses quantitatives ont des exigences de précision qui ne sont pas prises en compte par ces méthodes. [0011] 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. [0012] 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 lite prediction using a digital twin", International Journal of Aerospace Engineering, 2011. [0013] 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 3 nécessitent que des modèles peu profonds. En plus des méthodes neuronales, on peut citer des méthodes comme le Krigeage (en anglais « Kriging ») et la machine à support vectoriel (en anglais « Support Vector Machine Rcgression ») : - Lophaven, S. N., Nielsen, H. B., & SOndergaard, J. (2002). DACE: a Matlah kriging toolbox (Vol. 2). IMM, lnformatics and Mathematical Modelling, The Technical University of Denmark, : - Balabin, R. M., & Lomakina, E. I. (2011). Support vcctor machine regression (SVR/LS-SVM) an alternative to neural networks (ANN) for analytical chemistry? Comparison of nonlincar methods on ncar infrared (NTR) spectroscopy data. Analyst, 136(8), 1703-1712, [0014] Ces deux méthodes, extrêmement populaires, peuvent être assimilées à des réseaux neuronaux peu profonds, n'ayant que trois couches de neurones. [0015] 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. [0016] La nécessité de l'apprentissage profond et quantitatif apparait dans des cas par- ticuliers tels que : - La modélisation dynamique avec des réseaux neuronaux récurrents. Une prédiction sur 1000 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. [0017] Même si la détermination manuelle de la topologie du réseau neuronal domine l'état de l'art, la question de la détermination d'une topologie adaptée au problème est posée. La recherche automatique d'une topologie optimale est un vieux sujet de recherche dans le domaine neuronal. On peut citer par exemple Attik, M., Bougrain, L., & Alexandre, F. (2005, September). Neural network topology optimization. In International Conference on Artificial Neural Networks (pp. 53-58). Springer, Berlin, Heidelberg, qui est représentatif des techniques d'élagage (en anglais pruning) pour simplifier un réseau. [0018] On peut citer d'autres méthodes d'optimisation topologique : - Mineu, N. L., Ludermir, T. B., & Almeida, L. M. (2010, July). Topology optimization for artificiel neural networks using differential evolution. In Neural Networks (IJCNN), The 2010 International Joint Conference on (pp. 1-7). IEEE. - Nazghelichi, T., Aghbashlo, M., & Kianmehr, M. H. (2011). Optimization of an artificiel neural network topology using coupled response surface methodology and genetic algorithm for fluidized bed drying. Computers and electronics in agriculture, 75(1), 84-91. [0019] Elles sont basées sur les algorithmes génétiques. Ces méthodes sont connues pour être très lentes. Grâce aux moyens de calculs disponibles, ces méthodes sont de plus en plus utilisées, sur une hase redondante des réseaux neuronaux. [0020] Or, il existe aussi des applications pour lesquelles la quantité de données disponibles est très limitée (on parle alors de « small data »), et dans ce cas les structures redondantes de réseaux de neurones ne sont pas utilisables car elles exigent plus de données que ce qui est disponible. [0021] 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 du système. Ainsi par exemple, pour le cas d'un système dynamique, en notant X la solution d'un problème non réduit à l'instant i, un solvcur doit, pour déterminer Xin à partir de X,, résoudre un système de N équations de type F(Xi, X;+ i) =O [0022] Lc nombre N est également la dimension des vecteurs X, et X41. La mise en oeuvre d'un modèle réduit consiste à déterminer une hase réduite orthonormée que l'on note U=(U1, U2, ..., U') où n«N. On peut donc comprimer X, par : xi = 11X,,, où les x, sont les coefficients de taille n de Xi, dans la base réduite U, et on peut décompresser x, pour obtenir X comme suit : Xi 'J'et [0023] Lc modèle réduit consiste à résoudre à chaque pas de temps un système F(Ux,,Ux,,,, )=0 dont l'inconnue est de petite taille n. Cc système est résolu au sens des moindres carrés. [0024] Comme représenté schématiquement sur la figure 1, une fois la donnée compressée x ,' déterminée à partir de xi, elle est décompressée pour mettre en oeuvre une boucle de récursion sur la donnée réelle. [0025] Cette approche par modèle réduit a par exemple été proposée dans les publications suivantes : - Carlherg, 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, - Chinesta, F., Ladeveze, P., & Cueto, E. (2011). A short review on mode' ordcr reduction hased on proper generalized decomposition. Archives of Computational Methods in Engineering, 18(4), 395-404. [0026] Cette approche n'est pourtant pas sans inconvénient. 100271 En premier lieu, le problème réduit est fortement instable, ce qui signifie qu'une petite perturbation des données entrain 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. [0028] De plus, la minimisation dc 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 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. 100291 L'idée de hase de ces méthodes est d'extraire du logiciel de simulation des in- formations de modélisation à travers le calcul de résidu. Notre approche est tellement parcimonieuse, qu'elle arrive à capturer les phénomènes physiques et biologiques véhiculés par les données. 100301 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. Exposé de l'invention [0031] L'invention a pour objet de remédier aux lacunes de l'art antérieur décrites ci-avant, basé sur l'utilisation de réseaux neuronaux redondant pour l'apprentissage de phénomènes réels représentant des systèmes réels. [0032] 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. [0033] Un autre but de l'invention est d'être applicable à la modélisation tant statique que dynamique dc systèmes physiques complexes, et d'être applicable également à la compression non linéaire dc systèmes complexes. En effet, le taux de compression augmente d'une manière drastique avec la profondeur du réseau. Cette compression est à la hase dc la prédiction dynamique sur des temps longs. [0034] L'invention a enfin pour but dc proposer une structure dc 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. [0035] Plus particulièrement, l'invention a pour objet un procédé dc construction d'un 6 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 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 : 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, 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. [0036] 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. [0037] Dans un mode de réalisation, l'erreur du réseau pour une topologie donnée est définie par J W') où - J est une fonction d'erreur entre une donnée de sortie du réseau et un résultat cible, - F est la topologie du réseau, et - Vs/' est la matrice des poids de connexion du réseau minimisant la fonction d'erreur J à topologie F fixée. [0038] 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é : wn, ) - .1( r wn 1* où par abus de notation, nous notons F" la topologie du réseau candidate à l'itération n, `tien 7 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 à l'itération n, et Wri I* est la matrice des poids de connexion du réseau d'itération n-1 minimisant la fonction d'erreur J avec la topographie Di fixée. [0039] peut alors être initialisé avec les mêmes poids de connexion que la matrice Win' pour les connexions communes aux deux topologies et, dans le cas d'une phase additive, un poids dc connexion nul pour chaque lien créé lors de la phase additive. [0040] Dans un mode de réalisation, l'estimation dc 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 £(1-, %V, X, A) où: est l'opérateur dc Lagrange, [ est la topologie du réseau, W est une matrice de poids de connexion du réseau, X=(X",...,X"e) représente les sorties de l'ensemble des noeuds du réseau et X re- présente les sorties des noeuds de la couche i, et A; est le multiplicateur dc Lagrange associé à l'expression définissant les éléments de la couche X. [0041] 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é : X ( W" X, A) - j(rn \VI-1#)-1 où : - Fr est la topologie du réseau candidate à l'itération n, - W^-,* est la matrice des poids dc connexion du réseau dc la topologie d'itération n-1 minimisant la fonction d'erreur J pour une topographie fixée, - Vin 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-'t pour les connexions communes entre la topologie candidate à l'itération n et la topologie d'itération n-1, et un poids dc connexion nul pour chaque lien créé lors de la phase additive. Une mise à jour de Wri est ensuite obtenue en minimisant 8 par rapport aux poids des liens créés. [0042] 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é : rn, Wn, X, A - (117n 1, Wn où wn = est une restriction de Wn-'* à la topologie F". [0043] Dans un mode de réalisation, le réseau de neurones est adapté pour simuler 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 physique, et l'erreur J du réseau de neurones est définie en fonction de la topologie F et de la` matrice W des poids de connexion du réseau, par : cr, W) l _ fr, w Xi ) -YiII où 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. 100441 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 de l'erreur par rapport à ladite matrice. Cette étape est un apprentissage du réseau à la topologie obtenue à l'issue de la modification topologique. 100451 Contrairement à l'état de l'art, ce processus d'apprentissage est basé sur une méthode de descente ayant une convergence rapide de type Gauss-Newton. 100461 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 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 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 [0047] 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 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. [0048] Dans ce cas, l'étape d' initialisation du réseau de neurones comprend : - la création d'un réseau de neurones initial comprenant : - une couche d'entrée recevant une entrée Xi, - une couche de sortie générant une sortie X, et - 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 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 couches comprises entre la couche centrale et la couche de sortie. [0049] Le procédé peut en outre comprendre la mise en oeuvre itérative : - 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 - d'optimisation topologique des blocs de compression et de décompression. [0050] 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 mise en oeuvre sur l'ensemble comprenant le bloc de modélisation et le bloc de compression ou de décompression. [0051] 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 + I = F (Xi, Pi) +G], 0 où Xi est une caractéristique mesurable du système physique à un instant donné, P1 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 x',de la forme : Xi+ = h iti,';. (x 1, p i) + g , i >0 X0 = Cx(X0)) (17) où : - x1 est une compression de X par le bloc de compression X i Cx(X) est la fonction calculée par le bloc de modélisation, f e t sont 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. [0052] L'invention a également pour objet un réseau de neurones, caractérisé en cc qu'il est obtenu par la mise en oeuvre du procédé selon la description qui précède. [0053] 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. [0054] L'invention a également pour objet un 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 telle que Y fr. It (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 X, du réseau de neurones pour en déduire une simulation de réponse Yi du système. [0055] 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 (Xi, Pi) 4- G 0 11 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 : - acquisition de X' P, et Q, - compression de X,pour obtenir une donnée compressée - 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 x, pour obtenir au moins une donnée compressée ultérieure x'k, et - décompression de la donnée compressée ultérieure x'kpour obtenir une modélisation d'une grandeur ultérieure Xin [0056] Dans un mode de réalisation, le procédé de simulation est mis en oeuvre au moyen 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 neurones 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. [0057] 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 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. [0058] 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. [0059] 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. [0060] Plus particulièrement, le procédé de construction selon l'invention permet de 12 construire un réseau de neurones parcimonieux, c'est-à-dire où toute redondance est supprimée, optimisé pour la tâche visée. Cette propriété est obtenue par une construction incrémentale à partir d'une topologie initiale éventuellement minimale, c'est-à-dire comprenant une seule couche cachée comprenant un seul neurone, puis en mettant en oeuvre un processus itératif comprenant une étape d'apprentissage en l'état courant du réseau, en utilisant une méthode à convergence locale rapide, telle que la méthode de Gauss-Newton, et une étape de modification topologique du réseau pour améliorer l'apprentissage. De plus, la mise en oeuvre d'une technique d'optimisation topologique dans la construction joue un double rôle : - Evitcr les minima locaux, où à chaque convergence (rapide) du processus d'apprentissage, 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. En effet, l'état de l'art évite les minima locaux par la redondance non contrôlée et nous évitons les minima locaux par un enrichissement contrôlé par le gradient topologique. - 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 l'apprentissage du réseau y compris avec des données rares ou en faibles quantités. [0061] 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 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. [0062] 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 la couche qui suit. Cela augmente la complexité du réseau d'une manière inutile. [0063] 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. 13 100641 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 réseau de neurones. [0065] 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. [0066] Le réseau de neurones est avantageusement combiné à une approche dans laquelle les 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é du modèle dynamique. Ceci permet également de réduire les temps de calcul dans les phases d'apprentissage et de simulation. [0067] L'optimisation topologique joue un rôle majeur dans la maîtrise des modèles dy- namiques. En effet, si l'on effectue m itérations d'un motif récurrent ayant n couches, la difficulté d'apprentissage est é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. Brève description des dessins [0068] D'autres caractéristiques, détails et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-après, et à l'analyse dès dessins annexés, sur lesquels : [0069] [fig.]] déjà décrite, représente schématiquement un procédé de simulation dynamique au moyen d'une base réduite de projection. [0070] [fig.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. [0071] [fig.3] 14 représente schématiquement les principales étapes de construction d'un réseau de neurones selon un mode de réalisation de l'invention. [0072] [fig.4a] représente un exemple de réseau de neurones ohtenu par un logiciel de l'état de la technique pour une application donnée. 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. [0073] [fig.4b] représente un exemple de réseau de neurones ohtenu par la mise en oeuvre du procédé de construction selon un mode de réalisation de l'invention pour la même application que celle de la [Fig. 4a]. [0074] [fig.4c] représente un autre exemple de réseau de neurones obtenu par la mise en oeuvre du procédé de construction selon un mode de réalisation de l'invention pour la modé- lisation d'un système complexe impliquant des interactions fluide-structure dans le domaine de l'automobile. [0075] [fig.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. [0076] [fig.6a] représente la mise en oeuvre d'un procédé de modélisation dynamique selon une variante de réalisation de l'invention. [0077] [fig.6b] représente la mise en oeuvre d'un procédé de modélisation dynamique selon une autre variante de réalisation de l'invention. [0078] [fig.7a] représente schématiquement en vue de dessus une installation pour la mesure de la progression d'un front de fusion de sodium. [0079] [fig.7b] représente trois différentes commandes de puissance d'une résistance électrique de l'installation de la figure 7a. [0080] [fig.8a] représente le réseau de compression/décompression réalisé pour modéliser les données des capteurs de l'installation de la figure 7a. [0081] [fig.8b] représente le réseau de modélisation dynamique réalisé pour modéliser les données des capteurs de l'installation de la figure 7a. [0082] [fig.9a] représente, 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 une des trois commandes de puissance de la figure 7b. [0083] [fig.9b] représente, 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 une autre des trois commandes de puissance de la figure 7b. [0084] [fig.9c] représente, 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 une dernière des trois commandes de puissance de la figure 7b. Description des modes de réalisation [0085] On va maintenant décrire un procédé de construction d'un réseau de neurones par- cimonieux 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 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. [0086] Lc 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. [0087] 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. [0088] 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) où X et Y sont respectivement des variables d'entrée et de sortie caractérisant l'état du système. [0089] Pour la construction de ce modèle, on dispose d'une base de données de type M , ( Xi, i ) i_ 1 , engendrés par des mesures sur le système réel, les données pouvant être stockées dans la mémoire 11, où : 16 no Xie 51. - est une donnée d'entrée comprenant un nombre no de composantes, dont la dernière, à titre d'exemple, est fixée à 1 et les no-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 n i - 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é mesurées au moyen de capteurs 12. [0090] 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,...,MI, MI [0182] x 0 = Cx(X-0)) (17) [0183] où : - xi est une compression de X; par le bloc de compression Xi = Cx(Xi) f est la fonction calculée par le bloc de modélisation, fetW sont respectivement la topologie ct la matrice des poids de connexions du bloc de modélisation, ct - pk et gk 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. [0184] 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 131 Pi et gi Gi [0185] La détermination de se fait alors par la résolution du problème d'optimisation suivant : min Y= ° h 6(x P i) g Yi/ X + I (18) [0186] La minimisation par rapport à est avantageusement effectuée par l'étape d'optimisation topologique 200 décrite ci-avant, et pour fixé, on utilise une technique de Gauss-Newton zéro mémoire pour estimer W. 101871 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 101881 pi=C;(13i) [0189] Cc( G 1 ) [0190] Où : - Cp est un opérateur de compression, éventuellement linéaire, adapté pour compresser des données Pi en des données pi, et - Cr est un opérateur de compression, éventuellement linéaire, adapté pour compresser des données Q en des données g de taille égale à celle des données xi. [0191] Il s'agit de compression induite par celle des X. Même si les Pi et G ne sc prêtent pas facilement à une compression, leur effet sur le système dynamique est compressible. La figure 6b montre que la compression des X induit une compression sur les excitations Q. En effet, les X étant issus de l'intégration d'une équation aux différences, ils sont plus réguliers que les excitations P; et Q. De cc fait, leur effet sur le modèle est compressible. [0192] Cc mode de réalisation est représenté schématiquement sur la figure 6b. Dans cc cas la détermination de h se fait par la résolution du problème d'optimisation suivant : mino - a/(xi, Pi)±9 ay, Cr, C0 [0193] La minimisation par rapport à 31 est effectuée par l'étape d'optimisation topologique 200 décrite ci-avant, et pour t fixé, on utilise une technique de Gauss-Newton zéro mémoire pour estimer W, Cp et C G- [0194] 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 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é dc calculs, on peut choisir les configurations à tester au hasard et ne retenir que celle qui donne la meilleure estimation pour la réduction dc l'erreur. Exemples 101951 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. 101961 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. 101971 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 7h. 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. 101981 La réponse de ce système est représentée par 9 capteurs 2 de température, qui fournissent 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. 101991 Si l'on note z, 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 : Zi Xi = Zi-l. [0200] 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 simulation dc système dynamique précédemment décrit en effectuant d'abord une compression dc X. [0201] La compression donne lieu à un réseau neuronal comprenant 18 entrées (dcux pour 32 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. [0202] 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 8h, 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 que l'excitation joue un rôle important. Pour améliorer la lisibilité des figures 8a et 8h, nous n'avons pas représenté le biais, qui est connecté à pratiquement tous les noeuds du réseau. [0203] 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 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. [0204] On peut remarquer à travers ces figures que la position du front de liquéfaction du sodium 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 [0205] 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 : MI = 1. [0206]9 Tl (F, W, X, A) 0 le - + A - f[14i 1 1)) =r si - [0207] a Ni £(1-, W, X, A).0 = 0 V Cp. [0208] Cela donne pour i = ne : 2(0 Xn - Y, 0 0 ) tr /ÇA) ), [0209] Ici (.,.) désigne le produit scalaire dans no 102101 11 en découle Anc - 2 ( 0 X - ) 0. [0211] Et on obtient pour = nc - nc - 2, , 33 , où représente la sous-matrice de W; qui agit sur les composantes de Xi La notation ." désigne le produit composante par composante de deux matrices de même taille. [0212] En faisant parcourir à' les éléments de la base canonique de , on obtient où AT = u = , est un vecteur ligne ayant n; éléments. En effectuant une transposition, on obtient : = i(u lis ( Wif * )1.*(Tei' 1)./ Al , pour i = n c - 1, , 0. [0213] Que l'on peut écrire également sous la forme - ~>r(dïag(fs7lW~i-t) )*(Tirlri _1)1A , pour - n c - 1, , 0, où diag(x) désigne la matrice diagonale dont les termes diagonaux sont formés par les éléments du vecteur x. u J-lr 34 [Revendication 1] [Revendication 2]