FR 3130047 A1 20230609 FR 2113167 A 20211208 Procédé et dispositif pour commander un système utilisant un réseau neuronal artificiel sur la base d'un apprentissage en continu La présente description concerne un système de commande comprenant : - un dispositif informatique (301) mettant en œuvre au moins un premier réseau neuronal artificiel (Net_1) ; - un ou plusieurs capteurs (320) configurés pour capturer des échantillons de données d'entrée ; et - un ou plusieurs actionneurs (322) ; dans lequel le dispositif informatique (301) est configuré pour : générer au moins un échantillon de pseudo-données par : a) l'échantillonnage itératif d'un des échantillons de données d'entrée vers une des frontières de décision pour générer un ou plusieurs échantillons de données de base modifiés ; et b) la sélection d'un ou de plusieurs des échantillons de données de base modifiés pour former l'échantillon de pseudo-données. Figure pour l'abrégé : Fig. 3 Procédé et dispositif pour commander un système utilisant un réseau neuronal artificiel sur la base d'un apprentissage en continu La présente description concerne de façon générale des procédés et dispositifs pour commander des systèmes et, en particulier, des procédés et dispositifs utilisant des réseaux neuronaux artificiels. Des réseaux neuronaux artificiels (ANN) sont des architectures qui visent à imiter, dans une certaine mesure, le comportement d'un cerveau humain. De tels réseaux sont généralement constitués de circuits neuronaux, et d'interconnexions entre les réseaux neuronaux, appelés synapses. Comme cela est connu de la personne du métier, des architectures ANN, telles que des architectures de perceptron multicouche ou des réseaux neuronaux profonds, incluant des réseaux neuronaux à convolution, comprennent une couche d'entrée de circuits neuronaux, une ou plusieurs couches cachées de circuits neuronaux et une couche de sortie de circuits neuronaux. Chacun des circuits neuronaux dans la couche ou les couches cachées applique une fonction d'activation (par exemple une fonction sigmoïde) à des entrées reçues en provenance de la couche précédente afin de générer une valeur de sortie. Les entrées sont pondérées par des paramètres adaptatifs θ au niveau des entrées des neurones de la couche ou des couches cachées. Bien que la fonction d'activation soit généralement choisie par le concepteur, les paramètres θ sont déterminés pendant l'apprentissage. Bien que l'apprentissage profond ait apporté des résultats remarquables dans une large gamme d'applications, il peut être confronté à des scénarios réalistes lorsque la distribution de données d'apprentissage devient disponible seulement au cours de l'apprentissage. En effet, il est généralement souhaitable qu'un ANN puisse facilement s'adapter pour apprendre de nouvelles informations, mais un inconvénient de cette adaptabilité est qu'il est souvent difficile de construire sur un modèle entraîné tout en conservant une fonction de mise en correspondance qui a déjà été apprise. La tendance des ANN à oublier complètement et soudainement des informations apprises précédemment pendant l'apprentissage de nouvelles informations est connue dans la technique sous le nom " catastrophic forgetting ", oubli catastrophique. Bien qu'une solution pourrait être de stocker toutes les, ou certaines des, données historiques d'apprentissage dans une mémoire tampon et à présenter à l'ANN un mélange des données historiques d'apprentissage entrelacées avec des nouvelles informations, une telle approche impliquerait l'utilisation d'une mémoire afin de stocker les données historiques d'apprentissage. Par conséquent, cela n'est pas une solution pratique pour des applications frugales en ressources. Il existe donc un besoin pour un système et un procédé destinés à adresser le problème d'oubli catastrophique pendant l'apprentissage d'un ANN, et améliore ainsi la commande des systèmes qui est une fonction de la précision d'un ANN. Un objectif de modes de réalisation de la présente description est de satisfaire au moins partiellement un ou plusieurs besoins de l'art antérieur. Selon un aspect, on prévoit un système de commande comprenant : un dispositif informatique mettant en œuvre au moins un premier réseau neuronal artificiel, le premier réseau neuronal artificiel ayant un premier état après avoir été entraîné pour classer des échantillons de données d'entrée dans une pluralité de classes connues séparées par une ou plusieurs frontières de décision, le dispositif informatique comprenant un tampon mémoire stockant un ou plusieurs échantillons de données de base, chaque échantillon de données de base comprenant un échantillon de données d'entrée et une classe correspondante parmi la pluralité de classes connues ; un ou plusieurs capteurs configurés pour capturer des échantillons de données d'entrée ; et un ou plusieurs actionneurs ; dans lequel le dispositif informatique est configuré pour : générer au moins un échantillon de pseudo-données ; entraîner le premier réseau neuronal artificiel pour qu'il apprenne une ou plusieurs nouvelles classes en plus de la pluralité de classes connues en utilisant l'au moins un échantillon de pseudo-données ; classer un nouvel échantillon de données d'entrée en utilisant le premier réseau neuronal artificiel ; et commander les un ou plusieurs actionneurs en fonction de la classification du nouvel échantillon de données d'entrée, dans lequel le dispositif informatique est configuré pour générer chacun des au moins un échantillon de pseudo-données par : a) l'échantillonnage itératif d'un des échantillons de données de base vers une des frontières de décision pour générer un ou plusieurs échantillons de données de base modifiés ; et b) la sélection d'un ou de plusieurs des échantillons de données de base modifiés pour former l'échantillon de pseudo-données. Selon un mode de réalisation, le dispositif informatique met en outre en œuvre un deuxième réseau neuronal artificiel, le deuxième réseau neuronal artificiel ayant également été entraîné pour classer les échantillons de données d'entrée dans la pluralité de classes connues séparées par une ou plusieurs frontières de décision, ou ayant été programmé pour mémoriser le premier état du premier réseau neuronal artificiel. Selon un mode de réalisation, le dispositif informatique est configuré pour, avant de générer l'au moins un échantillon de pseudo-données, transférer au moins partiellement un savoir détenu par le premier réseau neuronal artificiel au deuxième réseau neuronal artificiel, dans lequel l'au moins un échantillon de pseudo-données est généré en utilisant le deuxième réseau neuronal artificiel, et dans lequel l'apprentissage du premier réseau neuronal artificiel est effectué au moins partiellement en parallèle avec la génération d'un ou de plusieurs échantillons de pseudo-données par le deuxième réseau neuronal artificiel. Selon un mode de réalisation, les un ou plusieurs capteurs comprennent un capteur d'image, les échantillons de données d'entrée étant une ou plusieurs images capturées par le capteur d'image, et le dispositif informatique étant configuré pour effectuer ladite classification du nouvel échantillon de données d'entrée par un traitement d'image du nouvel échantillon de données d'entrée en utilisant le premier réseau neuronal artificiel. Selon un mode de réalisation, le dispositif informatique est configuré pour répéter les opérations a) et b) pour chaque classe précédemment apprise par le premier réseau neuronal artificiel, sauf la classe de l'échantillon de données de base. Selon un mode de réalisation, le dispositif informatique est configuré pour générer chacun des un ou plusieurs échantillons de données de base modifiés de l'itération i+1 sur la base de l'équation suivante : , où est l'échantillon de données de base de l'itération i vers une classe cible c, est une fonction de pertes de , est le gradient de la fonction de pertes , est une perturbation, et est un taux de modification d'une itération à la suivante, dans lequel la fonction de pertes de est par exemple déterminée sur la base de l'équation suivante : , où est la sortie de classification de l'échantillon de données de base, et est la sortie de classification de l'échantillon de la classe cible c. Selon un mode de réalisation, le dispositif informatique est configuré en outre pour : détecter, en utilisant un détecteur de nouveauté, si un ou plusieurs nouveaux échantillons de données d'entrée correspondent à une classe qui n'est pas déjà connue du premier réseau neuronal artificiel. Selon un mode de réalisation, le dispositif informatique est configuré pour effectuer l'échantillonnage itératif sur une pluralité d'itérations jusqu'à une itération I à laquelle une condition d'arrêt est remplie, la condition d'arrêt étant une des suivantes, ou une combinaison de celles-ci : 1) l'itération I correspond à un nombre maximal N d'itérations, où N est par exemple compris entre 4 et 30 ; 2) une frontière de classe entre la classe de base de l'échantillon de données de base et la classe cible a été atteinte et/ou traversée par l'échantillon de données de base modifié de l'itération I ; 3) la valeur d'activation à la sortie du premier réseau neuronal artificiel résultant de l'échantillon de données de base modifié de l'itération i a dépassé un seuil. Selon un autre aspect, on prévoit un procédé de commande de un ou plusieurs actionneurs, le procédé comprenant : la mise en œuvre d'au moins un premier réseau neuronal artificiel en utilisant un dispositif informatique, le premier réseau neuronal artificiel ayant un premier état après avoir été entrainé pour classer des échantillons de données d'entrée dans une pluralité de classes connues séparées par une ou plusieurs frontières de décision, le dispositif informatique comprenant un tampon mémoire stockant un ou plusieurs échantillons de données de base, chaque échantillon de données de base comprenant un échantillon de données d'entrée et une classe correspondante parmi la pluralité de classes connues ; la génération d'au moins un échantillon de pseudo-données ; l'apprentissage du premier réseau neuronal artificiel pour qu'il apprenne une ou plusieurs nouvelles classes en plus de la pluralité de classes connues en utilisant l'au moins un échantillon de pseudo-données ; la capture, en utilisant un ou plusieurs capteurs, un nouvel échantillon de données d'entrée ; la classification du nouvel échantillon de données d'entrée en utilisant le premier réseau neuronal artificiel ; et la commande des un ou plusieurs actionneurs en fonction de la classification du nouvel échantillon de données d'entrée, dans lequel la génération de chacun des au moins un échantillons de pseudo-données comprend : a) l'échantillonnage itératif d'un des échantillons de données de base vers une des frontières de décision pour générer un ou plusieurs échantillons de données de base modifiés ; et b) la sélection d'un ou de plusieurs des échantillons de données de base modifiés pour former l'échantillon de pseudo-données. Selon un mode de réalisation, le procédé comprend en outre la mise en œuvre d'un deuxième réseau neuronal artificiel en utilisant le dispositif informatique, le deuxième réseau neuronal artificiel ayant également été entraîné pour classer les échantillons de données d'entrée dans la pluralité de classes connues séparées par une ou plusieurs frontières de décision, ou ayant été programmé pour mémoriser le premier état du premier réseau neuronal artificiel. Selon un mode de réalisation, le procédé comprend en outre, avant la génération de l'au moins un échantillon de pseudo-données, le transfert au moins partiel d'un savoir détenu par le premier réseau neuronal artificiel au deuxième réseau neuronal artificiel, dans lequel l'au moins un échantillon de pseudo-données est généré en utilisant le deuxième réseau neuronal artificiel, et dans lequel l'apprentissage du premier réseau neuronal artificiel est effectué au moins partiellement en parallèle avec la génération d'un ou de plusieurs échantillons de pseudo-données par le deuxième réseau neuronal artificiel. Selon un mode de réalisation, les un ou plusieurs capteurs comprennent un capteur d'image, les échantillons de données d'entrée étant une ou plusieurs images capturées par le capteur d'image, et la classification du nouvel échantillon de données d'entrée comprend un traitement d'image du nouvel échantillon de données d'entrée en utilisant le premier réseau neuronal artificiel. Selon un mode de réalisation, la génération de chacun des un ou plusieurs échantillons de données de base modifiés de l'itération i+1 est effectuée sur la base de l'équation suivante : , où est l'échantillon de données de base de l'itération i vers une classe cible c, est une fonction de pertes de , est le gradient de la fonction de pertes , est une perturbation, et est un taux de modification d'une itération à la suivante, dans lequel la fonction de pertes de est par exemple déterminée sur la base de l'équation suivante : , où est la sortie de classification de l'échantillon de données de base, et est la sortie de classification de l'échantillon de la classe cible c. Selon un mode de réalisation, le procédé comprend en outre : la détection, en utilisant un détecteur de nouveauté, de si un ou plusieurs nouveaux échantillons de données d'entrée correspondent à une classe qui n'est pas déjà connue du premier réseau neuronal artificiel. Selon un mode de réalisation, l'échantillonnage itératif est effectué sur une pluralité d'itérations jusqu'à une itération I à laquelle une condition d'arrêt est remplie, la condition d'arrêt étant une des suivantes, ou une combinaison de celles-ci : 1) l'itération I correspond à un nombre maximal N d'itérations, où N est par exemple compris entre 4 et 30 ; 2) une frontière de classe entre la classe de base de l'échantillon de données de base et la classe cible a été atteinte et/ou traversée par l'échantillon de données de base modifié de l'itération I ; 3) la valeur d'activation à la sortie du premier ou du deuxième réseau neuronal artificiel résultant de l'échantillon de données de base modifié de l'itération i a dépassé un seuil. Selon un mode de réalisation, la condition d'arrêt est que l'itération I correspond à un nombre maximal N d'itérations, le procédé comprenant en outre une phase d'étalonnage avant l'échantillonnage itératif, la phase d'étalonnage déterminant une valeur de N basée sur un nombre d'itérations pris pour atteindre une frontière de classe. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la représente schématiquement une architecture d'un ANN perceptron multicouche selon un exemple de mode de réalisation ; la représente quatre graphes illustrant un exemple du problème d'oubli catastrophique ; la est un schéma-blocs illustrant un système de commande selon un exemple de mode de réalisation de la présente description ; la représente des phases d'un procédé d'apprentissage en continu dans un ANN selon un exemple de mode de réalisation de la présente description ; la est un organigramme représentant des opérations d'un procédé de commande d'actionneurs en utilisant un apprentissage en continu selon un exemple de mode de réalisation de la présente description ; la est un organigramme représentant une opération d'échantillonnage itératif du procédé de la plus en détail selon un exemple de mode de réalisation de la présente description ; la représente un espace bidimensionnel fournissant un exemple d'un modèle qui classe des éléments dans une de cinq classes, et un exemple d'une trajectoire d'un échantillon dans cet espace ; la représente six graphes présentant des résultats de précision obtenus en utilisant le procédé et le dispositif décrits ici ; la représente un dispositif de commande matériel selon un exemple de mode de réalisation de la présente description et représente des modules destinés à traiter des données d'entrée tombant dans un ensemble de données précédemment appris ; et la représente le dispositif de commande de la selon un exemple de mode de réalisation de la présente description et représente des modules destinés à traiter de nouvelles données d'entrée. Système de commande comprenant : - un dispositif informatique (301) mettant en œuvre au moins un premier réseau neuronal artificiel (Net_1), le premier réseau neuronal artificiel (Net_1) ayant un premier état (State_i) après avoir été entraîné pour classer des échantillons de données d'entrée dans une pluralité de classes connues séparées par une ou plusieurs frontières de décision, le dispositif informatique (301) comprenant une mémoire tampon (312) stockant un ou plusieurs échantillons de données de base, chaque échantillon de données de base comprenant un échantillon de données d'entrée et une classe correspondante parmi la pluralité de classes connues ; - un ou plusieurs capteurs (320) configurés pour capturer des échantillons de données d'entrée ; et - un ou plusieurs actionneurs (322) ; dans lequel le dispositif informatique (301) est configuré pour : générer au moins un échantillon de pseudo-données ; entraîner le premier réseau neuronal artificiel pour qu'il apprenne une ou plusieurs nouvelles classes en plus de la pluralité de classes connues en utilisant l'au moins un échantillon de pseudo-données ; classer un nouvel échantillon de données d'entrée en utilisant le premier réseau neuronal artificiel ; et commander les un ou plusieurs actionneurs (320) en fonction de la classification du nouvel échantillon de données d'entrée, dans lequel le dispositif informatique (301) est configuré pour générer chacun des au moins un échantillon de pseudo-données par : a) l'échantillonnage itératif d'un des échantillons de données de base vers une des frontières de décision pour générer un ou plusieurs échantillons de données de base modifiés ; et b) sélectionnant un ou plusieurs des échantillons de données de base modifiés pour former l'échantillon de pseudo-données. Système de commande selon la revendication 1, dans lequel le dispositif informatique (301) met en outre en œuvre un deuxième réseau neuronal artificiel (Net_2), le deuxième réseau neuronal artificiel (Net_2) ayant également été entraîné pour classer les échantillons de données d'entrée dans la pluralité de classes connues séparées par une ou plusieurs frontières de décision ou ayant été programmé pour mémoriser le premier état (State_i) du premier réseau neuronal artificiel. Système de commande selon la revendication 2, dans lequel le dispositif informatique est en outre configuré pour, avant de générer l'au moins un échantillon de pseudo-données, transférer au moins partiellement un savoir détenu par le premier réseau neuronal artificiel (Net_1) au deuxième réseau neuronal artificiel (Net_2), dans lequel l'au moins un échantillon de pseudo-données est généré en utilisant le deuxième réseau neuronal artificiel (Net_2), et dans lequel l'apprentissage du premier réseau neuronal artificiel (Net_1) est effectué au moins partiellement en parallèle avec la génération d'un ou de plusieurs échantillons de pseudo-données par le deuxième réseau neuronal artificiel (Net_2). Système de commande selon l'une quelconque des revendications 1 à 3, dans lequel les un ou plusieurs capteurs (320) comprennent un capteur d'image, les échantillons de données d'entrée étant une ou plusieurs images capturées par le capteur d'image, et le dispositif informatique étant configuré pour effectuer ladite classification du nouvel échantillon de données d'entrée par un traitement d'image du nouvel échantillon de données d'entrée en utilisant le premier réseau neuronal artificiel (Net_1). Système de commande selon l'une quelconque des revendications 1 à 4, dans lequel le dispositif informatique (301) est configuré pour répéter les opérations a) et b) pour chaque classe (c) précédemment apprise par le premier réseau neuronal artificiel sauf la classe de l'échantillon de données de base. Système de commande selon l'une quelconque des revendications 1 à 5, dans lequel le dispositif informatique (301) est configuré pour générer chacun des un ou plusieurs échantillons de données de base modifiés ( ) de l'itération i+1 sur la base de l'équation suivante : , où est l'échantillon de données de base de l'itération i vers une classe cible c, est une fonction de pertes est de , est le gradient de la fonction de pertes , ε est une perturbation, et est un taux de modification d'une itération à la suivante, dans lequel la fonction de pertes de est par exemple déterminée sur la base de l'équation suivante : , où est la sortie de classification de l'échantillon de données de base, et est la sortie de classification de l'échantillon de la classe cible c. Système de commande selon l'une quelconque des revendications 1 à 6, dans lequel le dispositif informatique (301) est en outre configuré pour : - détecter, en utilisant un détecteur de nouveauté, si un ou plusieurs nouveaux échantillons de données d'entrée (NEW TASK) correspondent à une classe qui n'est pas déjà connue du premier réseau neuronal artificiel (Net_1). Système de commande selon l'une quelconque des revendications 1 à 7, dans lequel le dispositif informatique est configuré pour effectuer l'échantillonnage itératif sur une pluralité d'itérations jusqu'à une itération I à laquelle une condition d'arrêt est remplie, la condition d'arrêt étant une des suivantes, ou une combinaison de celles-ci : 1) l'itération I correspond à un nombre maximal N d'itérations, où N est par exemple compris entre 4 et 30 ; 2) une frontière de classe entre la classe de base de l'échantillon de données de base et la classe cible a été atteinte et/ou traversée par l'échantillon de données de base modifié de l'itération I ; 3) la valeur d'activation à la sortie du premier réseau neuronal artificiel (Net_1) résultant de l'échantillon de données de base modifié de l'itération i a dépassé un seuil. Procédé de commande de un ou plusieurs actionneurs (322), le procédé comprenant : - la mise en œuvre d'au moins un premier réseau neuronal artificiel (Net_1) en utilisant un dispositif informatique (301), le premier réseau neuronal artificiel (Net_1) ayant un premier état (State_i) après avoir été entrainé pour classer des échantillons de données d'entrée en une pluralité de classes connues séparées par une ou plusieurs frontières de décision, le dispositif informatique (301) comprenant un tampon mémoire (312) stockant un ou plusieurs échantillons de données de base, chaque échantillon de données de base comprenant un échantillon de données d'entrée et une classe correspondante parmi la pluralité de classes connues ; - la génération d'au moins un échantillon de pseudo-données ; - l'apprentissage du premier réseau neuronal artificiel (Net_1) pour qu'il apprenne une ou plusieurs classes connues en plus de la pluralité de classes connues en utilisant l'au moins un échantillon de pseudo-données ; - la capture, en utilisant un ou plusieurs capteurs (320), d'un nouvel échantillon de données d'entrée ; - la classification du nouvel échantillon de données d'entrée en utilisant le premier réseau neuronal artificiel ; et - la commande des un ou plusieurs actionneurs (322) en fonction de la classification du nouvel échantillon de données d'entrée, dans lequel la génération de chacun de l'au moins un échantillon de pseudo-données comprend : a) l'échantillonnage itératif d'un des échantillons de données de base vers une des frontières de décision pour générer un ou plusieurs échantillons de données de base modifiés ; et b) la sélection d'un ou de plusieurs des échantillons de données de base modifiés pour former l'échantillon de pseudo-données. Procédé selon la revendication 9, comprenant en outre la mise en œuvre d'un deuxième réseau neuronal artificiel (Net_2) en utilisant le dispositif informatique (301), le deuxième réseau neuronal artificiel (Net_2) ayant également été entraîné pour classer les échantillons de données d'entrée dans la pluralité de classes connues séparées par une ou plusieurs frontières de décision, ou ayant été programmé pour mémoriser le premier état (State_i) du premier réseau neuronal artificiel. Procédé selon la revendication 10, comprenant en outre, avant la génération de l'au moins un échantillon de pseudo-données, le transfert au moins partiel d'un savoir détenu par le premier réseau neuronal artificiel (Net_1) au deuxième réseau neuronal artificiel (Net_2), dans lequel l'au moins un échantillon de pseudo-données est généré en utilisant le deuxième réseau neuronal artificiel (Net_2), et dans lequel l'apprentissage du premier réseau neuronal artificiel (Net_1) est effectué au moins partiellement en parallèle avec la génération d'un ou de plusieurs échantillons de pseudo-données par le deuxième réseau neuronal artificiel (Net_2). Procédé selon la revendication 10 ou 11, dans lequel les un ou plusieurs capteurs (320) comprennent un capteur d'image, les échantillons de données d'entrée étant une ou plusieurs images capturées par le capteur d'image, et la classification du nouvel échantillon de données d'entrée comprend un traitement d'image du nouvel échantillon de données d'entrée en utilisant le premier réseau neuronal artificiel (Net_1). Procédé selon l'une quelconque des revendications 9 à 12, dans lequel la génération de chacun des un ou plusieurs échantillons de données de base modifiés ( ) de l'itération i+1 est effectuée sur la base de l'équation suivante : , où est l'échantillon de données de base de l'itération i vers une classe cible c, est une fonction de pertes est de , est le gradient de la fonction de pertes , ε est une perturbation, et est un taux de modification d'une itération à la suivante, dans lequel la fonction de pertes de est par exemple déterminée sur la base de l'équation suivante : , où est la sortie de classification de l'échantillon de données de base, et est la sortie de classification de l'échantillon de la classe cible c. Procédé selon l'une quelconque des revendications 9 à 13, comprenant en outre : - la détection, en utilisant un détecteur de nouveauté, de si un ou plusieurs nouveaux échantillons de données d'entrée (NEW TASK) correspondent à une classe qui n'est pas déjà connue du premier réseau neuronal artificiel (Net_1). Procédé selon l'une quelconque des revendications 9 à 14, dans lequel l'échantillonnage itératif est effectué sur une pluralité d'itérations jusqu'à une itération I à laquelle une condition d'arrêt est remplie, la condition d'arrêt étant une des suivantes, ou une combinaison de celles-ci : 1) l'itération I correspond à un nombre maximal N d'itérations, où N est par exemple compris entre 4 et 30 ; 2) une frontière de classe entre la classe de base de l'échantillon de données de base et la classe cible a été atteinte et/ou traversée par l'échantillon de données de base modifié de l'itération I ; 3) la valeur d'activation à la sortie du premier ou du deuxième réseau neuronal artificiel (Net_1, Net_2) résultant de l'échantillon de données de base modifié de l'itération i a dépassé un seuil. Procédé selon la revendication 15, dans lequel la condition d'arrêt est que l'itération I correspond à un nombre maximal d'itérations, le procédé comprenant en outre une phase d'étalonnage avant l'échantillonnage itératif, la phase d'étalonnage déterminant une valeur de N basée sur un nombre d'itérations (N') pris pour atteindre une frontière de classe.