FR3133937A1 - Method and device for training an artificial neuron structure and associated computer program - Google Patents

Method and device for training an artificial neuron structure and associated computer program Download PDF

Info

Publication number
FR3133937A1
FR3133937A1 FR2202665A FR2202665A FR3133937A1 FR 3133937 A1 FR3133937 A1 FR 3133937A1 FR 2202665 A FR2202665 A FR 2202665A FR 2202665 A FR2202665 A FR 2202665A FR 3133937 A1 FR3133937 A1 FR 3133937A1
Authority
FR
France
Prior art keywords
data
images
reference images
network
discriminator network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2202665A
Other languages
French (fr)
Inventor
Amine Kacete
Luc LE MAGOAROU
Stéphane Paquelet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fondation B Com
Original Assignee
Fondation B Com
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fondation B Com filed Critical Fondation B Com
Priority to FR2202665A priority Critical patent/FR3133937A1/en
Priority to PCT/EP2023/057097 priority patent/WO2023180257A1/en
Publication of FR3133937A1 publication Critical patent/FR3133937A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)

Abstract

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(zi|ci)),- 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é : 4A method of training a structure (1) of neural networks using reference data (x), comprises a step of grouping the reference data to determine classification data (c) associated with the reference data, and at least two cycles of the following steps: - supply, at the input of a generator network (10), of initial data (z) and classification data to obtain generated data (G(zi|ci)), - supply , at the input of a discriminator network (20), reference data (x), classification data and data generated to obtain, for each data received by the discriminator network, a control data (m), and - setting updating the parameters of the generator network and the discriminator network, so that the control data obtained for the reference data converge towards a first value and that the control data obtained for the generated data converge towards a second value. Figure for abstract: 4

Description

Procédé et dispositif d’entraînement d’une structure de neurones artificiels et programme d’ordinateur associéMethod and device for training an artificial neuron structure and associated computer program Domaine technique de l'inventionTechnical field of the 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.The present invention relates to the technical field of artificial neural networks, and more particularly the training of these artificial neural networks.

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é.It relates in particular to a method and a device for training an artificial neural network structure and an associated computer program.

Etat de la techniqueState of the art

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.Automatic learning algorithms (or “ machine learning ” according to the commonly used English expression) increasingly require the use of so-called synthetic data, that is to say created specifically for the training phase of this algorithm. These synthetic data are, for example, 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. Generative Adversarial Networks (GANs) are a type of unsupervised machine learning algorithm. They make it possible to generate synthetic data.

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.A generative adversarial network comprises two artificial neural networks, a first so-called generator network and a second so-called discriminator network, adversary of the generator network.

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).The generator network is an artificial neural network allowing the creation of new data without being able to distinguish whether this new data is authentic or not. This new data is transmitted to the discriminator network, alongside real data (i.e. not created by the generator network).

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.The discriminator network is another artificial neural network that evaluates the authenticity of the data provided to it as input and therefore identifies fake data. In particular, the discriminator network then tries to distinguish synthetic data (i.e. created by the generator network) from real data. It is this operation which demonstrates the “adversary” side of the discriminator network in relation to the generator network.

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.However, the training phase of generative adversarial networks is often slow because it requires the use of a large number of data and in particular presents convergence difficulties given the adversarial function of the discriminator network.

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.It is then known to use so-called conditional generative adversarial networks. Such a conditional generative adversarial network is for example known from the document “ Diverse Image Generation via Self- Conditioned GANs ” by Steven Liu et al., Conference on Computer Vision and Pattern Recognition, pp. 14286-14295, 2020. These conditional generative adversarial networks are particularly interesting because they allow data to be generated taking into account imposed preconditions. For example, they will be able to generate images of faces conditioned by the gender of the person and the expression observed on their face, for example images of smiling female faces.

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.However, the implementation of such conditional generative adversarial networks is quite complex, in particular because the discriminator network, in addition to its classic task described previously, jointly determines the condition communicated at the input of the generative adversarial network during the training phase.

Présentation de l'inventionPresentation of the 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.In this context, the present invention proposes to improve the training phase of conditional generative adversarial networks.

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.
More particularly, according to the invention, we propose a method of training a structure of artificial neural networks by means of reference data, said structure comprising a generator network and a discriminator network, the method comprising a preliminary step of grouping the reference data into groups of reference data in order to determine classification data respectively associated with the reference data, each classification data being representative of the group of reference data to which the reference data concerned belongs, the method comprising at least two cycles of the following steps:
- supply, at the input of the generating network, of initial data and classification data determined so as to obtain, at the output of the generating network, generated data,
- supply, at the input of the discriminator network, reference data, classification data and generated data so as to obtain, at the output of the discriminator network, for each data received by the discriminator network among the reference data and the generated data , control data, and
- updating the parameters of the generator network and the parameters of the discriminator network, so that the control data obtained for the reference data converge towards a first value and that the control data obtained for the generated data converge towards a second value distinct from the first value.

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.Thus, advantageously according to the invention, the classification data, used during training of the structure of artificial neural networks, are derived directly from so-called reference data, that is to say real data. In addition, this classification data is determined upstream of the training steps executing the generator and discriminator networks.

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.All training steps are therefore implemented using the same classification data. This then makes it possible to improve the training of the structure of artificial neural networks, in particular by allowing a better quality of results obtained at the output of the discriminator network.

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.In addition, it has been observed that the use of such classification data allows the acceleration of the training phase of the artificial neural network structure. More particularly, the applicant observed a 50% acceleration of the training phase thanks to the invention, compared to the classic training phase of a classic generative adversarial network.

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 :Other non-limiting and advantageous characteristics of the process according to the invention, taken individually or in all technically possible combinations, are as follows:

- 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 ;- the preliminary step of grouping the reference data comprises the determination of a grouping estimator of said reference data, said estimator being defined from weighting parameters, said estimator implementing an optimization of a dependent likelihood function reference data and weighting parameters of said estimator;

- l’estimateur de regroupement met en œuvre une maximisation de probabilités associées aux données de référence ;- the grouping estimator implements a maximization of probabilities associated with the reference data;

- 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 ;- the grouping estimator implements a minimization of a distance between each reference data and a central data;

- 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 ;- at least 100 cycles are provided for the steps of supplying input to the generator network, supplying input to the discriminator network and updating using the determined classification data;

- les données de classification sont des nombres entiers, chaque nombre entier étant associé à un groupe des données de référence ;- the classification data are integers, each integer being associated with a group of reference data;

- les données de référence sont des images ;- the reference data are images;

- il est prévu au moins 8 données de référence :- at least 8 reference data are provided:

- à 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- in the step of supplying input to the discriminator network, provision is made for the supply of reference data and data generated in the form of sets of data, the step of supplying input to the discriminator network being repeated as many times as the number of data sets; And

