DESCRIPTION
Titre de l’invention : Dispositif et procédé de prédiction [0001 ] Domaine technique
[0002] La présente invention concerne de manière générale les systèmes de contrôle et en particulier un dispositif et un procédé de prédiction de la valeur d’une grandeur destinée à être utilisée par un système de contrôle.
[0003] Les performances de certains systèmes, tels que les systèmes de contrôle, peuvent être significativement accrues ou optimisées par l’utilisation d’estimations (ou de prédiction) de la valeur que prendront certaines grandeurs à un instant futur. Les prédictions de valeurs permettent d’anticiper des événements et de mettre en place des mécanismes d’ajustement pour prévenir ces événements ou optimiser le fonctionnement du système. Par exemple, dans le domaine du transport aérien, l’estimation du temps d’arrivée des avions dans un aéroport d’arrivé donné est utilisée par les systèmes de contrôle de trafic aérien pour optimiser le trafic aérien dans cet aéroport. Dans le domaine balistique, une estimation d’impact de projectile peut être utilisée pour activer des procédés de contrôle et/ou des mécanismes d’ajustement. Dans d’autres domaines encore, il peut être utile de prédire la trajectoire d’objets mobiles pour activer diverses manoeuvres ou mécanismes de contrôle.
[0004] Classiquement, pour prédire la valeur finale que prendra une telle grandeur à un instant futur (par exemple temps d’arrivée), une estimation initiale de cette valeur est calculée avant le déclenchement de l’évènement (par exemple vol) qui provoque la variation de la grandeur, l’événement se produisant entre un instant initial et l’instant futur. Il est connu d’effectuer une ou plusieurs estimations additionnelles de la valeur de la grandeur à l’instant futur, pendant l’occurrence de l’évènement en tenant compte de la variation des paramètres dont dépend la grandeur. Les différentes estimations sont en général effectuées en utilisant des équations, des prédicteurs ou des méthodes d’estimations basées sur des modèles statistiques et/ou des données historiques.
[0005] Toutefois les solutions connues d’estimation de telles grandeurs manquent de précision.
[0006] Définition générale de l'invention
L’invention vient améliorer la situation. A cet effet, il est proposé un dispositif de prédiction de la valeur d’une grandeur destinée à être utilisée par un système de contrôle implémenté sur ordinateur, la grandeur dépendant de plusieurs paramètres, les paramètres comprenant un paramètre non explicite. Avantageusement, le dispositif de prédiction comprend un premier prédicteur à base de réseau de neurones configuré pour calculer une estimation dudit paramètre non-explicite et un deuxième prédicteur à base de réseau de neurones configuré pour calculer une estimation de ladite valeur de la grandeur à partir de l’estimation du paramètre non- explicite, les deux prédicteurs recevant un ensemble de données d’entrée, chaque réseau de neurones étant associé à un ensemble de poids. Le dispositif de prédiction est configuré pour appliquer une pluralité d’itérations d’une unique fonction d’apprentissage aux deux prédicteurs, la fonction d’apprentissage comprenant : L’invention vient améliorer la situation. A cet effet, il est proposé un dispositif de prédiction de la valeur d’une grandeur destinée à être utilisée par un système de contrôle implémenté sur ordinateur, la grandeur dépendant de plusieurs paramètres, les paramètres comprenant un paramètre non explicite. Avantageusement, le dispositif de prédiction comprend un premier prédicteur à base de réseau de neurones configuré pour calculer une estimation dudit paramètre non-explicite et un deuxième prédicteur à base de réseau de neurones configuré pour calculer une estimation de ladite valeur de la grandeur à partir de l’estimation du paramètre non- explicite, les deux prédicteurs recevant un ensemble de données d’entrée, chaque réseau de neurones étant associé à un ensemble de poids. Le dispositif de prédiction est configuré pour appliquer une pluralité d’itérations d’une unique fonction d’apprentissage aux deux prédicteurs, la fonction d’apprentissage comprenant :
- un bloc de propagation vers l’avant configuré pour calculer, en fonction des données d’entrée des deux prédicteurs, le gradient d’une fonction de minimisation d’une fonction de coût du premier prédicteur ;
- un bloc de rétropropagation configuré pour mettre à jour les poids des réseaux de neurones des deux prédicteurs en effectuant une rétropropagation des gradients calculés par le bloc de propagation avant.
[0007] Le dispositif de prédiction est configuré pour estimer ladite valeur de la grandeur à un instant futur, après lesdites itérations de la fonction d’apprentissage,
en appliquant des données d’entrées aux réseaux de neurones des deux prédicteurs en utilisant les poids mis à jour par la fonction d’apprentissage.
[0008] Dans un mode de réalisation, le bloc de rétropropagation peut être configuré pour mettre à jour les poids du deuxième prédicteur, tandis que les poids du premier prédicteur sont figés.
[0009] Dans un mode de réalisation, le premier prédicteur peut comprendre un réseau de neurones recevant des données d’entrée génériques, le bloc de
rétropropagation.
[0010] Le premier prédicteur peut comprendre un ensemble de réseaux de neurones élémentaires recevant chacun des données d’entrée spécifiques.
[001 1 ] Avantageusement, le deuxième prédicteur peut être configuré pour appliquer la valeur prédite en entrée du premier prédicteur.
[0012] Dans un mode de réalisation, le premier prédicteur peut être configuré pour diffuser la valeur de sortie du paramètre non explicite à des systèmes externes.
[0013] Dans une forme de réalisation, le système de contrôle est un système de contrôle aérien, le dispositif de prédiction étant alors configuré pour prédire le temps d’arrivée d’un avion donné effectuant une trajectoire entre un point de départ et un point d’arrivée, le paramètre non explicite étant relatif au point d’arrivée de l’avion.
[0014] Dans une telle forme de réalisation, le paramètre non explicite peut être le taux d’encombrement au niveau du point d’arrivée. En variante, le paramètre non explicite peut être un paramètre global de retard.
[0015] Les données d’entrée du premier prédicteur peuvent comprendre des caractéristiques relatives à l’avion donné, des informations relatives aux avions arrivant au niveau du point d’arrivée, et un nombre représentant le nombre maximal d’avions associé au point d’arrivée.
[0016] Les données d’entrée relatives aux avions arrivant au niveau du point d’arrivée peuvent comprendre le nombre et le type d’avions prévus à l’atterrissage au niveau du point d’arrivée par plage temporelle.
[0017] Les données d’entrée du deuxième prédicteur peuvent comprendre des caractéristiques relatives à l’avion donné, des informations relatives aux avions
arrivant au niveau du point d’arrivée, et des informations de capacité associées au point d’arrivée.
[0018] Les données d’entrée du deuxième prédicteur peuvent en outre comprendre un créneau horaire représentant la plage d’atterrissage prévue pour l’avion donné, et un historique de valeurs du paramètre non explicite sur une période de temps passé.
[0019] Les modes de réalisation améliorent ainsi la prédiction de valeur de grandeurs dépendant d’un paramètre non explicite, par l’utilisation de deux réseaux de neurones entraînés conjointement, la grandeur prédite étant ainsi plus précise et améliorant le contrôle effectué par les systèmes de contrôle utilisant la valeur prédite.
[0020] Brève description des dessins
[0021 ] D’autres caractéristiques et avantages de l’invention apparaîtront à l’aide de la description qui suit et des figures des dessins annexés dans lesquels :
[0022] [Fig. 1 ] représente un exemple d’environnement utilisant un dispositif de prédiction, selon des modes de réalisations de l’invention.
[0023] [Fig. 2] est un schéma représentant un exemple de réseau de neurones utilisé pour implémenter un prédicteur du dispositif de prédiction, selon un mode de réalisation.
[0024] [Fig. 3] est un schéma illustrant la fonction d’apprentissage mise en oeuvre pour entraîner conjointement deux réseaux de neurones correspondant à deux prédicteurs du dispositif de prédiction, selon certains modes de réalisation.
[0025] [Fig. 4] représente le premier prédicteur à base de réseau de neurones, dans un exemple d’application de l’invention à la prédiction du temps d’arrivée d’un avion.
[0026] [Fig. 5] représente le deuxième prédicteur à base de réseau de neurones, selon l’exemple de réalisation de la figure 6.
[0027] [Fig. 6] montre les interactions entre le premier prédicteur et le deuxième prédicteur dans la phase d’apprentissage, selon l’exemple de réalisation des figures 5 et 6.
[0028] [Fig. 7] est un organigramme représentant le procédé d’apprentissage des deux prédicteurs, selon certains modes de réalisation.
[0029] [Fig. 8] est un organigramme représentant le procédé de prédiction de la quantité non-explicite mis en oeuvre par le premier prédicteur, dans une phase de généralisation, selon un mode de réalisation.
[0030] [Fig. 9] représente le procédé de prédiction de valeur de grandeur mis en oeuvre par le deuxième prédicteur, dans la phase de généralisation, selon un mode de réalisation.
[0031 ] [Fig. 10] représente une pluralité de réseaux de neurones élémentaires utilisés par le premier prédicteur pour tenir compte de données spécifiques, selon un exemple de réalisation.
[0032] Description détaillée de la demande
[0033] La figure 1 représente un exemple d’environnement utilisant un dispositif de prédiction 100, selon des modes de réalisations de l’invention.
[0034] Le dispositif de prédiction 100 est configuré pour calculer (ou prédire) une estimation de la valeur que prendra une grandeur P (encore appelée‘grandeur de contrôle’) à un instant final en réponse au déclenchement ou à l’occurrence d’un événement entre un instant initial Ti et un instant final Tf. La grandeur P dépend d’une pluralité de paramètres comprenant au moins un paramètre‘non explicite’ Q.
La valeur prédite P est destinée à être utilisée par un système de contrôle 200 implémenté sur ordinateur, à des fins d’optimisation.
[0035] Tel qu’utilisé ici, un paramètre‘non explicite’ fait référence à un paramètre n’ayant pas de réalité de terrain, tel que par exemple un paramètre n’ayant pas de formule explicite, non défini par une formule ou des valeurs et/ou dont on ne connaît que le lien avec les autres paramètres dont dépend la grandeur P. Un paramètre ‘non explicite’ peut être encore défini comme un paramètre calculé à partir d’une méthode s’appuyant sur les données.
[0036] Dans un exemple d’application de l’invention à un système de contrôle de trafic aérien, la grandeur prédite peut être le temps d’arrivée estimé ETA (ETA est l’acronyme pour « Estimated Time of Arrivai » signifiant littéralement « Temps Estimé d’Arrivée) » d’un avion dans un aéroport donné (aéroport de destination), pour un vol donné depuis un aéroport de départ, l’événement étant le vol qui se produit entre le temps de décollage (instant initial Ti) et le temps d’arrivée (instant final Tf). Dans un tel exemple, la grandeur prédite P dépend d’un ensemble de paramètres relatifs à
l’événement (tels que le plan de vol, la météo sur le trajet de l’avion, etc.), à des données relatives à des occurrences passées de l’événement (par exemple données d’historiques de un ou plusieurs paramètres relatifs au vol sur des périodes passées données). Dans un tel exemple d’application de l’invention à un système de contrôle de trafic aérien 200, le paramètre non explicite Q peut être par exemple un
paramètre de délai global instantané sur l’aéroport d’arrivée.
[0037] Selon les modes de réalisation de l’invention, le dispositif de prédiction 100 comprend un premier prédicteur 101 , à base de réseau de neurones, configuré pour calculer une estimation du paramètre‘non-explicite’Q (par exemple, le paramètre de délai global instantané sur l’aéroport d’arrivée pour une prédiction d’un ETA) et un deuxième prédicteur 102, à base de réseaux de neurones, configuré pour calculer une estimation (ou prédiction) de la valeur P (par exemple ETA) à partir de
l’estimation du paramètre non-explicite Q effectuée par le premier prédicteur 101.
Les deux prédicteurs 101 et 102 sont configurés pour recevoir un ensemble de données d’entrée. Chaque réseau de neurones correspondant aux prédicteurs 101 et 102 est par ailleurs associé à un ensemble de poids.
[0038] Le paramètre non-explicite Q, délivré en sortie du premier prédicteur 101 , peut être par exemple un vecteur de données. Le paramètre non-explicite Q fourni par le premier prédicteur 101 est destiné à améliorer l’estimation effectuée par le deuxième prédicteur.
[0039] La figure 2 est un schéma représentant le réseau de neurone correspondant à chaque prédicteur 101 ou 102.
[0040] Pour faciliter la compréhension des modes de réalisation de l’invention, des définitions ou notions relatives aux réseaux de neurones sont détaillées ci-après.
[0041 ] Un réseau de neurone constitue un modèle de calcul imitant le fonctionnement des réseaux de neurones biologiques. Un réseau de neurones 2 comprend des neurones interconnectés entre eux par des synapses généralement implémentées sous la forme de mémoires numériques (composants résistifs par exemple). Un réseau de neurones 2 peut comprendre une pluralité de couches successives, comprenant une couche d’entrée portant le signal d’entrée et une couche de sortie portant le résultat de la prédiction effectuée par le réseau de neurones (résultat du réseau), et une ou plusieurs couches intermédiaires. La première couche d’entrée
contient des neurones factices qui transmettent les entrées fournies au réseau.
Chaque couche d’un réseau de neurones prend ses entrées sur les sorties de la couche précédente. Le nombre de neurones sur chaque couche est égal au nombre d’entrées des neurones de la couche suivante. Une couche donnée du réseau de neurones 2 est ainsi composée d’un ensemble de neurones de généralisation prenant leurs entrées sur les neurones de la couche précédente.
[0042] Les signaux propagés en entrée et en sortie des couches du réseau peuvent être des valeurs numériques (information codée dans la valeur des signaux), ou des impulsions électriques dans le cas d’un codage impulsionnel (information codée temporellement selon l’ordre d’arrivée des impulsions ou selon la fréquence des impulsions). Dans le cas d’un codage impulsionnel, les impulsions peuvent provenir d’un capteur.
[0043] Comme montré sur la figure 2, un réseau de neurones 2 comprend un ensemble de données d’entrée 20 (encore appelées‘coefficients d’entrée’), notés xi, et des données de sortie 25 (encore appelées‘coefficients de sortie’), notés Oj.
[0044] Les coefficients de sortie Oj correspondent aux valeurs de sortie des neurones du réseau de neurones 2. Les valeurs de sorties Oj sont calculées à partir des entrées xi et des poids synaptiques 21 , notées Wij.
[0045] Chaque coefficient de sortie de sortie Oj est calculé en appliquant une fonction d’activation f aux coefficients d’entrée xi (bloc 23).
[0046] Chaque neurone du réseau de neurones est configuré pour calculer une somme pondérée de ses entrées xi (20) en utilisant une fonction de combinaison å (bloc 22) et les poids Wij (bloc 21 ), avant d’appliquer la fonction d'activation f (bloc 23) à cette somme pondérée résultante pour produire sa sortie Oj :
[0047] Tel qu’utilisé ici, un paramètre‘non explicite’ fait référence à un paramètre n’ayant pas de réalité de terrain, tel que par exemple un paramètre n’ayant pas de formule explicite, non défini par une formule ou des valeurs et/ou dont on ne connaît que le lien avec les autres paramètres dont dépend la grandeur P. Un paramètre ‘non explicite’ peut être encore défini comme un paramètre calculé à partir d’une méthode s’appuyant sur les données.
[0048] Dans un exemple d’application de l’invention à un système de contrôle de trafic aérien, la grandeur prédite peut être le temps d’arrivée estimé ETA (ETA est
l’acronyme pour « Estimated Time of Arrivai » signifiant littéralement « Temps Estimé d’Arrivée) » d’un avion dans un aéroport donné (aéroport de destination), pour un vol donné depuis un aéroport de départ, l’événement étant le vol qui se produit entre le temps de décollage (instant initial Ti) et le temps d’arrivée (instant final Tf). Dans un tel exemple, la grandeur prédite P dépend d’un ensemble de paramètres relatifs à l’événement (tels que le plan de vol, la météo sur le trajet de l’avion, etc.), à des données relatives à des occurrences passées de l’événement (par exemple données d’historiques de un ou plusieurs paramètres relatifs au vol sur des périodes passées données). Dans un tel exemple d’application de l’invention à un système de contrôle de trafic aérien 200, le paramètre non explicite Q peut être par exemple un
paramètre de délai global instantané sur l’aéroport d’arrivée.
[0049] Selon les modes de réalisation de l’invention, le dispositif de prédiction 100 comprend un premier prédicteur 101 , à base de réseau de neurones, configuré pour calculer une estimation du paramètre‘non-explicite’Q (par exemple, le paramètre de délai global instantané sur l’aéroport d’arrivée pour une prédiction d’un ETA) et un deuxième prédicteur 102, à base de réseaux de neurones, configuré pour calculer une estimation (ou prédiction) de la valeur P (par exemple ETA) à partir de
l’estimation du paramètre non-explicite Q effectuée par le premier prédicteur 101.
Les deux prédicteurs 101 et 102 sont configurés pour recevoir un ensemble de données d’entrée. Chaque réseau de neurones correspondant aux prédicteurs 101 et 102 est par ailleurs associé à un ensemble de poids.
[0050] Le paramètre non-explicite Q, délivré en sortie du premier prédicteur 101 , peut être par exemple un vecteur de données. Le paramètre non-explicite Q fourni par le premier prédicteur 101 est destiné à améliorer l’estimation effectuée par le deuxième prédicteur.
[0051 ] La figure 2 est un schéma représentant le réseau de neurone correspondant à chaque prédicteur 101 ou 102.
[0052] Pour faciliter la compréhension des modes de réalisation de l’invention, des définitions ou notions relatives aux réseaux de neurones sont détaillées ci-après.
[0053] Un réseau de neurone constitue un modèle de calcul imitant le fonctionnement des réseaux de neurones biologiques. Un réseau de neurones 2 comprend des neurones interconnectés entre eux par des synapses généralement implémentées
sous la forme de mémoires numériques (composants résistifs par exemple). Un réseau de neurones 2 peut comprendre une pluralité de couches successives, comprenant une couche d’entrée portant le signal d’entrée et une couche de sortie portant le résultat de la prédiction effectuée par le réseau de neurones (résultat du réseau), et une ou plusieurs couches intermédiaires. La première couche d’entrée contient des neurones factices qui transmettent les entrées fournies au réseau.
Chaque couche d’un réseau de neurones prend ses entrées sur les sorties de la couche précédente. Le nombre de neurones sur chaque couche est égal au nombre d’entrées des neurones de la couche suivante. Une couche donnée du réseau de neurones 2 est ainsi composée d’un ensemble de neurones de généralisation prenant leurs entrées sur les neurones de la couche précédente.
[0054] Les signaux propagés en entrée et en sortie des couches du réseau peuvent être des valeurs numériques (information codée dans la valeur des signaux), ou des impulsions électriques dans le cas d’un codage impulsionnel (information codée temporellement selon l’ordre d’arrivée des impulsions ou selon la fréquence des impulsions). Dans le cas d’un codage impulsionnel, les impulsions peuvent provenir d’un capteur.
[0055] Comme montré sur la figure 2, un réseau de neurones 2 comprend un ensemble de données d’entrée 20 (encore appelées‘coefficients d’entrée’), notés xi, et des données de sortie 25 (encore appelées‘coefficients de sortie’), notés Oj.
[0056] Les coefficients de sortie Oj correspondent aux valeurs de sortie des neurones du réseau de neurones 2. Les valeurs de sorties Oj sont calculées à partir des entrées xi et des poids synaptiques 21 , notées Wij.
[0057] Chaque coefficient de sortie de sortie Oj est calculé en appliquant une fonction d’activation f aux coefficients d’entrée xi (bloc 23).
[0058] Chaque neurone du réseau de neurones est configuré pour calculer une somme pondérée de ses entrées xi (20) en utilisant une fonction de combinaison å (bloc 22) et les poids Wij (bloc 21 ), avant d’appliquer la fonction d'activation f (bloc 23) à cette somme pondérée résultante pour produire sa sortie Oj :
[0060] La fonction d’activation f peut prendre différentes valeurs en fonction de la valeur de la somme pondérée des poids du réseau de neurones par rapport à un seuil (encore appelé‘biais’) :
- si la somme pondérée des poids du réseau est inférieure à un seuil, le neurone est dit‘non-actif : la sortie du neurone peut alors être mise à une première valeur V1 (telle que V1 = 0 ou -1 ) ;
- si la somme pondérée des poids du réseau est située au voisinage du seuil, le neurone est dans une phase de transition ;
- si la somme pondérée des poids du réseau est supérieure au seuil, le neurone est dit‘actif : la sortie du neurone peut alors être mise à une deuxième valeur V2 (telle que V2 = 1 ).
[0061 ] Le seuil représente donc le seuil à partir duquel un neurone va émettre un signal.
[0062] La fonction d’activation des neurones f peut être par exemple une fonction sigmoïde ou de seuillage capable d’introduire une non-linéarité.
[0063] Ainsi, le signal d’entrée se propage d’une couche à l’autre du réseau de neurones jusqu’à la sortie, en activant ou non au fur et à mesure des neurones.
[0064] Les poids synaptiques peuvent être déterminés par apprentissage dans une phase d’apprentissage. Des valeurs aléatoires sont initialement assignées aux poids du réseau de neurones puis un ensemble de données xi sont utilisées pour réaliser l'apprentissage. L'apprentissage d’un réseau de neurones consiste à déterminer les valeurs optimales des poids synaptiques, pour chaque neurone du réseau de neurones, de la dernière couche du réseau à la première, en utilisant une fonction d’apprentissage.
[0065] La phase d’apprentissage peut mettre en oeuvre une pluralité d’itérations de la fonction d’apprentissage, chaque itération comprenant une étape de propagation vers l’avant (‘forward) et une étape de rétropropagation (‘backward’) pour corriger les erreurs entre les sorties obtenues dans la phase de propagation avant et les sorties attendue pour l’échantillon d’entrée considéré.
[0066] La phase d’apprentissage permet ainsi de comparer la sortie obtenue par rapport à la sortie attendue (dans le cas d’une méthode supervisée), et en fonction de cette comparaison, de mettre à jour les liaisons entre les neurones représentées
par les poids synaptiques pour améliorer le résultat final (les poids peuvent être modifiés pour renforcer ou inhiber les liaisons entre neurones).
[0067] Dans la phase de propagation vers l’avant, des ensembles de données d’entrée sont utilisées pour qui mettre en oeuvre l'apprentissage. Chaque ensemble de données formant un échantillon (vecteur x= [x1 ,. .ch]) est associé à des valeurs souhaitées (ou valeurs attendues). Le signal correspondant à l’échantillon d’entrée est propagé en avant dans les couches du réseau de neurones à partir de la première couche, d’une couche (k-1 ) à la couche suivante (k) jusqu’à la dernière couche. Dans la phase de propagation vers l'avant, la fonction d'activation f et les poids synaptiques connectant les neurones d’une couche précédente (k-1 ) et d’une couche suivante (k) sont utilisées.
[0068] Lorsque la propagation vers l'avant est terminée, on obtient à la sortie un résultat y (y=[yi, .... . yu])·
[0069] Dans la phase de rétropropagation, les erreurs éventuelles obtenues par un neurone sont rétropropagées à ses synapses et aux neurones qui lui sont reliés. Avantageusement, la rétropropagation peut être une rétropropagation par gradient pour modifier les poids synaptiques en tenant compte de leur impact dans les erreurs engendrées. Ainsi, les poids synaptiques qui contribuent à engendrer une erreur importante peuvent être modifiés de manière plus significative que les poids qui ont engendré une erreur moins importante.
[0070] Dans une phase de rétropropagation par gradient, pour chaque neurone de la couche de sortie, l'erreur eisortie entre la sortie yi calculée par le réseau de neurones et la sortie attendue ti pour l’échantillon considéré est déterminée, en utilisant la dérivée de la fonction d’activation cp’. L’erreur est ensuite rétropropagée vers l’arrière à partir de la dernière couche, de couche en couche, jusqu’à la première couche. Pendant la rétro-propagation du signal d’erreur, les poids synaptiques sont ensuite modifiés par un algorithme de descente du gradient.
[0071 ] Ainsi chaque itération de la fonction d’apprentissage permet, à partir d’un échantillon en entrée du réseau, de calculer la sortie du réseau, de la comparer à la sortie attendue et de rétro-propager un signal d’erreur dans le réseau pour modifier les poids synaptiques.
[0072] Par exemple, en considérant un réseau de neurones utilisé pour la classification d’image, à chaque itération de la fonction d’apprentissage, pendant la phase de propagation avant, des exemples de chaque classe sont fournis en entrée du réseau de neurones 2 (données d’entrée) et la sortie fournie par le réseau de neurones en réponse à ces données d’entrée représente le numéro de la classe considérée. Dans la phase de rétropropagation par gradient, le réseau est ensuite entraîné par l’algorithme de descente de gradient pour minimiser l’erreur entre la sortie obtenue et la sortie attendue (en appliquant une fonction de minimisation de coût), ce qui conduit à la modification des poids des neurones à chaque itération de l’algorithme d’apprentissage.
[0073] La durée de la phase d’apprentissage peut dépendre de la taille de la base de données stockant les échantillons utilisés pour l’apprentissage et de la taille du réseau. Elle peut donc être relativement longue.
[0074] Après la phase d’apprentissage, une phase dite de généralisation, plus rapide, est mise en oeuvre. Dans la phase de généralisation, les poids appris de la phase d’apprentissage sont utilisés (réseau de neurones statique dans lequel les poids sont figés). Des données d’entrée sont présentées au réseau de neurones et une réponse du réseau de neurones est obtenue (représentant par exemple le numéro de la classe auquel appartiennent les données d’entrée pour un réseau de classification).
[0075] Avantageusement, le dispositif de prédiction 100 selon les modes de réalisation de l’invention est configuré pour appliquer une unique fonction
d’apprentissage aux deux prédicteurs 101 et 102 pour les entraîner conjointement.
[0076] La figure 3 est un schéma illustrant la fonction d’apprentissage mise en oeuvre pour entraîner conjointement les deux réseaux de neurones 2A et 2B (désigné communément par la référence‘2’ sur la figure 2) correspondant aux prédicteurs 101 et 102.
[0077] La fonction d'apprentissage commune 3 appliquée aux deux prédicteurs 101 et 102 comprend deux blocs 31 et 32 appelés successivement à chaque itération de la fonction d’apprentissage:
- un bloc de propagation vers l’avant 31 Çforward’) configuré pour calculer, à chaque itération, le gradient d’un ensemble de fonctions de minimisation de la fonction de coût du premier prédicteur 101 (P2), en réponse aux données d’entrée appliquées
des deux prédicteurs 101 et 102;
- un bloc de rétropropagation 32 (‘backward’) configuré pour mettre à jour les poids des réseaux de neurones des deux prédicteurs 101 et 102 en effectuant une rétropropagation des gradients calculés par le bloc de propagation avant, à l’itération courante.
[0078] La fonction de coût du premier prédicteur 101 peut être par exemple l'erreur quadratique sur la base d'apprentissage qui consiste à minimiser la somme des carrés des erreurs entre la valeur obtenue yi en sortie du réseau de neurones 2A et la valeur attendue ti en sortie du réseau de neurones 2A. En variante, la fonction de coût du premier prédicteur 101 peut être l'entropie croisée. L’homme du métier comprendra cependant que la fonction de coût du premier prédicteur 101 n’est pas limitée à l’erreur quadratique ou à l’entropie croisée et peut être défini par d’autres fonctions.
[0079] Dans un mode de réalisation, la minimisation de la fonction de coût du premier prédicteur 101 utilise le calcul du gradient de la fonction de coût par rapport aux poids du réseau. Le gradient peut être défini comme la somme de tous les gradients partiels calculés pour chacun des exemples de la base d'apprentissage :
[0080] V/(w) = åf=1 V/i(w)
[0081 ] Le gradient partiel V/^w) peut être calculé en utilisant l’algorithme de rétropropagation qui utilise la différence entre la sortie obtenue yi et la sortie attendue ti (erreur yi - ti=ei), la formule dépendant de la fonction de coût utilisée.
[0082] La modification des poids des deux réseaux de neurones 2A et 2B des prédicteurs 101 et 102 peut être effectuée après chaque calcul de gradient partiel ou alternativement après le calcul du gradient total.
[0083] Le dispositif de prédiction 100 est en outre configuré pour mettre en oeuvre ensuite une phase de généralisation dans laquelle les poids synaptiques ainsi mis à jour sont fixés. Dans la phase de généralisation, le dispositif de prédiction 100 applique des données d’entrées reçues en entrée des réseaux de neurones des deux prédicteurs 101 et 102 et calcule la réponse à ces entrées en utilisant les poids déterminés pendant la phase d’apprentissage, ce qui fournit une estimation (ou prédiction) de la valeur de la grandeur P (par exemple ETA).
[0084] La suite de la description sera faite en référence à un exemple d’application de l’invention à la prédiction du temps d’arrivée d’un avion (ETA). Cependant, l’homme du métier comprendra facilement que l’invention s’applique similairement à la prédiction de d’autres paramètres dont la valeur dépend d’un paramètre non explicite, le paramètre prédit P et le paramètre non implicite Q dépendant de la nature du système de contrôle 200. Par exemple, l’invention peut s’appliquer à la prédiction du temps d’arrivée à un autre point intermédiaire de la trajectoire de l’avion ETO (acronyme pour‘Estimated Time of Overflight’ signifiant Temps de Survol Estimé’).
[0085] La prédiction de trajectoires 4D est un enjeu majeur dans de nombreux domaines. En particulier, la prédiction du temps d’arrivée ETA d’un avion permet notamment d’optimiser la gestion des flux d’avions par un système de contrôle aérien 200. Il est cependant utile de pouvoir disposer d’une prédiction aussi fiable que possible pour pouvoir en déduire une prédiction des instants de passage des avions d’un secteur à l’autre ou prédire les retards de vol.
[0086] Classiquement, la trajectoire d’un avion entre un aéroport de départ et un aéroport d’arrivée (plan de vol) est estimée par une compagnie aérienne, en fonction d’informations disponibles relatives aux aéroports de départ et d’arrivée, aux conditions météorologiques et aux caractéristiques de l’avion. Par exemple, le plan de vol d’un avion est classiquement prévu en tenant comptes des informations disponibles sur les aéroports de départ et d’arrivée, des prévisions météorologiques sur le trajet de l’avion, de la masse de l’avion et du carburant de l’avion. Dans l’art antérieur, les plans de vol sont ensuite transmis avant le départ de l’avion et traités par le centre de contrôle de trafic aérien ATC. Des mises à jour en route de ces plans de vol peuvent être effectuées en fonction d’événements intervenus pendant le trajet, telles que des conditions météorologiques exceptionnelles, et/ou des incidents en route ou sur l’aéroport d’arrivée. Dans les approches existantes, les mises à jour sont ensuite effectuées par des opérateurs entre les différents centres ATC concernés par le vol (centre ATC d’arrivée, centre ATC de départ). De telles approches peuvent être complétées en calculant un temps d’arrivée estimé à partir de données historiques de vols, représentant des données relatives aux vols réalisés entre l’aéroport de départ et l’aéroport d’arrivée sur une période de temps passée, telles que les conditions météorologiques et les conditions de trafic aérien observées
sur de tels vols passés. Cependant, les ETA classiquement calculés à bases de formules et/de données historiques manquent de précision.
[0087] Le dispositif de prédiction 100 selon les modes de réalisation améliore la prédiction de IΈTA en utilisant les deux prédicteurs 101 et 102 qui interagissent et sont entraînés conjointement par une fonction d’apprentissage unique. Le dispositif de prédiction peut ainsi fournir une prédiction de IΈTA pouvant être utilisée par un système de contrôle aérien pour optimiser le trafic dans l’aéroport d’arrivée.
[0088] La figure 4 représente le premier prédicteur 101 à base de réseau de neurones, dans un exemple application de l’invention à la prédiction du temps d’arrivée estimé ETA d’un avion sur un trajet entre un aéroport d’arrivée et un aéroport de départ.
[0089] Le premier prédicteur 101 est utilisé pour prédire le paramètre non explicite Q qui peut représenter par exemple le délai global instantané sur l’aéroport d’arrivée ou un paramètre de congestion sur l’aéroport d’arrivée tel que l’encombrement de l’aéroport d’arrivée (paramètre d’encombrement global).
[0090] Le premier prédicteur 101 peut recevoir en entrée des informations relatives à des estimations calculées pour l’avion considéré et à un ensemble d’avions (ci-après appelés « avions arrivant ») dont l’arrivée est planifiée sur le même aéroport d’arrivée que l’avion considéré, tels que :
- une plage de temps d’arrivée d’avion estimée pour l’avion considéré ;
- le nombre d’avions arrivant par catégorie dans la plage de temps courante ;
- le nombre d’avions par catégorie dans la plage de temps précédente.
[0091 ] Le premier prédicteur 101 peut prendre plus généralement en compte la capacité de l’aéroport d’arrivée et les informations de trafic prévu à chaque instant (nombre d’avions avec un même ETA).
[0092] Le premier prédicteur 101 fournit ainsi en continu une prédiction future du paramètre non explicite Q (par exemple paramètre de délai global instantané ou paramètre d’encombrement). Dans un mode de réalisation où le paramètre non explicite est le paramètre d’encombrement, les sorties du premier prédicteur 101 peuvent être représentées sous la forme d’un tableau de prédiction fournissant le paramètre d’encombrement de l’aéroport d’arrivée par intervalle de temps futur. L’intervalle de temps peut être une plage de temps future correspondant aux
prochaines heures par rapport à l’instant courant (correspondant à l’instant de lancement du procédé de prédiction par le premier prédicteur 101 ).
[0093] La figure 4 représente un exemple d’implémentation du réseau de neurone 2A du premier prédicteur 101 , dans un exemple d’application de l’invention à l’estimation du temps d’arrivée d’un avion.
[0094] Le réseau de neurone 2A du premier prédicteur 101 peut être activé par un ensemble d’entrées qui peuvent comprendre des informations de capacité de l’aéroport d’arrivée (par exemple nombre de pistes de l’aéroport, indicateur d’état des pistes, etc.), des sorties de systèmes de gestion d’arrivée configurés pour gérer et optimiser les arrivées des avions. La sortie du premier prédicteur 101 (paramètre Q non explicite) peut être un paramètre de congestion tel que paramètre de délai global instantané représentant le délai d’atterrissage de l’avion considéré sur l’aéroport d’arrivé ou le paramètre d’encombrement représentatif de l’encombrement de l’aéroport d’arrivée par intervalle de temps futur. Dans le mode de réalisation où le paramètre non-explicite est le paramètre d’encombrement global instantané, le paramètre d’encombrement global Q peut être représenté par un taux d’occupation des pistes de l’aéroport d’arrivée par rapport à la capacité maximale de l’aéroport d’arrivée, pour chaque créneau horaire (par exemple, un quart d’heure ou une heure).
[0095] Comme montré sur la figure 4, le réseau de neurone 2A du premier prédicteur 101 peut être activé par un ensemble d’entrées qui peuvent comprendre :
- La plage de temps d’arrivée estimée;
- Le nombre d’avions arrivant par catégorie;
- Le nombre d’avions arrivant par catégorie sur une plage de temps précédente.
[0096] La figure 5 représente le deuxième prédicteur 102 à base de réseau de neurones 2B, dans l’application de l’invention à la prédiction du temps d’arrivée estimé ETA d’un avion sur un trajet entre un aéroport d’arrivée et un aéroport de départ.
[0097] Le deuxième prédicteur 102, basé sur un réseau de neurones 2B, fournit en sortie une prédiction de IΈTA du vol considéré.
[0098] Le deuxième prédicteur 102 peut recevoir en entrée des données relatives au plan de vol de l’avion, les conditions météorologiques prévues sur la trajectoire, et/ou des informations de plage horaire d’atterrissage telles que calculées pour l’avion
avant le décollage de l’avion. Avantageusement, le deuxième prédicteur 102 reçoit en entrée le paramètre non-explicite Q déterminé en sortie du premier prédicteur 101 (par exemple, le paramètre de délai global instantané). Le deuxième prédicteur 102 peut en outre recevoir en entrée des données historiques de valeurs du paramètre non explicite Q de sortie du premier prédicteur 101 sur une période de temps passée.
[0099] Dans un mode de réalisation appliqué à l’estimation du temps de vol d’un avion, les données d’entrée du deuxième prédicteur 102 peuvent comprendre:
- La plage de temps d’arrivée estimée ;
- Le temps en route estimé (ou‘temps de trajet estimé’ correspondant à l’expression anglo-saxonne‘Estimated en-route time’), l’estimation de ce temps étant calculée avant le décollage de l’avion à partir de formules de calcul;
- Des données d’un historique de vols, stockées par exemple dans une base de données ou un cache, les données d’historique étant relatives à des vols précédents correspondant au trajet du vol considéré (entre le lieu d’origine et le lieu de
destination) sur des fenêtres de temps passées ; l’historique peut inclure des informations relatives à une multitude de vols précédents (millions de vols par exemple);
-La distance entre l’aéroport de départ (au niveau du lieu de départ) et l’aéroport d’arrivée (au niveau du lieu d’arrivée) correspondant au trajet de l’avion considéré (‘Distance de Vol’);
- Le retard au décollage (‘Retard au départ’) prédit au moment du décollage (il peut être transmis par l’avion dans le dernier message envoyé par l’avion au moment du décollage) ; le retard correspond à la différence entre l’instant de décollage effectif et l’instant de décollage initialement planifié (Estimated take-off time).
[0100] Dans l’exemple de la figure 5, les données d’entrée du deuxième prédicteur 102 comprennent par exemple un ensemble de K’ caractéristiques d’entrée
incluant :
- E1 : La vitesse de croisière de l’avion considéré ;
- E2 : La distance de vol ;
- E3 : Le retard de départ ;
- E4 : La plage de temps d’arrivée estimée (plage d’horaires d’arrivée estimés) ;
- E5 : Le temps de trajet estimé (Estimated In Route Time);
- E6 : Les coordonnées de l’aéroport de départ (sous forme de coordonnées de
Latitude, Longitude, Altitude par exemple) ;
- E7 : Les coordonnées de l’aéroport d’arrivée (sous forme de coordonnées de Latitude, Longitude, Altitude par exemple) ;
- E8: Une classe de catégorie d’avion encodée en utilisant n classes (n=6 par exemple);
-E9 : La catégorie de compagnies encodée en utilisant m classes (m=15 par exemple).
[0101 ] Les prédicteurs 101 et/ou 102 peuvent être implémentés par toute forme de réseau de neurones (tels que des réseaux convolutionnels, des réseaux totalement connectés, etc.).
[0102] Dans un mode de réalisation, le premier prédicteur 101 peut en outre être configuré pour diffuser le paramètre de sortie Q aux systèmes de contrôle d’une pluralité d’avions qui sont en cours de trajectoire vers des secteurs voisins de l’aéroport d’arrivée, en utilisant des moyens de communications adaptés. Les moyens de communication peuvent inclure un ou plusieurs réseaux privés et/ou publics qui permettent l’échange de données, tels qu’internet, un réseau de zone locale (LAN), un réseau de zone locale virtuel (VLAN) un réseau de zone étendue (WAN), un réseau cellulaire voix/données, une communication air-sol telle que le CPDLC (acronyme pour‘Contrôler Pilot Data Link Communications’ signifiant ‘Communications entre Contrôleur et Pilote par Liaison de Données’) et/ou d’autres types de réseaux de communication de ce genre. Chaque réseau de communication peut utiliser des technologies de communication normales et/ou des protocoles tels que HTTP (Protocole de transport hypertexte). Dans un tel mode de réalisation, le dispositif de prédiction 100 peut être configuré pour raffiner l’estimation de la valeur prédite pour la grandeur P constituant la réponse du deuxième prédicteur 102 en utilisant une estimation initiale du temps d’arrivée ETA calculée à partir de la vitesse, du trajet et des paramètres physiques de l’avion, cette estimation initiale étant faite au moment du dépôt d’un plan vol, ou des estimations intermédiaires du temps d’arrivée calculées à partir d’une formule ou effectuées par le dispositif 100 à un instant passé.
[0103] La figure 6 montre les interactions entre le premier prédicteur 101 et le deuxième prédicteur 102 dans la phase d’apprentissage. La sortie Q du premier prédicteur 101 , dans cet exemple, représente l’encombrement de l’aéroport d’arrivée
qui n’a pas de réalité de terrain disponible et ne peut donc être entraîné indépendamment par une fonction d’apprentissage séparée. Selon les modes de réalisation de l’invention, la sortie Q non explicite du premier prédicteur 101 est fournie en entrée du deuxième prédicteur 102, tandis que dans la phase
d’apprentissage les deux prédicteurs 101 et 102 sont entraînés conjointement en utilisant une unique fonction d’apprentissage pour les deux réseaux de neurones 2A et 2B, ce qui permet de prédire de manière fiable et précise la valeur de la grandeur P (ETA dans l’exemple considéré) malgré le caractère non explicite du paramètre Q. Dans un mode de réalisation, il peut être avantageux d’effectuer une normalisation d’échantillons pendant la rétro-propagation entre les deux réseaux, pour améliorer l’apprentissage conjoint des deux réseaux de neurones. Un tel agencement des deux prédicteurs permet de capturer l’impact du paramètre non explicite sur le deuxième prédicteur 102 dans la phase d’apprentissage. Il permet en outre de fournir un réseau (réseau du premier prédicteur 101 ) capable de prédire le paramètre non explicite d'une manière qui maximise également la précision du la deuxième prédicteur 102, sans qu’il soit nécessaire de définir une fonction analytique pour ce paramètre.
[0104] La figure 7 représente le procédé d’apprentissage des deux prédicteurs 101 et 102, selon certains modes de réalisation.
[0105] Le procédé d’apprentissage comprend au moins une itération des étapes suivantes :
- A l’étape 600 des données d’entrées sont appliquées à l’entrée des deux
prédicteurs 101 et 102 ;
- A l’étape 602, une propagation vers l’avant est effectuée dans laquelle des gradients d’un ensemble de fonctions de minimisation de la fonction de coût du premier prédicteur 101 sont calculés, en réponse à l’application des données d’entrée des deux prédicteurs 101 et 102 et aux réponses obtenues par les réseaux de neurones des prédicteurs 101 et 102;
- A l’étape 604, les poids des réseaux de neurones des deux prédicteurs 101 et 102 sont mis à jour par rétropropagation des gradients calculés à l’étape 602.
[0106] Une pluralité d’itérations des étapes 600 à 604 peuvent être ensuite
effectuées.
[0107] La figure 8 représente le procédé de prédiction de la quantité non-explicite Q mis en oeuvre par le premier prédicteur 101 , dans la phase de généralisation (après la phase d’apprentissage) à partir de plusieurs paramètres, selon un mode de réalisation, dans un exemple d’application de l’invention à l’estimation du temps de vol d’un avion.
[0108] Les poids synaptiques du réseau de neurones utilisés par le premier prédicteur 101 sont figés dans la phase de généralisation (statiques).
[0109] A l’étape 700, des données d’entrée relatives à l’aéroport d’arrivée sont appliquées au premier prédicteur. Ces données d’entrée peuvent comprendre :
- des informations de capacité relatives à l’aéroport d’arrivée ; et/ou
- des sorties de système de contrôle (données d’optimisation des arrivées d’avions) ;
- le nombre et le type d’avions prévus (ETA par avion) dans une fenêtre temporelle donnée.
[01 10] A l’étape 702, le paramètre de sortie Q du premier prédicteur (par exemple paramètre de délai global instantané) est généré en fonction des entrées reçues (réponse aux données d’entrée appliquées au réseau de neurones du prédicteur 101 ).
[01 1 1 ] A l’étape 704, la réponse (paramètre de sortie Q) du premier prédicteur est transmise au deuxième prédicteur.
[01 12] A l’étape 706, le paramètre de sortie Q peut être en outre diffusé à tous les systèmes de contrôle des avions en route vers des secteurs voisins de l’aéroport d’arrivée, en utilisant des moyens de communications adaptés.
[01 13] Bien que les étapes 704 et 706 soient représentées de manière consécutives, dans un mode de réalisation ces deux étapes peuvent être réalisées selon un ordre différent ou sensiblement en parallèle.
[01 14] La figure 9 représente le procédé de prédiction de la valeur de la grandeur P (IΈTA d’un avion dans cet exemple) mis en oeuvre par le deuxième prédicteur 102, dans la phase de généralisation à partir du paramètre non explicite Q (le paramètre de délai global instantané dans cet exemple) transmis par le premier prédicteur 101 , selon un mode de réalisation.
[01 15] A l’étape 800, un ensemble de données d’entrées sont appliquées au deuxième prédicteur 102 comprenant au moins le paramètre Q de sortie du premier prédicteur 101 (qui peut être par exemple le paramètre de délai global instantané).
[01 16] A l’étape 802, le réseau de neurones du deuxième prédicteur 102 génère une sortie P en réponse aux données d’entrée, cette sortie représentant une prédiction de la grandeur P (ETA de l’avion considéré par exemple).
[01 17] A l’étape 804, l’estimation P peut être retournée en entrée du premier prédicteur 101 qui, en réponse à cette donnée d’entrée peut raffiner l’estimation Q (en réitérant les étapes 700 à 704). Chaque itération de la prédiction de valeur P, tous les paramètres d’entrée peuvent être mis à jour (ex. paramètres météo) pour améliorer la précision de la prédiction. Les prédictions de la valeur P peuvent être itérée périodiquement, selon une période choisie (par exemple toutes les N minutes pendant la durée de vol pour une estimation d’un ETA).
[01 18] Dans les modes de réalisation décrits ci-dessus en relation avec un exemple d’application de l’invention à une prédiction de IΈTA, le réseau de neurone 2A du premier prédicteur 101 peut recevoir en entrée des données relatives à un ensemble d’aéroports, à titre d’exemple non limitatif.
[01 19] En variante, la prédiction peut être améliorée en utilisant pour le premier prédicteur 101 une pluralité de réseaux de neurones élémentaires 2Ai relatifs chacun à un aéroport spécifique, comme illustré dans l’exemple de la figure 10.
[0120] La figure 10 montre par exemple 8 prédicteurs 101 à base de réseaux de neurones élémentaires (2A-1 à 2A-8), chaque réseau de neurone étant spécifique à un aéroport donnée (CGE, Atlanta, Mila, Guanghzhou, Heathrow, CdG, JFK, Abu Dhabi). Chaque réseau de neurones élémentaire 2A-i est entraîné conjointement avec le deuxième prédicteur 102 comme décrit ci-avant en utilisant les données d’entrée spécifiques à l’aéroport spécifique associé, ce qui permet de mettre à jour les poids associés à chaque réseau de neurone élémentaire pendant l’apprentissage. Les poids de chaque réseau de neurones élémentaire 2A-i ne sont raffinés qu’avec les données qui correspondent uniquement à l’aéroport spécifique associé.
[0121 ] Dans la phase de généralisation, les poids des différents réseaux de neurones 2A-i et 2B sont gelés et pour chaque vol d’avion considéré entre un aéroport de
départ et un aéroport d’arrivée, seul le réseau de neurone 2A-i correspondant à l’aéroport d’arrivée de l’avion est utilisé.
[0122] L’homme du métier comprendra que le systèmes ou des sous-système selon les modes de réalisation de l’invention peuvent être mis en oeuvre de diverses manières par matériel (« hardware »), logiciel, ou une combinaison de matériel et de logiciels, notamment sous la forme de code de programme pouvant être distribué sous la forme d'un produit de programme, sous diverses formes. En particulier, le code de programme peut être distribué à l'aide de supports lisibles par ordinateur, qui peuvent inclure des supports de stockage lisibles par ordinateur et des supports de communication. Les procédés décrits dans la présente description peuvent être notamment implémentés sous la forme d’instructions de programme d’ordinateur exécutables par un ou plusieurs processeurs dans un dispositif informatique d'ordinateur. Ces instructions de programme d’ordinateur peuvent également être stockées dans un support lisible par ordinateur.
[0123] Par ailleurs, l'invention n'est pas limitée aux modes de réalisation décrits ci- avant à titre d’exemple non limitatif. Elle englobe toutes les variantes de réalisation qui pourront être envisagées par l'homme du métier. En particulier, l’homme du métier comprendra que l’invention n’est pas limitée à la prédiction de grandeurs ETA ni plus généralement au contrôle de trafic aérien, et peut s’appliquer à d’autres domaines. L’homme du métier comprendra que l’invention n’est pas limitée non plus aux exemples de fonctions de coûts et de minimisation de fonction de coûts décrites ci-avant.