Brevet FR3133937A1 — publié le 20230929

Un procédé d’entraînement d’une structure (1) de réseaux de neurones au moyen de données de référence (x), comprend une étape de regroupement des données de référence pour déterminer des données de classification (c) associées aux données de référence, et au moins deux cycles des étapes suivantes : - fourniture, en entrée d’un réseau générateur (10), de données initiales (z) et des données de classification pour obtenir des données générées (G(z i |c i )), - fourniture, en entrée d’un réseau discriminateur (20), des données de référence (x), des données de classification et des données générées pour obtenir, pour chaque donnée reçue par le réseau discriminateur une donnée de contrôle (m), et - mise à jour des paramètres du réseau générateur et du réseau discriminateur, pour que les données de contrôle obtenues pour les données de référence convergent vers une première valeur et que les données de contrôle obtenues pour les données générées convergent vers une seconde valeur. Figure pour l’abrégé : 4 Procédé et dispositif d’entraînement d’une structure de neurones artificiels et programme d’ordinateur associé Domaine technique de l'invention La présente invention concerne le domaine technique des réseaux de neurones artificiels, et plus particulièrement l’entraînement de ces réseaux de neurones artificiels. Elle concerne en particulier un procédé et un dispositif d’entraînement d’une structure de réseaux de neurones artificiels et un programme d’ordinateur associé. Etat de la technique Les algorithmes d’apprentissage automatique (ou « machine learning » selon l’expression anglosaxonne couramment utilisée) nécessitent de plus en plus l’utilisation de données dites synthétiques, c’est-à-dire créées spécifiquement pour la phase d’entraînement de cet algorithme. Ces données synthétiques sont par exemple des images. Les réseaux adverses génératifs (ou GAN pour « Generative Adversarial Networks ») forment un type d’algorithmes d’apprentissage automatique non supervisé. Ils permettent de générer des données synthétiques. Un réseau adverse génératif comprend deux réseaux de neurones artificiels, un premier réseau dit générateur et un deuxième réseau dit discriminateur, adversaire du réseau générateur. Le réseau générateur est un réseau de neurones artificiels permettant de créer de nouvelles données sans pouvoir distinguer si ces nouvelles données sont authentiques ou pas. Ces nouvelles données sont transmises au réseau discriminateur, au côté de véritables données (c’est-à-dire non créées par le réseau générateur). Le réseau discriminateur est un autre réseau de neurones artificiels qui évalue l’authenticité des données qui lui sont fournies en entrée et identifie donc les fausses données. En particulier, le réseau discriminateur essaie alors de distinguer les données synthétiques (c’est-à-dire créées par le réseau générateur) des données réelles. C’est ce fonctionnement qui témoigne du côté « adversaire » du réseau discriminateur par rapport au réseau générateur. Cependant, la phase d’entraînement des réseaux adverses génératifs est souvent lente car elle nécessite l’utilisation d’un grand nombre de données et présente notamment des difficultés de convergence étant donné la fonction adversaire du réseau discriminateur. Il est alors connu d’utiliser des réseaux adverses génératifs dits conditionnels. Un tel réseau adverse génératif conditionnel est par exemple connu du document « Diverse Image Generation via Self- Conditioned GANs » de Steven Liu et al., Conference on Computer Vision and Pattern Recognition, pp. 14286-14295, 2020. Ces réseaux adverses génératifs conditionnels sont particulièrement intéressants car ils permettent de générer des données en tenant compte de conditions préalables imposées. Par exemple, ils seront capables de générer des images de visages conditionnées par le genre de la personne et l’expression observée sur son visage, par exemple des images de visages féminins souriants. Cependant, la mise en œuvre de tels réseaux adverses génératifs conditionnels est assez complexe notamment car le réseau discriminateur, en plus de sa tâche classique décrite précédemment, détermine conjointement la condition communiquée en entrée du réseau adverse génératif lors de la phase d’entraînement. Présentation de l'invention Dans ce contexte, la présente invention propose d’améliorer la phase d’entraînement des réseaux adverses génératifs conditionnels. Plus particulièrement, on propose selon l’invention un procédé d’entraînement d’une structure de réseaux de neurones artificiels au moyen de données de référence, ladite structure comprenant un réseau générateur et un réseau discriminateur, le procédé comprenant une étape préliminaire de regroupement des données de référence en groupes de données de référence afin de déterminer des données de classification respectivement associées aux données de référence, chaque donnée de classification étant représentative du groupe de données de référence auquel appartient la donnée de référence concernée, le procédé comprenant au moins deux cycles des étapes suivantes : - fourniture, en entrée du réseau générateur, de données initiales et des données de classification déterminées de manière à obtenir, en sortie du réseau générateur, des données générées, - fourniture, en entrée du réseau discriminateur, des données de référence, des données de classification et des données générées de manière à obtenir, en sortie du réseau discriminateur, pour chaque donnée reçue par le réseau discriminateur parmi les données de référence et les données générées, une donnée de contrôle, et - mise à jour des paramètres du réseau générateur et des paramètres du réseau discriminateur, de manière à ce que les données de contrôle obtenues pour les données de référence convergent vers une première valeur et que les données de contrôle obtenues pour les données générées convergent vers une seconde valeur distincte de la première valeur. Ainsi, de manière avantageuse selon l’invention, les données de classification, utilisées pendant l’entraînement de la structure de réseaux de neurones artificiels, sont dérivées directement des données dites de référence, c’est-à-dire des données réelles. De plus, ces données de classification sont déterminées en amont des étapes d’entraînement exécutant les réseaux générateur et discriminateur. Toutes les étapes d’entraînement sont donc mises en œuvre à partir des mêmes données de classification. Cela permet alors d’améliorer l’entraînement de la structure de réseaux de neurones artificiels, notamment en permettant une meilleure qualité de résultats obtenus en sortie du réseau discriminateur. De plus, il a été observé que l’utilisation de telles données de classification permet l’accélération de la phase d’entraînement de la structure de réseaux de neurones artificiels. Plus particulièrement, la demanderesse a observé une accélération de 50% de la phase d’entraînement grâce à l’invention, en comparaison à la phase d’entraînement classique d’un réseau adverse génératif classique. D’autres caractéristiques non limitatives et avantageuses du procédé conforme à l’invention, prises individuellement ou selon toutes les combinaisons techniquement possibles, sont les suivantes : - l’étape préliminaire de regroupement des données de référence comprend la détermination d’un estimateur de regroupement desdites données de référence, ledit estimateur étant défini à partir de paramètres de pondération, ledit estimateur mettant en œuvre une optimisation d’une fonction de vraisemblance dépendant des données de référence et des paramètres de pondération dudit estimateur ; - l’estimateur de regroupement met en œuvre une maximisation de probabilités associées aux données de référence ; - l’estimateur de regroupement met en œuvre une minimisation d’une distance entre chaque donnée de référence et une donnée centrale ; - il est prévu au moins 100 cycles des étapes de fourniture en entrée du réseau générateur, de fourniture en entrée du réseau discriminateur et de mise à jour utilisant les données de classification déterminées ; - les données de classification sont des nombres entiers, chaque nombre entier étant associé à un groupe des données de référence ; - les données de référence sont des images ; - il est prévu au moins 8 données de référence : - à l’étape de fourniture en entrée du réseau discriminateur, il est prévu la fourniture des données de référence et des données générées sous la forme d’ensembles de données, l’étape de fourniture en entrée du réseau discriminateur étant répétée autant de fois que le nombre d’ensembles de données ; et - l’étape de mise à jour est répétée autant de fois que le nombre d’ensembles de données. Ainsi, chaque cycle introduit précédemment présente plusieurs itérations des étapes de fourniture en entrée du réseau discriminateur et de mise à jour, de manière à analyser tous les ensembles de données. Il y a donc, par cycle, autant d’itérations de ces étapes qu’il y a d’ensembles de données. La présente invention concerne également un dispositif d’entraînement d’une structure de réseaux de neurones artificiels au moyen de données de référence, ladite structure comprenant un réseau générateur et un réseau discriminateur, le dispositif comprenant : - un module de regroupement configuré pour regrouper les données de référence en groupes de données de référence afin de déterminer des données de classification respectivement associées aux données de référence, chaque donnée de classification étant représentative du groupe de données de référence auquel appartient la donnée de référence concernée, - le réseau générateur étant configuré pour recevoir, en entrée, des données initiales et les données de classification et pour fournir, en sortie, des données générées, - le réseau discriminateur étant configuré pour recevoir, en entrée, les données de référence, les données de classification et les données générées et pour fournir, en sortie, pour chaque donnée reçue par le réseau discriminateur parmi les données de référence et les données générées, une donnée de contrôle, - un module de mise à jour des paramètres du réseau générateur et des paramètres du réseau discriminateur, de manière à ce que les données de contrôle obtenues pour les données de référence convergent vers une première valeur et que les données de contrôle obtenues pour les données générées convergent vers une seconde valeur distincte de la première valeur, et - une unité de commande configurée pour activer le module de regroupement lors d’une étape préliminaire et pour mettre en œuvre au moins deux cycles comprenant chacun l’application des données de référence et des données de classification au réseau générateur, l’application des données de référence, des données de classification et des données générées au réseau discriminateur, et une activation du module de mise à jour. La présente invention concerne enfin un programme d’ordinateur comprenant des instructions exécutables par un processeur et conçues pour mettre en œuvre un procédé tel qu’introduit précédemment lorsque ces instructions sont exécutées par le processeur. Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. Procédé d’entraînement d’une structure (1) de réseaux de neurones artificiels au moyen d’images de référence (x), ladite structure (1) comprenant un réseau générateur (10) et un réseau discriminateur (20), le procédé comprenant une étape préliminaire (E0) de regroupement des images de référence (x) en groupes d’images de référence afin de déterminer des données de classification (c) respectivement associées aux images de référence (x), chaque donnée de classification (c i ) étant représentative du groupe d’images de référence (x) auquel appartient l’image de référence concernée, le procédé comprenant au moins deux cycles des étapes suivantes : - fourniture (E4), en entrée du réseau générateur (10), d’images initiales (z) et des données de classification (c) déterminées de manière à obtenir, en sortie du réseau générateur (10), des images générées (G(z i |c i )), - fourniture (E6), en entrée du réseau discriminateur (20), des images de référence (x), des données de classification (c) et des images générées (G(z i |c i )) de manière à obtenir, en sortie du réseau discriminateur (20), pour chaque image reçue par le réseau discriminateur (20) parmi les images de référence (x) et les images générées (G(z i |c i )), une donnée de contrôle (m), et - mise à jour (E8) des paramètres du réseau générateur (10) et des paramètres du réseau discriminateur (20), de manière à ce que les données de contrôle (m) obtenues pour les images de référence (x) convergent vers une première valeur et que les données de contrôle (m) obtenues pour les images générées (G(z i |c i )) convergent vers une seconde valeur distincte de la première valeur. Procédé selon la revendication 1, dans lequel l’étape préliminaire (E0) de regroupement des images de référence (x) comprend la détermination d’un estimateur de regroupement desdites images de référence (x), ledit estimateur étant défini à partir de paramètres de pondération, ledit estimateur mettant en œuvre une optimisation d’une fonction de vraisemblance dépendant des images de référence (x) et des paramètres de pondération dudit estimateur. Procédé selon la revendication 2, dans lequel l’estimateur de regroupement met en œuvre une maximisation de probabilités associées aux images de référence (x). Procédé selon la revendication 2, dans lequel l’estimateur de regroupement met en œuvre une minimisation d’une distance entre chaque image de référence et une donnée centrale. Procédé selon l’une quelconque des revendications 1 à 4, dans lequel il est prévu au moins 100 cycles des étapes de fourniture (E4) en entrée du réseau générateur (10), de fourniture (E6) en entrée du réseau discriminateur (20) et de mise à jour (E8) utilisant les données de classification (c) déterminées. Procédé selon l’une quelconque des revendications 1 à 5, dans lequel, à l’étape de fourniture (E6) en entrée du réseau discriminateur (20), il est prévu la fourniture des images de référence (x) et des images générées (G(z i |c i )) sous la forme d’ensembles d’images, l’étape de fourniture (E6) en entrée du réseau discriminateur (20) étant répétée autant de fois que le nombre d’ensembles d’images. Procédé selon l’une quelconque des revendications 1 à 6, dans lequel les données de classification (c) sont des nombres entiers, chaque nombre entier étant associé à un groupe d’images de référence (x). Procédé selon l’une quelconque des revendications 1 à 7, dans lequel il est prévu au moins 8 images de référence (x). Dispositif d’entraînement (30) d’une structure (1) de réseaux de neurones artificiels au moyen d’images de référence (x), ladite structure (1) comprenant un réseau générateur (10) et un réseau discriminateur (20), le dispositif (30) comprenant : - un module de regroupement configuré pour regrouper les images de référence (x) en groupes d’images de référence (x) afin de déterminer des données de classification (c) respectivement associées aux images de référence (x), chaque donnée de classification (c i ) étant représentative du groupe d’images de référence (x) auquel appartient l’image de référence concernée, - le réseau générateur (10) étant configuré pour recevoir, en entrée, des images initiales (z) et les données de classification (c) et pour fournir, en sortie, des images générées (G(z i |c i )), - le réseau discriminateur (20) étant configuré pour recevoir, en entrée, les images de référence (x), les données de classification (c) et les images générées (G(z i |c i )) et pour fournir, en sortie, pour chaque image reçue par le réseau discriminateur (20) parmi les images de référence (x) et les images générées (G(z i |c i )), une donnée de contrôle (m), - un module de mise à jour des paramètres du réseau générateur (10) et des paramètres du réseau discriminateur (20), de manière à ce que les données de contrôle (m) obtenues pour les images de référence (x) convergent vers une première valeur et que les données de contrôle (m) obtenues pour les images générées (G(z i |c i )) convergent vers une seconde valeur distincte de la première valeur, et - une unité de commande (32) configurée pour activer le module de regroupement lors d’une étape préliminaire et pour mettre en œuvre au moins deux cycles comprenant chacun l’application des images de référence (x) et des données de classification (c) au réseau générateur (10), l’application des images de référence (x), des données de classification (c) et des images générées (G(z i |c i )) au réseau discriminateur (20), et une activation du module de mise à jour. Programme d’ordinateur comprenant des instructions exécutables par un processeur (34) et conçues pour mettre en œuvre un procédé selon l’une des revendications 1 à 8 lorsque ces instructions sont exécutées par le processeur (34).