- l’étape de mise à jour est répétée autant de fois que le nombre d’ensembles de données.- the update step is repeated as many times as the number of data sets.

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.Thus, each previously introduced cycle presents several iterations of the steps of supplying input to the discriminator network and updating, so as to analyze all the data sets. There are therefore, per cycle, as many iterations of these steps as there are sets of data.

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.
The present invention also relates to a device for training an artificial neural network structure by means of reference data, said structure comprising a generator network and a discriminator network, the device comprising:
- a grouping module configured to group the reference data into reference data groups in order to determine classification data respectively associated with the reference data, each classification data being representative of the reference data group to which the reference data belongs concerned,
- the generator network being configured to receive, as input, initial data and the classification data and to provide, as output, generated data,
- the discriminator network being configured to receive, as input, the reference data, the classification data and the generated data and to provide, at output, for each data received by the discriminator network among the reference data and the generated data, control data,
- a module for updating the parameters of the generator network and the parameters of the discriminator network, so that the control data obtained for the reference data converge towards a first value and the control data obtained for the generated data converge towards a second value distinct from the first value, and
- a control unit configured to activate the grouping module during a preliminary step and to implement at least two cycles each comprising the application of the reference data and the classification data to the generating network, the application of the data reference, classification data and data generated to the discriminator network, and activation of the update module.

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.The present invention finally relates to a computer program comprising instructions executable by a processor and designed to implement a method as previously introduced when these instructions are executed by the processor.

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.Of course, the different characteristics, variants and embodiments of the invention can be associated with each other in various combinations as long as they are not incompatible or exclusive of each other.

Description détaillée de l'inventionDetailed description of the invention

De plus, diverses autres caractéristiques de l'invention ressortent de la description annexée effectuée en référence aux dessins qui illustrent des formes, non limitatives, de réalisation de l'invention et où :In addition, various other characteristics of the invention emerge from the appended description made with reference to the drawings which illustrate non-limiting forms of embodiment of the invention and where:

représente une structure de réseaux de neurones artificiels mise en jeu dans la présente invention, represents a structure of artificial neural networks used in the present invention,

représente, sous forme fonctionnelle, un dispositif d’entraînement configuré pour mettre en œuvre le procédé d’entraînement de la structure de réseaux de neurones artificiels conforme à l’invention, represents, in functional form, a training device configured to implement the training method of the artificial neural network structure according to the invention,

représente, sous forme de logigramme, un exemple de procédé d’entraînement de la structure de réseaux de neurones conforme à l’invention, et represents, in flowchart form, an example of a method of training the neural network structure according to the invention, and

représente les données impliquées dans la structure de réseaux de neurones artificiels lors de la mise en œuvre du procédé d’entraînement conforme à l’invention. represents the data involved in the structure of artificial neural networks during the implementation of the training method according to the invention.

La représente un exemple de structure 1 de réseaux de neurones artificiels mise en jeu dans la présente invention. Cette structure 1 de réseaux de neurones artificiels comprend ici deux réseaux de neurones artificiels 10, 20 : un premier réseau 10 de neurones artificiels, dit réseau générateur 10, et un deuxième réseau 20 de neurones artificiels, dit réseau discriminateur 20.There represents an example of structure 1 of artificial neural networks used in the present invention. This structure 1 of artificial neural networks here comprises two artificial neural networks 10, 20: a first network 10 of artificial neurons, called generator network 10, and a second network 20 of artificial neurons, called discriminator network 20.

Cette structure 1 de réseaux de neurones artificiels est par exemple du type de celle utilisée dans les réseaux adverses génératifs tels que présentés précédemment. Elle est configurée pour traiter différents types de données, par exemple des données audios, des données textuelles ou des images.This structure 1 of artificial neural networks is for example of the type of that used in generative adversarial networks as presented previously. It is configured to process different types of data, for example audio data, text data or images.

Dans la suite de la description, la structure 1 de réseaux de neurones artificiels est présentée pour manipuler des images mais le fonctionnement s’appliquera de la même manière aux autres types de données connus. Pour la suite, on note que chaque image est représentée, en utilisant une pluralité de pixels, par une pluralité de composantes pour chaque pixel. Généralement, chaque image est représentée par trois composantes couleur pour chaque pixel (une composante rouge R, une composante verte G et une composante bleue B).In the remainder of the description, structure 1 of artificial neural networks is presented to manipulate images but the operation will apply in the same way to other known types of data. Below, we note that each image is represented, using a plurality of pixels, by a plurality of components for each pixel. Generally, each image is represented by three color components for each pixel (a red component R, a green component G and a blue component B).

Comme le montre la , le réseau générateur 10 comprend ici quatre couches 12, 14, 16, 18. Chaque couche 12, 14, 16, 18 est par exemple une couche de convolution combinée à une fonction de normalisation et une fonction de non-linéarité.As shown in the , the generator network 10 here comprises four layers 12, 14, 16, 18. Each layer 12, 14, 16, 18 is for example a convolution layer combined with a normalization function and a non-linearity function.

On considère des données u. Ces données u se présentent par exemple ici sous la forme d’un vecteur de 100 composantes. Avant d’être fournies en entrée du réseau générateur 10, ces données u sont converties, par un module de conversion 11 mettant en œuvre une cascade d’opérations de convolution inverse, sous la forme d’un bloc de données image dinitdont la résolution est de 4 pixels par 4 pixels par 1024 pixels (4x4x1024).We consider data u. These data u are presented for example here in the form of a vector of 100 components. Before being supplied as input to the generator network 10, these data u are converted, by a conversion module 11 implementing a cascade of inverse convolution operations, in the form of an image data block d init whose resolution is 4 pixels by 4 pixels by 1024 pixels (4x4x1024).

Partant de ce bloc de données dinitfourni en entrée du réseau générateur 10 (et donc en entrée de la première couche 12), la première couche 12 fournit en sortie un bloc de données d1, de résolution 8 pixels par 8 pixels par 512 pixels (8x8x512).Starting from this data block d init supplied as input to the generator network 10 (and therefore as input to the first layer 12), the first layer 12 provides as output a data block d 1 , with a resolution of 8 pixels by 8 pixels by 512 pixels (8x8x512).

La deuxième couche 14 reçoit en entrée de bloc de données d1et fournit en sortie un bloc de données d2, de résolution 16 pixels par 16 pixels par 256 pixels (16x16x256). Puis, la troisième couche 16 reçoit en entrée ce bloc de données d2et fournit en sortie un bloc de données d3, de résolution 32 pixels par 32 pixels par 128 pixels (32x32x128).The second layer 14 receives as input a data block d 1 and outputs a data block d 2 , with a resolution of 16 pixels by 16 pixels by 256 pixels (16x16x256). Then, the third layer 16 receives this data block d 2 as input and provides as output a data block d 3 , with a resolution of 32 pixels by 32 pixels by 128 pixels (32x32x128).

Enfin, la quatrième couche 18 reçoit en entrée le bloc de données d3et fournit en sortie une image Ifin, de résolution 64 pixels par 64 pixels par 3 pixels (64x64x3).Finally, the fourth layer 18 receives as input the data block d 3 and outputs an image I fine , with a resolution of 64 pixels by 64 pixels by 3 pixels (64x64x3).

Finalement, le réseau générateur 10 permet d’obtenir, à partir des données u, une image Ifin, ici de résolution 64 pixels par 64 pixels par 3 pixels. La donnée obtenue, ici une image, est par exemple formée de données élémentaires (64x64x3), qui sont ici les valeurs des pixels de cette image.Finally, the generator network 10 makes it possible to obtain, from the data u, a fine image I, here with a resolution of 64 pixels by 64 pixels by 3 pixels. The data obtained, here an image, is for example formed of elementary data (64x64x3), which here are the values of the pixels of this image.

De manière similaire, le réseau discriminateur 20 comprend ici aussi quatre couches 22, 24, 26, 28. Chaque couche 22, 24, 26, 28 est par exemple une couche de convolution combinée à une fonction de normalisation et une fonction de non-linéarité.Similarly, the discriminator network 20 here also comprises four layers 22, 24, 26, 28. Each layer 22, 24, 26, 28 is for example a convolution layer combined with a normalization function and a non-linearity function .

On considère des données v fournies en entrée du réseau discriminateur 20. Ces données v sont par exemple formées d’images, ici de résolution 64 pixels par 64 pixels par 3 pixels (64x64x3), telles que celles obtenues en sortie du réseau générateur 10. Chaque donnée v peut ainsi être formée de données élémentaires (ici les valeurs des pixels de l’image concernée).We consider data v supplied as input to the discriminator network 20. These data v are for example formed of images, here with a resolution of 64 pixels by 64 pixels by 3 pixels (64x64x3), such as those obtained at the output of the generator network 10. Each data v can thus be formed from elementary data (here the values of the pixels of the image concerned).

Partant d’une image v fournie en entrée du réseau discriminateur 20 (donc en entrée de la première couche 22), la première couche 22 fournit en sortie un bloc de données J1, de résolution 32 pixels par 32 pixels par 128 pixels (32x32x128).Starting from an image v supplied as input to the discriminator network 20 (therefore as input to the first layer 22), the first layer 22 provides as output a data block J 1 , with a resolution of 32 pixels by 32 pixels by 128 pixels (32x32x128 ).

La deuxième couche 24 reçoit en entrée ce bloc de données J1et fournit en sortie un bloc de données J2, de résolution 16 pixels par 16 pixels par 256 pixels (16x16x256). Puis, la troisième couche 26 reçoit en entrée ce bloc de données J2et fournit en sortie un bloc de données J3, de résolution 8 pixels par 8 pixels par 512 pixels (8x8x512).The second layer 24 receives this data block J 1 as input and provides as output a data block J 2 , with a resolution of 16 pixels by 16 pixels by 256 pixels (16x16x256). Then, the third layer 26 receives this data block J 2 as input and provides as output a data block J 3 , with a resolution of 8 pixels by 8 pixels by 512 pixels (8x8x512).

Enfin, la quatrième couche 28 reçoit en entrée le bloc de données J3et fournit en sortie un bloc de données Jfin, de résolution 4 pixels par 4 pixels par 1024 pixels (4x4x1024). Ce bloc de données Jfinest ensuite converti, par un autre module de conversion 21 mettant en œuvre une cascade d’opérations de convolution, en un nombre réel r.Finally, the fourth layer 28 receives as input the data block J 3 and provides as output a fine data block J, with a resolution of 4 pixels by 4 pixels by 1024 pixels (4x4x1024). This fine data block J is then converted, by another conversion module 21 implementing a cascade of convolution operations, into a real number r.

Finalement, le réseau discriminateur 20 permet d’obtenir, à partir d’une donnée v sous la forme d’une image, ici de résolution 64 pixels par 64 pixels par 3 pixels, un nombre réel r, associé à cette donnée v.Finally, the discriminator network 20 makes it possible to obtain, from a piece of data v in the form of an image, here with a resolution of 64 pixels by 64 pixels by 3 pixels, a real number r, associated with this piece of data v.

La présente invention concerne plus particulièrement la phase d’entraînement de cette structure 1 de réseaux de neurones artificiels. Pour cela, l’invention concerne un dispositif 30 d’entraînement de la structure 1 de réseaux de neurones artificiels. La représente, sous forme fonctionnelle, un tel dispositif 30 d’entraînement conforme à la mise en œuvre de l’invention.The present invention relates more particularly to the training phase of this structure 1 of artificial neural networks. For this, the invention relates to a device 30 for training the structure 1 of artificial neural networks. There represents, in functional form, such a drive device 30 conforming to the implementation of the invention.

Ce dispositif 30 d’entraînement comprend une unité de commande 32 munie d’un processeur 34 et une mémoire 36.This training device 30 comprises a control unit 32 provided with a processor 34 and a memory 36.

Ce dispositif 30 d’entraînement comprend également un ensemble de modules fonctionnels. Par exemple, il comprend un module de regroupement et un module de mise à jour. Chacun des différents modules décrits est par exemple réalisé au moyen d’instructions de programme d’ordinateur mémorisées par la mémoire 36 de l’unité de commande 32 et conçues pour mettre en œuvre le module concerné lorsque ces instructions sont exécutées par le processeur 34 de l’unité de commande 32.This training device 30 also includes a set of functional modules. For example, it includes a grouping module and an updating module. Each of the different modules described is for example produced by means of computer program instructions stored by the memory 36 of the control unit 32 and designed to implement the module concerned when these instructions are executed by the processor 34 of the control unit 32.

La est un logigramme représentant un exemple de procédé d’entraînement de la structure 1 de réseaux de neurones artificiels. Ce procédé vise à permettre l’entraînement de la structure 1 de réseaux de neurones artificiels avant que celle-ci ne soit utilisée, par exemple dans le contexte des réseaux adverses génératifs tels que décrits précédemment.There is a flowchart representing an example of a training method for structure 1 of artificial neural networks. This method aims to allow the training of the structure 1 of artificial neural networks before it is used, for example in the context of generative adversarial networks as described previously.

D’une manière générale, ce procédé d’entraînement repose sur l’utilisation de données de référence x. Ces données de référence x sont par exemple ici des images. En variante, les données de référence peuvent être des données audio ou des données de texte (comme des mots ou des portions de phrase).Generally speaking, this training method is based on the use of reference data x. These reference data x are for example images here. Alternatively, the reference data may be audio data or text data (such as words or sentence portions).

Ici, on considère que, de manière préalable à la mise en œuvre du procédé, on dispose d’une pluralité d’images x. On utilise ici la notation suivante x = (x1, …, xn) pour illustrer cette pluralité de données de référence, avec n un nombre entier.Here, we consider that, prior to implementing the method, we have a plurality of images x. We use here the following notation x = (x 1 , …, x n ) to illustrate this plurality of reference data, with n an integer.

Par exemple, au moins 8 images x sont utilisées dans le procédé d’entraînement conforme à l’invention (donc n=8). Dans une application particulière de reconnaissance faciale, ces images représentent par exemple des visages de personnes.For example, at least 8 images x are used in the training method according to the invention (so n=8). In a particular facial recognition application, these images represent, for example, people's faces.

Comme le montre la , le procédé débute par une étape E0 préliminaire de regroupement des données de référence x. Cette étape E0 préliminaire vise à regrouper les données de références x, en différents groupes, sur la base de similarités partagées entre ces données de référence x. Ces différents groupes des données de référence x sont par exemple disjoints, de manière à former un partitionnement de ces données de référence.As shown in the , the process begins with a preliminary step E0 of grouping the reference data x. This preliminary step E0 aims to group the reference data x, into different groups, on the basis of similarities shared between these reference data x. These different groups of reference data x are for example disjoint, so as to form a partitioning of these reference data.

Par exemple, dans le cas de données de référence correspondant à des images représentant des visages de personnes, on cherchera à regrouper, en un premier groupe, les personnes aux cheveux longs qui sourient, en un autre groupe, les personnes aux cheveux courts qui sourient, etc.For example, in the case of reference data corresponding to images representing people's faces, we will seek to group, in a first group, people with long hair who smile, in another group, people with short hair who smile , etc.

En pratique, l’étape E0 comprend la détermination d’un estimateur de regroupement des données de référence x. De manière générale, cet estimateur de regroupement est défini à partir de paramètres de pondération qui sont ajustables pour mettre en œuvre ce regroupement. En pratique, cet estimateur de regroupement correspond par exemple au processeur 34 qui met en œuvre les étapes de regroupement telles que décrites ci-après pour former les groupes de données de référence.In practice, step E0 includes the determination of a grouping estimator of the reference data x. Generally speaking, this grouping estimator is defined using weighting parameters which are adjustable to implement this grouping. In practice, this grouping estimator corresponds for example to the processor 34 which implements the grouping steps as described below to form the reference data groups.

Plus particulièrement, afin de réaliser le regroupement des données de référence x, l’estimateur de regroupement met 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 de l’estimateur. Cette fonction de vraisemblance se présente par exemple sous la forme d’une probabilité ou d’une distance.More particularly, in order to carry out the grouping of the reference data x, the grouping estimator implements an optimization of a likelihood function depending on the reference data and the weighting parameters of the estimator. This likelihood function is presented for example in the form of a probability or a distance.

En d’autres termes, la détermination des différents groupes des données de référence x est mise en œuvre par optimisation d’une fonction de vraisemblance tenant compte des données de référence elles-mêmes et de paramètres de pondération permettant d’ajuster au mieux ce regroupement.In other words, the determination of the different groups of reference data x is implemented by optimization of a likelihood function taking into account the reference data themselves and weighting parameters making it possible to best adjust this grouping. .

On décrit ci-dessous deux modes de réalisation envisageables pour mettre en œuvre ce regroupement.Two possible embodiments are described below for implementing this grouping.

Un premier mode de réalisation repose sur le principe d’un modèle de mélange gaussien (ou GMM pour « Gaussian Mixture Model »). Plus de détails sur ce modèle peuvent par exemple être trouvés dans l’article de McLachlan, G. J., & Basford, K. E., «Mixture models : Inference and applications to clustering», Vol. 38, New York: M. Dekke, 1988.A first embodiment is based on the principle of a Gaussian Mixture Model (or GMM). More details on this model can for example be found in the article by McLachlan, GJ, & Basford, KE, “ Mixture models : Inference and applications to clustering ”, Vol. 38, New York: M. Dekke, 1988.

Selon ce premier mode de réalisation, afin de regrouper les données de référence en plusieurs groupes, on considère, dans ce premier mode de réalisation, que les données de référence x se répartissent selon plusieurs distributions normales des données de référence, chaque distribution normale correspondant à un groupe de données de référence.According to this first embodiment, in order to group the reference data into several groups, it is considered, in this first embodiment, that the reference data x are distributed according to several normal distributions of the reference data, each normal distribution corresponding to a group of reference data.

Plus précisément, on définit, selon ce premier mode de réalisation, une probabilitép data (x)dépendant des données de référence x et modélisant la distribution correspondant aux données de référence x comme une somme pondérée de K distributions normales, K étant un nombre entier correspondant au nombre de groupes des données de référence x. Cette probabilitép data (x)est donnée par l’expression suivante :More precisely, according to this first embodiment, we define a probability p data (x) depending on the reference data x and modeling the distribution corresponding to the reference data x as a weighted sum of K normal distributions, K being an integer corresponding to the number of groups of reference data x. This probability p data (x) is given by the following expression:

avecwith

et x les données de référence, μket Σkrespectivement la moyenne et la covariance associée à chaque distribution normale k et αkune constante représentant le poids associé à la distribution normale concernée.and x the reference data, μ k and Σ k respectively the mean and the covariance associated with each normal distribution k and α k a constant representing the weight associated with the normal distribution concerned.

Dans ce cas, la fonction de vraisemblance s’écrit sous la forme suivante :In this case, the likelihood function is written in the following form:

avec ψ l’ensemble de paramètres suivants ψ={(αk, μk, Σk)}k=1..Kà optimiser et x1, …, xnles différentes données de références. Dans ce premier mode de réalisation les paramètres ψ={(αk, μk, Σk)}k=1..Kcorrespondent aux paramètres de l’estimateur de regroupement tels qu’introduits précédemment.with ψ the following set of parameters ψ={(α k , μ k , Σ k )} k=1..K to optimize and x 1 , …, x n the different reference data. In this first embodiment the parameters ψ={(α k , μ k , Σ k )} k=1..K correspond to the parameters of the grouping estimator as introduced previously.

L’optimisation de cette fonction de vraisemblance est ici une maximisation. En d’autres termes, les groupes de données de référence x sont obtenus en déterminant les paramètres ψ* qui maximisent la fonction de vraisemblance introduite.The optimization of this likelihood function is here a maximization. In other words, the reference data groups x are obtained by determining the parameters ψ* which maximize the introduced likelihood function.

En pratique, on introduit la fonctionlsuivante, dérivée de la fonction de vraisemblance de l’équation [Math. 3] par application de la fonction logarithme décimal (notée log) à cette équation [Math. 3] :In practice, we introduce the following function l , derived from the likelihood function of the equation [Math. 3] by application of the decimal logarithm function (noted log) to this equation [Math. 3]:

Ainsi, la détermination des paramètres ψ* est obtenue par maximisation de cette fonction l(ψ|x1, .., xn) :Thus, the determination of the parameters ψ* is obtained by maximizing this function l(ψ|x 1 , .., x n ):

En pratique, la détermination des paramètres ψ* est mise en œuvre de manière itérative grâce à un algorithme de maximum de vraisemblance. Cet algorithme repose sur l’itération des deux étapes suivantes : une étape de détermination de la probabilité à partir des paramètres ψ obtenus à l’itération précédente et une étape de maximisation de la fonction de vraisemblance en tenant compte de la probabilité déterminée. Ainsi, à l’issue de chaque itération, les paramètres ψ sont actualisés.In practice, the determination of the parameters ψ* is implemented iteratively using a maximum likelihood algorithm. This algorithm is based on the iteration of the following two steps: a step of determining the probability from the parameters ψ obtained in the previous iteration and a step of maximizing the likelihood function taking into account the determined probability. Thus, at the end of each iteration, the parameters ψ are updated.

Finalement, selon ce premier mode de réalisation, le processeur 34 détermine les paramètres ψ={(αk, μk, Σk)}k=1..Kpermettant de maximiser la probabilité associée. Chaque donnée de référence xiest alors associée au groupe qui maximise la probabilité cisuivante, à partir des paramètres ψ déterminés :Finally, according to this first embodiment, the processor 34 determines the parameters ψ={(α k , μ k , Σ k )} k=1..K making it possible to maximize the associated probability. Each reference data x i is then associated with the group which maximizes the following probability c i , from the parameters ψ determined:

Un deuxième mode de réalisation de mise en œuvre du regroupement des données de référence repose sur la méthode de partitionnement de données en k-moyennes (ou «K - means» selon l’appellation d’origine anglo-saxonne). De manière générale, cette méthode vise à regrouper les données de référence selon k groupes de manière à minimiser, pour chaque groupe, une distance entre une donnée de référence et la moyenne des données de référence appartenant à ce groupe.A second embodiment of implementing the grouping of reference data is based on the method of partitioning data into k-means (or “ K - means ” according to the Anglo-Saxon designation of origin). Generally speaking, this method aims to group the reference data according to k groups so as to minimize, for each group, a distance between a reference data and the average of the reference data belonging to this group.

Ici, les données de référence x sont considérées comme étant une distribution de moyenne μk.Here, the reference data x is considered to be a distribution with mean μ k .

Cette méthode est itérative. A chaque itération, le processeur 34 définit une donnée centrale o1, ..., oKassociée à chaque donnée de référence x1, …, xn. Puis, chaque donnée centrale est actualisée en déterminant une fonction de coûtLcaractérisant la qualité du regroupement effectué. Cette fonction de coûtLest définie par l’expression suivante :This method is iterative. At each iteration, the processor 34 defines a central data item o 1 , ..., o K associated with each reference data item x 1 , …, x n . Then, each central data item is updated by determining a cost function L characterizing the quality of the grouping carried out. This cost function L is defined by the following expression:

avec ωikdes paramètres représentant des noyaux de regroupement (représentatifs de chaque regroupement mis en œuvre) et la notation ||…||2 2correspondant à la distance euclidienne.with ω ik parameters representing grouping kernels (representative of each grouping implemented) and the notation ||…|| 2 2 corresponding to the Euclidean distance.

Les paramètres ωikprennent ici la valeur 1 si la donnée de référence xiconcernée appartient effectivement au groupe k. Sinon, leur valeur est fixée à 0.The parameters ω ik here take the value 1 if the reference data x i concerned actually belongs to group k. Otherwise, their value is set to 0.

Dans ce mode de réalisation, le processeur 34 optimise les paramètres ψ={μk}k =1..K.In this embodiment, the processor 34 optimizes the parameters ψ={μ k } k =1..K .

Selon ce deuxième mode de réalisation, chaque donnée centrale o1, ..., oKest actualisée de manière itérative en minimisant la fonction de coûtL. A l’issue de chaque itération, la moyenne μkassociée à chaque donnée de référence xiest ainsi actualisée.According to this second embodiment, each central data o 1 , ..., o K is updated iteratively by minimizing the cost function L. At the end of each iteration, the average μ k associated with each reference data x i is thus updated.

Une fois que la fonction de coûtLatteint sa valeur de convergence, chaque donnée de référence xiest associée à la donnée centrale correspondante minimisant la distance euclidienne entre la donnée de référence xiconcernée et la donnée centrale associée. En d’autres termes, le processeur 34 détermine le groupe de données de référence vérifiant l’égalité suivante :Once the cost function L reaches its convergence value, each reference datum x i is associated with the corresponding central datum minimizing the Euclidean distance between the reference datum x i concerned and the associated central datum. In other words, the processor 34 determines the group of reference data verifying the following equality:

avec la notation ||…||2 2correspondant à la distance euclidienne.with the notation ||…|| 2 2 corresponding to the Euclidean distance.

Quelle que soit la méthode utilisée, à l’issue de l’étape E0, les données de référence x sont regroupées selon K groupes déterminés à partir des méthodes décrites précédemment. De manière avantageuse selon l’invention, grâce aux méthodes utilisées, cette étape E0 permet un regroupement précis des données de référence.Whatever the method used, at the end of step E0, the reference data x are grouped according to K groups determined from the methods described previously. Advantageously according to the invention, thanks to the methods used, this step E0 allows precise grouping of the reference data.

Comme le montre la , le procédé se poursuit à l’étape E2. Lors de cette étape, le processeur 34 utilise les groupes déterminés à l’étape E0, et les données de classification c associées à chaque groupe pour attribuer, à chacune des données de références xi, la donnée de classification ci correspondante.As shown in the , the process continues in step E2. During this step, the processor 34 uses the groups determined in step E0, and the classification data c associated with each group to assign reference data x to eachi, the classification data ci corresponding.

Ces données de classification c sont directement dérivées des données de référence x (et de leur regroupement). Les données de classification c sont donc des données inférées des données de référence. Chaque donnée de classification ciest obtenue à l’issue de l’optimisation de la fonction de vraisemblance décrite précédemment.These classification data c are directly derived from the reference data x (and their grouping). The classification data c are therefore data inferred from the reference data. Each classification data c i is obtained following the optimization of the likelihood function described previously.

En d’autres termes ici, chaque donnée de classification ciest représentative du groupe k de données de référence déterminé.In other words here, each classification data c i is representative of the determined group k of reference data.

Chaque donnée de classification est ici un nombre entier compris entre 1 et K, K étant le nombre de groupes de données de référence déterminés à l’étape E0.Each classification data here is an integer between 1 and K, K being the number of reference data groups determined in step E0.

Le procédé se poursuit ensuite à l’étape E4 lors de laquelle le processeur 34 fournit en entrée, du réseau générateur 10, des données initiales z et les données de classification c déterminées à l’étape E2. On utilise ici la notation suivante z = (z1, …, zn) pour illustrer la pluralité de données initiales, avec n un nombre entier.The process then continues in step E4 during which the processor 34 provides as input, from the generator network 10, initial data z and the classification data c determined in step E2. We use here the following notation z = (z 1 , …, z n ) to illustrate the plurality of initial data, with n an integer.

Ici, la donnée de classification ciest celle associée à une donnée de référence xiqui sera fournie au réseau discriminateur (20), à l’étape E6 décrite ci-après, en même temps que la donnée générée G(zi|ci) à partir d’une donnée initiale ziet correspondant à cette même donnée de classification ci.Here, the classification data c i is that associated with reference data x i which will be supplied to the discriminator network (20), in step E6 described below, at the same time as the generated data G(z i | c i ) from an initial data z i and corresponding to this same classification data c i .

Les données initiales z sont ici des données aléatoires. Dans l’exemple mentionné précédemment, les données initiales z sont par exemple représentées sous la forme d’un vecteur dont les composantes sont générées de manière aléatoire préalablement à la mise en œuvre du procédé.The initial data z is here random data. In the example mentioned above, the initial data z are for example represented in the form of a vector whose components are generated randomly before implementing the method.

Par exemple ici, les données initiales z sont des données aléatoires distribuées selon une loi normale centrée (i.e. de moyenne nulle) et réduite (i.e. de variance égale à 1).For example here, the initial data z are random data distributed according to a centered (i.e. zero mean) and reduced normal distribution (i.e. variance equal to 1).

A partir de ces données initiales z et des données de classification c, le réseau générateur 10 fournit, en sortie, des données générées G(zi|ci) ( ). Ces données générées G(zi|ci) sont obtenues à partir des données initiales z en tenant compte des données de classification c. En d’autres termes, pour des images, chaque image générée est associée à une condition correspondant à une donnée de classification concernée.From these initial data z and the classification data c, the generator network 10 provides, as output, generated data G(z i |c i ) ( ). These generated data G(z i |c i ) are obtained from the initial data z taking into account the classification data c. In other words, for images, each generated image is associated with a condition corresponding to a classification data concerned.

Ainsi, étant donné le fonctionnement du réseau générateur décrit précédemment, à l’issue de l’étape E4, des données « factices », les données générées G(zi|ci), sont obtenues, en sortie du réseau générateur 10, à partir des données initiales z et des données de classification c utilisées comme conditionnement pour déterminer ces données générées G(zi|ci).Thus, given the operation of the generator network described previously, at the end of step E4, “dummy” data, the generated data G(z i |c i ), are obtained, at the output of the generator network 10, from the initial data z and the classification data c used as conditioning to determine these generated data G(z i |c i ).

Le procédé se poursuit ensuite à l’étape E6. Lors de cette étape, le processeur 34 fournit, en entrée du réseau discriminateur 20, les données de référence x, les données de classification c et les données générées G(zi|ci). En d’autres termes, en entrée du réseau discriminateur 20, le processeur 34 fournit des images réelles, les données de référence x, associées à leurs données de classifications c, et des images factices, les données générées G(zi|ci), associées aux mêmes données de classification c.The process then continues in step E6. During this step, the processor 34 provides, as input to the discriminator network 20, the reference data x, the classification data c and the generated data G(z i |c i ). In other words, at the input of the discriminator network 20, the processor 34 provides real images, the reference data x, associated with their classification data c, and dummy images, the generated data G(z i |c i ), associated with the same classification data c.

Toutes les données de référence et les données générées sont analysées par le réseau discriminateur 20. En pratique ici, les données de référence et les données générées sont traitées sous forme d’ensembles de données (ou « batch » selon l’appellation d’origine anglo-saxonne). Dans ces ensembles de données, chaque donnée de référence xiest associée à la donnée de classification cicorrespondante et chaque donnée générée G(zi|ci) est également associée à la donnée de classification correspondante.All the reference data and the generated data are analyzed by the discriminator network 20. In practice here, the reference data and the generated data are processed in the form of sets of data (or “batch” according to the name of origin Anglo-Saxon). In these data sets, each reference data x i is associated with the corresponding classification data c i and each generated data G(z i |c i ) is also associated with the corresponding classification data.

Chaque ensemble de données comprend par exemple ici 16 images qui pourront être traitées simultanément.Each data set includes, for example, 16 images which can be processed simultaneously.

En pratique, l’étape E6 est mise en œuvre par ensemble de données. Le processeur 34 l’exécute donc autant de fois qu’il y a d’ensembles de données. En d’autres termes, l’étape E6 est itérée autant de fois qu’il y a d’ensembles de données.In practice, step E6 is implemented per data set. The processor 34 therefore executes it as many times as there are sets of data. In other words, step E6 is iterated as many times as there are data sets.

Pour chaque donnée reçue par le réseau discriminateur 20 parmi les données de référence x et les données générées G(zi|ci), le réseau discriminateur 20 fournit, en sortie, une donnée de contrôle m ( ).For each data received by the discriminator network 20 among the reference data x and the generated data G(z i |c i ), the discriminator network 20 provides, at output, a control data m ( ).

Chaque donnée de contrôle est par exemple comprise entre une première valeur m1et une deuxième valeur m2. La deuxième valeur m2est distincte de la première valeur m1. Par exemple, elle est comprise entre 0 (la deuxième valeur) et 1 (la première valeur). En pratique, cela signifie que, pour les données réelles, le réseau discriminateur 20 obtient D(xi|ci) = 1 et, pour les données factices, il obtient D(G(zi|ci)|ci) = 0.Each control data is for example between a first value m 1 and a second value m 2 . The second value m 2 is distinct from the first value m 1 . For example, it is between 0 (the second value) and 1 (the first value). In practice, this means that, for real data, the discriminator network 20 obtains D(x i |c i ) = 1 and, for fake data, it obtains D(G(z i |c i )|c i ) = 0.

Le procédé se poursuit ensuite à l’étape E8. Lors de cette étape, le processeur 34 analyse chaque donnée de contrôle m obtenue pour chacune donnée xides données de référence x et des données générées G(zi|ci). Plus particulièrement, cette étape vise à s’assurer que le réseau discriminateur 20 effectue convenablement sa fonction lui permettant de faire la distinction entre une donnée factice et une donnée réelle.The process then continues in step E8. During this step, the processor 34 analyzes each control data m obtained for each data x i of the reference data x and the generated data G(z i |c i ). More particularly, this step aims to ensure that the discriminator network 20 properly performs its function allowing it to distinguish between fake data and real data.

En pratique, l’étape E8 est mise en œuvre par ensemble de données. Le processeur 34 l’exécute donc autant de fois qu’il y a d’ensembles de données. En d’autres termes, l’étape E8 est itérée autant de fois qu’il y a d’ensemble de données.In practice, step E8 is implemented per data set. The processor 34 therefore executes it as many times as there are sets of data. In other words, step E8 is iterated as many times as there are sets of data.

Lors de cette étape E8, pour une donnée de référence xi, donc une donnée réelle, il est attendue que la donnée de contrôle m converge vers la première valeur m1. A l’inverse, pour une donnée générée, donc factice, il est attendu que la donnée de contrôle converge vers la deuxième valeur m2.During this step E8, for reference data x i , therefore real data, it is expected that the control data m converges towards the first value m 1 . Conversely, for generated data, therefore artificial, it is expected that the control data converges towards the second value m 2 .

L’entraînement de la structure 1 de réseaux de neurones artificiels vise donc à s’assurer que ces deux caractéristiques sont vérifiées.The training of structure 1 of artificial neural networks therefore aims to ensure that these two characteristics are verified.

Ainsi, lors de l’étape E8, le processeur 34 met en œuvre une 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 chaque donnée de contrôle m obtenue pour une donnée de référence x converge vers la première valeur m1et que chaque donnée de contrôle m obtenue pour une donnée générée G(zi|ci) converge vers la deuxième valeur m2.Thus, during step E8, the processor 34 implements an update of the parameters of the generator network 10 and the parameters of the discriminator network 20 so that each control data m obtained for a reference data x converges towards the first value m 1 and that each control data m obtained for a generated data G(z i |c i ) converges towards the second value m 2 .

En particulier, le processeur 34 détermine ici des coefficients de pondération des nœuds du réseau générateur 10 et des coefficients de pondération des nœuds du réseau discriminateur 20 permettant d’obtenir une convergence convenable des données de contrôle en fonction de la donnée concernée (parmi les données de référence x et les données générées G(zi|ci)). Une telle méthode de convergence est par exemple dans l’article de Kingma, D. P., & Ba, J., « Adam: A method for stochastic optimization », arXiv preprint arXiv:1412.6980, 2014.In particular, the processor 34 here determines weighting coefficients of the nodes of the generator network 10 and weighting coefficients of the nodes of the discriminator network 20 making it possible to obtain suitable convergence of the control data as a function of the data concerned (among the data reference x and the generated data G(z i |c i )). Such a convergence method is for example in the article by Kingma, DP, & Ba, J., “Adam: A method for stochastic optimization”, arXiv preprint arXiv:1412.6980, 2014.

Comme le montre la , le procédé reprend ensuite à l’étape E4.As shown in the , the process then resumes at step E4.

Le cycle d’étapes E4 à E8 est ici au moins répété deux fois. Chaque cycle permet le balayage de l’ensemble des données de référence x et des données générées G(zi|ci). Comme les données sont organisées sous forme d’ensembles de données, chaque cycle présente un certain nombre d’itérations des étapes E6 et E8, de manière à balayer, lors de chaque cycle, tous les ensembles de données.The cycle of steps E4 to E8 is repeated here at least twice. Each cycle allows the scanning of all the reference data x and the generated data G(z i |c i ). As the data is organized in the form of data sets, each cycle presents a certain number of iterations of steps E6 and E8, so as to scan, during each cycle, all the data sets.

De manière avantageuse selon l’invention, ce sont toujours les mêmes données de classification, déterminées au début de la mise en œuvre du procédé (étapes E0 et E2), qui sont utilisées à chaque cycle.Advantageously according to the invention, it is always the same classification data, determined at the start of the implementation of the method (steps E0 and E2), which are used at each cycle.

Il est par exemple ici prévu la mise en œuvre d’au moins 100 cycles des étapes E4 à E8 pour l’entraînement de la structure 1 de réseaux de neurones artificiels. Tous ces cycles répétés utilisent donc les mêmes données de classification déterminées à partir des étapes E0 et E2 décrites précédemment (donc en amont de la mise en œuvre des différents cycles).For example, it is planned here to implement at least 100 cycles of steps E4 to E8 for training structure 1 of artificial neural networks. All these repeated cycles therefore use the same classification data determined from steps E0 and E2 described previously (therefore upstream of the implementation of the different cycles).

La présente invention présente une application particulièrement avantageuse dans le cadre de la reconnaissance faciale. En particulier, elle permet d’entraîner de manière judicieuse la structure de réseaux de neurones artificiels afin de s’assurer que les images factices soient identifiées à chaque fois, notamment dans le cadre d’attaques dites du « loup » capables de générer des images synthétiques pouvant correspondre à un grand nombre d’utilisateurs. Le procédé d’entraînement selon l’invention permet alors de renforcer le processus de reconnaissance faciale.The present invention presents a particularly advantageous application in the context of facial recognition. In particular, it makes it possible to judiciously train the structure of artificial neural networks in order to ensure that fake images are identified each time, particularly in the context of so-called "wolf" attacks capable of generating images synthetics that can correspond to a large number of users. The training method according to the invention then makes it possible to strengthen the facial recognition process.

Claims (10)

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 (ci) é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(zi|ci)),
- 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(zi|ci)) 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(zi|ci)), 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(zi|ci)) convergent vers une seconde valeur distincte de la première valeur.
Method for training a structure (1) of artificial neural networks by means of reference images (x), said structure (1) comprising a generator network (10) and a discriminator network (20), the method comprising a preliminary step (E0) of grouping the reference images (x) into groups of reference images in order to determine classification data (c) respectively associated with the reference images (x), each classification data (c i ) being representative of the group of reference images (x) to which the reference image concerned belongs, the method comprising at least two cycles of the following steps:
- supply (E4), at the input of the generator network (10), of initial images (z) and classification data (c) determined so as to obtain, at the output of the generator network (10), generated images (G (z i |c i )),
- supply (E6), at the input of the discriminator network (20), reference images (x), classification data (c) and generated images (G(z i |c i )) so as to obtain, in output of the discriminator network (20), for each image received by the discriminator network (20) among the reference images (x) and the generated images (G(z i |c i )), a control data (m), And
- updating (E8) of the parameters of the generator network (10) and the parameters of the discriminator network (20), so that the control data (m) obtained for the reference images (x) converge towards a first value and that the control data (m) obtained for the generated images (G(z i |c i )) converge towards a second value distinct from the first value.
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.Method according to claim 1, in which the preliminary step (E0) of grouping the reference images (x) comprises determining an estimator for grouping said reference images (x), said estimator being defined from parameters of weighting, said estimator implementing an optimization of a likelihood function depending on the reference images (x) and the weighting parameters of said estimator. 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).Method according to claim 2, in which the grouping estimator implements a maximization of probabilities associated with the reference images (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.Method according to claim 2, in which the grouping estimator implements a minimization of a distance between each reference image and a central piece of data. 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.Method according to any one of claims 1 to 4, in which at least 100 cycles of the steps of supply (E4) at the input of the generator network (10), supply (E6) at the input of the discriminator network (20) are provided. and updating (E8) using the classification data (c) determined. 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(zi|ci)) 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.Method according to any one of claims 1 to 5, in which, in the step of supplying (E6) at the input of the discriminator network (20), provision is made for the supply of reference images (x) and generated images ( G(z i |c i )) in the form of sets of images, the supply step (E6) as input to the discriminator network (20) being repeated as many times as the number of sets of 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).Method according to any one of claims 1 to 6, wherein the classification data (c) are integers, each integer being associated with a group of reference images (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).Method according to any one of claims 1 to 7, in which at least 8 reference images (x) are provided. 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 (ci) é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(zi|ci)),
- 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(zi|ci)) 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(zi|ci)), 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(zi|ci)) 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(zi|ci)) au réseau discriminateur (20), et une activation du module de mise à jour.
Device for training (30) a structure (1) of artificial neural networks by means of reference images (x), said structure (1) comprising a generator network (10) and a discriminator network (20), the device (30) comprising:
- a grouping module configured to group the reference images (x) into groups of reference images (x) in order to determine classification data (c) respectively associated with the reference images (x), each classification data ( c i ) being representative of the group of reference images (x) to which the reference image concerned belongs,
- the generator network (10) being configured to receive, as input, initial images (z) and the classification data (c) and to provide, as output, generated images (G(z i |c i )),
- the discriminator network (20) being configured to receive, as input, the reference images (x), the classification data (c) and the generated images (G(z i |c i )) and to provide, as output , for each image received by the discriminator network (20) among the reference images (x) and the generated images (G(z i |c i )), a control data (m),
- a module for updating the parameters of the generator network (10) and the parameters of the discriminator network (20), so that the control data (m) obtained for the reference images (x) converge towards a first value and that the control data (m) obtained for the generated images (G(z i |c i )) converge towards a second value distinct from the first value, and
- a control unit (32) configured to activate the grouping module during a preliminary step and to implement at least two cycles each comprising the application of the reference images (x) and the classification data (c) to the generator network (10), applying the reference images (x), the classification data (c) and the generated images (G(z i |c i )) to the discriminator network (20), and activating the update module.
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).
Computer program comprising instructions executable by a processor (34) and designed to implement a method according to one of claims 1 to 8 when these instructions are executed by the processor (34).
FR2202665A 2022-03-25 2022-03-25 Method and device for training an artificial neuron structure and associated computer program Pending FR3133937A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2202665A FR3133937A1 (en) 2022-03-25 2022-03-25 Method and device for training an artificial neuron structure and associated computer program
PCT/EP2023/057097 WO2023180257A1 (en) 2022-03-25 2023-03-20 Method and device for training an artificial neural structure, and associated computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2202665 2022-03-25
FR2202665A FR3133937A1 (en) 2022-03-25 2022-03-25 Method and device for training an artificial neuron structure and associated computer program

Publications (1)

Publication Number Publication Date
FR3133937A1 true FR3133937A1 (en) 2023-09-29

Family

ID=83188135

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2202665A Pending FR3133937A1 (en) 2022-03-25 2022-03-25 Method and device for training an artificial neuron structure and associated computer program

Country Status (2)

Country Link
FR (1) FR3133937A1 (en)
WO (1) WO2023180257A1 (en)

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
HE JIANGPENG ET AL: "Unsupervised Continual Learning via Pseudo Labels", 19 August 2021, PATTERN RECOGNITION : 5TH ASIAN CONFERENCE, ACPR 2019, AUCKLAND, NEW ZEALAND, NOVEMBER 26-29, 2019, REVISED SELECTED PAPERS, PART II; [LECTURE NOTES IN COMPUTER SCIENCE], PAGE(S) 15 - 32, ISBN: 978-3-030-41298-2, ISSN: 0302-9743, XP047634780 *
MCLACHLAN, G. J.BASFORD, K. E., MIXTURE MODELS: INFERENCE AND APPLICATIONS TO CLUSTERING, vol. 38
ODENA AUGUSTUS ET AL: "Conditional Image Synthesis with Auxiliary Classifier GANs", PROCEEDINGS OF THE 34TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING, 1 January 2017 (2017-01-01), pages 2642 - 2651, XP055936569, Retrieved from the Internet <URL:https://dl.acm.org/doi/10.5555/3305890.3305954> [retrieved on 20220629] *
STEVEN LIU ET AL.: "Diverse Image Génération via Self-Conditioned GANs", CONFÉRENCE ON COMPUTER VISION AND PATTERN RÉCOGNITION, pages 14286 - 14295
STEVEN LIU ET AL: "Diverse Image Generation via Self-Conditioned GANs", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 18 June 2020 (2020-06-18), XP081698762 *
YUKI HAGIWARA ET AL: "YuruGAN: Yuru-Chara Mascot Generator Using Generative Adversarial Networks With Clustering Small Dataset", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 17 April 2020 (2020-04-17), XP081646731 *

Also Published As

Publication number Publication date
WO2023180257A1 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
Lin et al. Ensemble distillation for robust model fusion in federated learning
EP3301617B1 (en) Methods for secure learning of parameters of a convolutional neural network, and secure classification of input data
FR2884007A1 (en) FACIAL IDENTIFICATION METHOD FROM FACE IMAGES, CORRESPONDING COMPUTER DEVICE AND PROGRAM
FR3087558A1 (en) METHOD FOR EXTRACTING CHARACTERISTICS OF A FINGERPRINT REPRESENTED BY AN INPUT IMAGE
Chen et al. Coupled end-to-end transfer learning with generalized fisher information
CN109920021A (en) A kind of human face sketch synthetic method based on regularization width learning network
US10832036B2 (en) Meta-learning for facial recognition
WO2020217005A1 (en) Method and system for confidential classification of data
EP0449353B1 (en) Information processing device and method to select words contained in a dictionary
EP4238073A1 (en) Human characteristic normalization with an autoencoder
FR2658336A1 (en) METHOD OF LEARNING A NETWORK OF NEURONS IN LAYERS FOR MULTICLASS CLASSIFICATION AND NETWORK OF NEURONS IN LAYERS.
FR3133937A1 (en) Method and device for training an artificial neuron structure and associated computer program
Patil et al. Deep hyperparameter transfer learning for diabetic retinopathy classification
EP2804129A1 (en) Visual speech-recognition method with selection of the most relevant groups of points of interest
EP4099228A1 (en) Automatic learning without annotation improved by adaptive groupings in open assembly of classes
WO2021234252A1 (en) Method for secure use of a first neural network on an input datum and method for training parameters of a second neural network
US20220101145A1 (en) Training energy-based variational autoencoders
FR3131413A1 (en) Neural network with on-the-fly generation of network parameters
EP3502904B1 (en) Method for improving the execution time of a computer application
EP3966739A1 (en) Automatic image analysis method for automatically recognising at least one rare characteristic
Arlot Contributions to statistical learning theory: estimator selection and change-point detection
US20240161245A1 (en) Image optimization
WO2024003016A1 (en) Method and device for estimating the authenticity of audio or video content and associated computer program
EP4207077A1 (en) Correction of artefacts in tomographic reconstructions by neural networks
EP0619558B1 (en) Method and apparatus for classifying signal configurations

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20230929

PLFP Fee payment

Year of fee payment: 3