FR3080932A1 - AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS - Google Patents

AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS Download PDF

Info

Publication number
FR3080932A1
FR3080932A1 FR1853791A FR1853791A FR3080932A1 FR 3080932 A1 FR3080932 A1 FR 3080932A1 FR 1853791 A FR1853791 A FR 1853791A FR 1853791 A FR1853791 A FR 1853791A FR 3080932 A1 FR3080932 A1 FR 3080932A1
Authority
FR
France
Prior art keywords
parameter
values
interval
learning
neural 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
FR1853791A
Other languages
French (fr)
Inventor
Benoit Schmauch
Jeremie Abiteboul
Nicolas Meric
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.)
Dreamquark Sas
Original Assignee
Dreamquark Sas
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 Dreamquark Sas filed Critical Dreamquark Sas
Priority to FR1853791A priority Critical patent/FR3080932A1/en
Priority to PCT/EP2019/061225 priority patent/WO2019211367A1/en
Publication of FR3080932A1 publication Critical patent/FR3080932A1/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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Un aspect de l'invention concerne un procédé de génération automatique d'un réseau de neurones artificiels, le réseau de neurones artificiels ayant un paramètre de régularisation, un paramètre d'apprentissage, un paramètre de profondeur et un paramètre de largeur, le paramètre de profondeur pouvant être choisi parmi un intervalle de valeurs du paramètre de profondeur, le paramètre de largeur pouvant être choisi parmi un intervalle de valeurs du paramètre de largeur et le paramètre d'apprentissage pouvant être choisi parmi un intervalle de valeurs du paramètre d'apprentissage, le procédé étant caractérisé en ce qu'il comporte : - une étape de restriction de l'intervalle de valeurs du paramètre d'apprentissage ; - une étape de définition d'un intervalle de valeurs du paramètre de régularisation ; - une étape de génération, d'entraînement et de test, d'une pluralité de réseaux de neurones artificiels, en faisant varier la valeur de chaque paramètre dans l'intervalle de valeurs correspondant ; - une étape de sélection d'un réseau de neurones artificiels.One aspect of the invention relates to a method for automatically generating an artificial neural network, the artificial neural network having a regularization parameter, a learning parameter, a depth parameter and a width parameter, the parameter of depth being selectable from a range of values of the depth parameter, the width parameter being selectable from a range of values of the width parameter and the learning parameter being selectable from a range of values of the learning parameter, the method being characterized in that it comprises: - a step of restricting the interval of values of the learning parameter; a step of defining an interval of values of the regularization parameter; a step of generating, training and testing a plurality of artificial neural networks, by varying the value of each parameter in the corresponding range of values; a step of selecting an artificial neural network.

Description

PROCEDE DE GENERATION AUTOMATIQUE DE RESEAUX DE NEURONES ARTIFICIELSMETHOD FOR AUTOMATIC GENERATION OF ARTIFICIAL NEURON NETWORKS

DOMAINE TECHNIQUE DE L’INVENTIONTECHNICAL FIELD OF THE INVENTION

Le domaine technique de l’invention est celui des réseaux de neurones artificiels et plus particulièrement celui des réseaux de neurones artificiels dont l’apprentissage est supervisé.The technical field of the invention is that of artificial neural networks and more particularly that of artificial neural networks whose learning is supervised.

La présente invention concerne un procédé de génération de réseaux de neurones artificiels et en particulier un procédé de génération automatique de réseaux de neurones artificiels.The present invention relates to a method for generating artificial neural networks and in particular to a method for automatically generating artificial neural networks.

ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTIONTECHNOLOGICAL BACKGROUND OF THE INVENTION

Le réseau de neurones ou réseau de neurones artificiel constitue le principal outil de l’apprentissage profond ou deep learning qui tente de modéliser des données afin d’être capable par la suite d’effectuer des tâches spécifiques avec de nouvelles données, comme des tâches de classification ou de détection. Pour cela, le réseau de neurones passe par une phase d'entraînement ou phase d’apprentissage pendant laquelle il apprend en parcourant sur plusieurs itérations une base de données d’entraînement puis par une phase de généralisation pendant laquelle il réalise, sur une base de données de généralisation, la tâche pour laquelle il a été entraîné.The neural network or artificial neural network is the main tool for deep learning or deep learning which attempts to model data in order to be able subsequently to perform specific tasks with new data, such as classification or detection. For this, the neural network goes through a training phase or learning phase during which it learns by browsing over several iterations a training database and then through a generalization phase during which it performs, on a basis of generalization data, the task for which he was trained.

Il existe deux types d’apprentissage pour un réseau de neurones artificiel. En apprentissage supervisé, l’apprentissage est contraint par la base de données d’apprentissage. En effet, la base de données d’apprentissage est annotée pour signaler au réseau de neurones les structures qu’il doit repérer. Au contraire, en apprentissage non supervisé, le réseau de neurones trouve lui-même des structures sous-jacentes à partir des données brutes de la base de données d’entraînement. Dans la présente invention, les réseaux de neurones sont entraînés de manière supervisée.There are two types of learning for an artificial neural network. In supervised learning, learning is constrained by the learning database. Indeed, the learning database is annotated to signal to the neural network the structures that it must locate. On the contrary, in unsupervised learning, the neural network itself finds underlying structures from the raw data in the training database. In the present invention, the neural networks are trained in a supervised manner.

Un réseau de neurones est une structure complexe formée d’une pluralité de couches, chaque couche comportant une pluralité de neurones artificiels. Chaque neurone d’une couche est relié à au moins un neurone d’une couche voisine via une synapse artificielle à laquelle est affectée un coefficient synaptique ou poids, mis à jour pendant la phase d’apprentissage. Le nombre de couches et de neurones par couches définissent la capacité du réseau à apprendre, et doivent être adaptés à la complexité du problème traité. Pour des applications classiques, le nombre de couches peut varier d’une à une dizaine, tandis que le nombre de neurones par couche peut varier d’une dizaine à plusieurs milliers.A neural network is a complex structure formed of a plurality of layers, each layer comprising a plurality of artificial neurons. Each neuron of a layer is connected to at least one neuron of a neighboring layer via an artificial synapse to which is assigned a synaptic coefficient or weight, updated during the learning phase. The number of layers and neurons per layer define the network's ability to learn, and must be adapted to the complexity of the problem being addressed. For conventional applications, the number of layers can vary from one to ten, while the number of neurons per layer can vary from ten to several thousand.

Pour une architecture donnée, un paramètre capital pour l’entraînement du réseau est le pas d’apprentissage qui définit la fréquence à laquelle sont mis à jour les coefficients synaptiques. Pour un problème de classification et dans le cadre d’un apprentissage supervisé, à chaque itération de l’entraînement, la classification de chaque donnée par le modèle est comparée à sa classification réelle, et les coefficients synaptiques sont mis à jour de manière à corriger les erreurs. Si le pas d’apprentissage est trop petit, l’apprentissage est très long, ce qui est problématique compte tenu des ressources nécessaires pour entraîner un réseau de neurones. Si le pas d’apprentissage est trop grand, le réseau de neurones ne peut tout simplement pas apprendre.For a given architecture, a crucial parameter for training the network is the learning step which defines the frequency at which the synaptic coefficients are updated. For a classification problem and within the framework of supervised learning, at each iteration of the training, the classification of each data by the model is compared with its real classification, and the synaptic coefficients are updated so as to correct mistakes. If the learning step is too small, learning takes a very long time, which is problematic given the resources required to train a neural network. If the learning step is too large, the neural network simply cannot learn.

Enfin, s’il est souvent avantageux d’utiliser des architectures complexes, les performances de celles-ci peuvent être limitées par le sur-apprentissage : pour un problème de classification, celui-ci se manifeste à travers le fait que le réseau apprend parfaitement à reproduire la classification des données vues pendant l’entraînement, mais échoue à généraliser cette classification à de nouvelles données. Pour limiter ce phénomène tout en bénéficiant des avantages d’une architecture complexe, une technique est la régularisation L2, qui introduit un paramètre ou coefficient de régularisation. Si ce paramètre est trop petit, la régularisation n’empêche pas le sur-apprentissage du réseau, mais s’il est trop grand, le réseau perd en capacité d’apprentissage, ce qui dégrade ses performances.Finally, while it is often advantageous to use complex architectures, their performance can be limited by over-learning: for a classification problem, this manifests itself through the fact that the network learns perfectly to reproduce the classification of data seen during training, but fails to generalize this classification to new data. To limit this phenomenon while benefiting from the advantages of a complex architecture, a technique is the L2 regularization, which introduces a parameter or coefficient of regularization. If this parameter is too small, the regularization does not prevent over-learning of the network, but if it is too large, the network loses learning capacity, which degrades its performance.

Un réseau de neurones artificiel est donc défini par des paramètres qui décrivent son architecture, comme son nombre de couches ou encore son nombre de neurones par couche, et par des paramètres qui décrivent son processus d’entraînement, comme le pas d’apprentissage ou encore le coefficient de régularisation.An artificial neural network is therefore defined by parameters which describe its architecture, such as its number of layers or even its number of neurons per layer, and by parameters which describe its training process, such as the learning step or even the adjustment coefficient.

En général, ces paramètres sont fixés via un choix humain qui repose sur l’intuition, mais ceci est incompatible avec une utilisation par des utilisateurs non experts en apprentissage automatique et désireux d’appliquer cette technique en réponse à des problématiques métiers sur leurs données.In general, these parameters are set via human choice based on intuition, but this is incompatible with use by users who are not experts in machine learning and who want to apply this technique in response to business problems with their data.

Une autre approche consiste à tester systématiquement différentes valeurs possibles de ces paramètres, soit de manière aléatoire, soit en définissant une grille de recherche. Cependant, une telle approche est coûteuse en temps et ne garantit pas d’obtenir des résultats satisfaisants.Another approach consists in systematically testing different possible values of these parameters, either randomly or by defining a search grid. However, such an approach is time-consuming and does not guarantee satisfactory results.

Il existe donc un besoin pour un utilisateur néophyte en apprentissage automatique de générer un réseau de neurones adapté à une tâche donnée, c’està-dire donnant des résultats satisfaisants pour la tâche pour laquelle il a été entraîné.There is therefore a need for a novice user in automatic learning to generate a neural network adapted to a given task, that is to say giving satisfactory results for the task for which he has been trained.

RESUME DE L’INVENTIONSUMMARY OF THE INVENTION

L’invention offre une solution aux problèmes évoqués précédemment, en permettant de générer automatiquement un réseau de neurones artificiels adapté à une tâche prédéfinie par un utilisateur sans que celui-ci ne dispose de connaissances préalables sur les réseaux de neurones artificiels.The invention offers a solution to the problems mentioned above, by making it possible to automatically generate an artificial neural network adapted to a predefined task by a user without the latter having prior knowledge of artificial neural networks.

Un aspect de l’invention concerne un procédé de génération automatique, à partir d’une base de données d’entraînement et d’une base de données de généralisation, d’un réseau de neurones artificiels comportant au moins une couche de neurones artificiels, le réseau de neurones artificiels ayant un paramètre de régularisation, un paramètre d’apprentissage, un paramètre de profondeur correspondant au nombre de couches du réseau de neurones artificiels et un paramètre de largeur correspondant au nombre de neurones artificiels par couche du réseau de neurones artificiels, le paramètre de profondeur pouvant être choisi parmi un intervalle [p1 ; p2] de valeurs du paramètre de profondeur, le paramètre de largeur pouvant être choisi parmi un intervalle [11 ; I2] de valeurs du paramètre de largeur et le paramètre d’apprentissage pouvant être choisi parmi un intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage, le procédé étant caractérisé en ce qu’il comporte :One aspect of the invention relates to a method for automatically generating, from a training database and a generalization database, an artificial neural network comprising at least one layer of artificial neurons, the artificial neural network having a regularization parameter, a learning parameter, a depth parameter corresponding to the number of layers of the artificial neural network and a width parameter corresponding to the number of artificial neurons per layer of the artificial neural network, the depth parameter being able to be chosen from an interval [p1; p2] of values of the depth parameter, the width parameter being able to be chosen from an interval [11; I2] of values of the width parameter and the learning parameter which can be chosen from an interval [a1; a2] of values of the learning parameter, the method being characterized in that it comprises:

- une étape de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage en un intervalle [a1 ’ ; a2’], comportant les étapes suivantes :- a step of restricting the interval [a1; a2] of values of the learning parameter in an interval [a1 ’; a2 ’], including the following steps:

• Générer un premier réseau de neurones artificiels de test ayant un paramètre de profondeur égal à la borne inférieure p1 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur et un paramètre de régularisation nul ;• Generate a first test artificial neural network having a depth parameter equal to the lower bound p1 of the interval [p1; p2] of values of the depth parameter, a width parameter equal to the average value of the interval [11; I2] of values of the width parameter and a null regularization parameter;

• Entraîner le premier réseau de neurones artificiels de test sur un premier échantillon de la base de données d’entraînement pour plusieurs valeurs du paramètre d’apprentissage comprises dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;• Train the first test artificial neural network on a first sample of the training database for several values of the learning parameter included in the interval [a1; a2] of values of the learning parameter;

• Générer un deuxième réseau de neurones artificiels de test ayant un paramètre de profondeur égal à la borne supérieure p2 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur et un paramètre de régularisation nul ;• Generate a second test artificial neural network having a depth parameter equal to the upper bound p2 of the interval [p1; p2] of values of the depth parameter, a width parameter equal to the average value of the interval [11; I2] of values of the width parameter and a null regularization parameter;

• Entraîner le deuxième réseau de neurones artificiels de test sur un deuxième échantillon de la base de données d’entraînement pour plusieurs valeurs du paramètre d’apprentissage comprises dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;• Train the second test artificial neural network on a second sample of the training database for several values of the learning parameter included in the interval [a1; a2] of values of the learning parameter;

• Calculer la nouvelle borne inférieure a1’ et la nouvelle borne supérieure a2’ de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage ;• Calculate the new lower bound a1 ’and the new upper bound a2’ in the interval [a1 ’; a2 ’] of learning parameter values;

- une étape de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comportant les étapes suivantes :- a step of defining an interval [r1; r2] of values of the regularization parameter comprising the following steps:

• Générer un troisième réseau de neurones artificiels de test ayant un paramètre de profondeur égal à la valeur moyenne de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur, un paramètre d’apprentissage égal à la valeur médiane de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage restreint et un paramètre de régularisation nul ;• Generate a third test artificial neural network having a depth parameter equal to the mean value of the interval [p1; p2] of values of the depth parameter, a width parameter equal to the average value of the interval [11; I2] of width parameter values, a learning parameter equal to the median value of the interval [a1 ’; a2 ’] of values of the restricted learning parameter and a null regularization parameter;

• Entraîner le troisième réseau de neurones artificiels de test sur la base de données d’entraînement et calculer la borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation ;• Train the third test artificial neural network on the training database and calculate the lower bound r1 and the upper bound r2 of the interval [r1; r2] of values of the regularization parameter;

- une étape de génération, d’entraînement sur la base de données d’entraînement et de test sur la base de données de généralisation, d’une pluralité de réseaux de neurones artificiels, en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, et de calcul d’une fonction de coût pour chaque réseau de neurones artificiels testé ;a step of generating, training on the training database and testing on the generalization database, of a plurality of artificial neural networks, by varying the value of each parameter in the interval corresponding values, and calculating a cost function for each artificial neural network tested;

- une étape de sélection du réseau de neurones artificiels pour lequel la fonction de coût calculée répond à une condition de validation.- a step of selecting the artificial neural network for which the calculated cost function meets a validation condition.

Grâce à l’invention, un réseau de neurones artificiels adapté à une tâche prédéfinie par un utilisateur est généré sans que celui-ci n’ait à intervenir dans le procédé. Les paramètres du réseau de neurones généré sont choisis de manière automatique, sans que l’utilisateur n’ait à les régler lui-même.Thanks to the invention, a network of artificial neurons adapted to a predefined task by a user is generated without the user having to intervene in the process. The parameters of the generated neural network are chosen automatically, without the user having to adjust them himself.

Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon un aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles.In addition to the characteristics which have just been mentioned in the previous paragraph, the method according to one aspect of the invention may have one or more complementary characteristics among the following, considered individually or according to all technically possible combinations.

Avantageusement, la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée.Advantageously, the cost function is the sum of a regularization function and the average of the errors on the database used.

Ainsi, la fonction de coût évalue les performances du réseau de neurones tout en pénalisant le sur-apprentissage.Thus, the cost function assesses the performance of the neural network while penalizing over-learning.

Avantageusement, la fonction de régularisation est le produit du paramètre de régularisation et de la somme au carré des normes des valeurs de coefficients de réseau.Advantageously, the regularization function is the product of the regularization parameter and the sum squared of the norms of the values of network coefficients.

Ainsi, la fonction de régularisation pénalise le sur-apprentissage.Thus, the regularization function penalizes over-learning.

Avantageusement :Advantageously:

- l’étape d’entraînement du premier réseau de neurones artificiels de test comporte les sous-étapes suivantes :- the training step of the first artificial neural test network includes the following substeps:

• Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;• Select different values of the learning parameter included in the interval [a1; a2] of values of the learning parameter;

• Pour chaque valeur du paramètre d’apprentissage sélectionnée, entraîner, sur le premier échantillon de la base de données d’entraînement, le premier réseau de neurones artificiels de test avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;• For each value of the selected learning parameter, train the first test artificial neural network on the first sample of the training database with the value selected as the learning parameter and calculate the corresponding cost function ;

• Sélectionner une nouvelle borne inférieure a1’ de l’intervalle de valeurs du paramètre d’apprentissage à partir d’une première valeur du paramètre d’apprentissage pour laquelle la fonction de coût correspondante répond à une condition de sélection ;• Select a new lower bound a1 'of the range of values of the learning parameter from a first value of the learning parameter for which the corresponding cost function meets a selection condition;

- l’étape d’entraînement du deuxième réseau de neurones artificiels de test comporte les sous-étapes suivantes :- the training step of the second artificial neural test network includes the following substeps:

• Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;• Select different values of the learning parameter included in the interval [a1; a2] of values of the learning parameter;

• Pour chaque valeur du paramètre d’apprentissage sélectionnée, entraîner, sur le deuxième échantillon de la base de données d’entraînement, le deuxième réseau de neurones artificiels de test avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;• For each value of the selected learning parameter, train the second test artificial neural network on the second sample of the training database with the value selected as the learning parameter and calculate the corresponding cost function ;

• Sélectionner une nouvelle borne supérieure a2’ de l’intervalle de valeurs du paramètre d’apprentissage à partir d’une seconde valeur du paramètre d’apprentissage pour laquelle la fonction de coût correspondante répond à la condition de sélection.• Select a new upper limit a2 ’of the learning parameter value range from a second learning parameter value for which the corresponding cost function meets the selection condition.

Ainsi, le premier réseau de neurones artificiels de test, le réseau de neurones artificiels le plus simple possible et le deuxième réseau de neurones artificiels de test, le réseau de neurones artificiels le plus complexe possible permettent de définir la borne inférieure et la borne supérieure de l’intervalle de valeurs du paramètre d’apprentissage restreint. Restreindre l’intervalle de valeurs du paramètre d’apprentissage permet de diminuer le temps de calcul des étapes suivantes du procédé.Thus, the first test artificial neural network, the simplest possible artificial neural network and the second test artificial neural network, the most complex possible artificial neural network make it possible to define the lower bound and the upper bound of the range of values of the restricted learning parameter. Restricting the range of values of the learning parameter makes it possible to reduce the calculation time of the next steps of the process.

Avantageusement, l’étape de calcul de la nouvelle borne inférieure a1’ et de la nouvelle borne supérieure a2’ de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage comporte les sous-étapes suivantes :Advantageously, the step of calculating the new lower bound a1 ’and the new upper bound a2’ for the interval [a1 ’; a2 ’] of learning parameter values has the following substeps:

• Comparer la première et la seconde valeur du paramètre d’apprentissage pour déterminer une valeur du paramètre d’apprentissage minimale et une valeur du paramètre d’apprentissage maximale ;• Compare the first and second value of the learning parameter to determine a value of the minimum learning parameter and a value of the maximum learning parameter;

• Calculer la nouvelle borne inférieure a1’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage à partir de la valeur du paramètre d’apprentissage minimale ;• Calculate the new lower bound a1 ’of the interval [a1’; a2 ’] of learning parameter values from the minimum learning parameter value;

• Calculer la nouvelle borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage à partir de la valeur du paramètre d’apprentissage maximale.• Calculate the new upper bound a2 ’of the interval [a1’; a2 ’] of learning parameter values from the maximum learning parameter value.

Ainsi, les nouvelles bornes de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage sont calculées à partir de valeurs du paramètre d’apprentissage obtenues à partir d’un réseau de neurones simple et d’un réseau de neurones complexe ce qui permet de réduire l’intervalle de valeurs du paramètre d’apprentissage aux valeurs du paramètre d’apprentissage possibles pour les architectures de réseaux de neurones prises en compte dans le procédé.Thus, the new bounds of the interval [a1 ’; a2 '] of the learning parameter values are calculated from learning parameter values obtained from a simple neural network and a complex neural network which makes it possible to reduce the range of values of the learning parameter at the possible learning parameter values for the neural network architectures taken into account in the method.

Avantageusement, la fonction de coût répondant à la condition de sélection est la fonction de coût ayant la décroissance la plus rapide.Advantageously, the cost function meeting the selection condition is the cost function with the fastest decrease.

Ainsi, le paramètre d’apprentissage sélectionné est celui pour lequel le réseau de neurones artificiels correspondant obtient les meilleurs résultats le plus rapidement. En particulier, lorsque la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée, comme les premier et deuxième réseaux de neurones de test ont un paramètre de régularisation nul, le paramètre d’apprentissage sélectionné est celui pour lequel la moyenne des erreurs a décru le plus rapidement.Thus, the selected learning parameter is the one for which the corresponding artificial neural network obtains the best results most quickly. In particular, when the cost function is the sum of a regularization function and the average of the errors on the database used, as the first and second test neural networks have a zero regularization parameter, the parameter d The selected learning is the one for which the average of the errors has decreased the fastest.

Avantageusement, l’étape de définition d’un intervalle de valeurs du paramètre de régularisation comporte les étapes suivantes :Advantageously, the step of defining an interval of values of the regularization parameter comprises the following steps:

• Entraîner, sur la base de données d’entraînement, le troisième réseau de neurones artificiels de test et calculer la fonction de coût ;• Train, on the training database, the third test artificial neural network and calculate the cost function;

• Calculer un paramètre de régularisation optimal à partir de la fonction de coût précédemment calculée ;• Calculate an optimal regularization parameter from the previously calculated cost function;

• Calculer la borne inférieure r1 et la borne supérieure r2 de l’intervalle de valeurs du paramètre de régularisation à partir du paramètre de régularisation optimal.• Calculate the lower bound r1 and the upper bound r2 of the range of values of the regularization parameter from the optimal regularization parameter.

Ainsi, le troisième réseau de neurones artificiels de test, le réseau de neurones artificiels intermédiaire, permet de définir l’intervalle de valeurs du paramètre de régularisation.Thus, the third test artificial neural network, the intermediate artificial neural network, makes it possible to define the range of values of the regularization parameter.

Avantageusement, le paramètre de régularisation optimal est la somme des normes au carré des gradients de la fonction de coût par rapport à des coefficients de réseau, divisé par la somme des normes au carré des coefficients de réseau.Advantageously, the optimal regularization parameter is the sum of the norms squared of the gradients of the cost function with respect to network coefficients, divided by the sum of the norms squared of the network coefficients.

Ainsi, le paramètre de régularisation optimal pénalise le sur-apprentissage.Thus, the optimal regularization parameter penalizes over-learning.

Avantageusement, la fonction de coût répondant à la condition de validation est la fonction de coût minimale.Advantageously, the cost function meeting the validation condition is the minimum cost function.

Ainsi, lorsque la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée, le réseau de neurones artificiels sélectionné est celui pour lequel la somme de la moyenne des erreurs et de la fonction de régularisation est la plus faible, c’est-à-dire le réseau de neurones artificiels correspondant obtenant les meilleurs résultats avec un surapprentissage limité.Thus, when the cost function is the sum of a regularization function and the average of the errors on the database used, the artificial neural network selected is the one for which the sum of the average of the errors and of the function is the weakest, i.e. the corresponding artificial neural network obtaining the best results with limited overfitting.

Avantageusement, l’étape de génération, d’entraînement et de test de plusieurs réseaux de neurones artificiels, comporte plusieurs sous-étapes :Advantageously, the stage of generation, training and testing of several artificial neural networks, comprises several sub-stages:

• Générer plusieurs réseaux de neurones artificiels en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, chaque valeur de l’intervalle de valeurs correspondant étant équiprobable, entraîner sur la base de données d’entraînement et tester sur la base de données de généralisation, lesdits plusieurs réseaux de neurones artificiels générés, et calculer la fonction de coût pour chacun desdits réseaux de neurones artificiels entraînés et testés ;• Generate several artificial neural networks by varying the value of each parameter in the corresponding range of values, each value of the corresponding range of values being equiprobable, train on the training database and test on the basis of generalization data, said multiple artificial neural networks generated, and calculating the cost function for each of said trained and tested artificial neural networks;

• En comparant les fonctions de coût précédemment calculées, mettre à jour, pour un intervalle de valeurs donné, les probabilités affectées à chaque valeur de l’intervalle de valeurs ;• By comparing the previously calculated cost functions, update, for a given range of values, the probabilities assigned to each value in the range of values;

• Générer plusieurs autres réseaux de neurones artificiels en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, les valeurs de l’intervalle de valeurs correspondant n’étant plus toutes équiprobables, entraîner sur la base de données d’entraînement et tester sur la base de données de généralisation, lesdits autres réseaux de neurones artificiels et calculer la fonction de coût pour chacun desdits autres réseaux de neurones artificiels entraînés et testés, la fonction de coût étant comparée aux fonctions de coût précédemment calculées pour mettre à jour, pour un intervalle de valeurs donné, les probabilités affectées à chaque valeur de l’intervalle de valeurs .• Generate several other artificial neural networks by varying the value of each parameter in the corresponding range of values, the values of the corresponding range of values no longer being all equally probable, train on the training database and test on the generalization database, said other artificial neural networks and calculate the cost function for each of said other artificial neural networks trained and tested, the cost function being compared with the cost functions previously calculated to update, for a given range of values, the probabilities assigned to each value in the range of values.

Ainsi, les réseaux de neurones générés dans un premier temps permettent de définir, pour chaque paramètre, des zones des intervalles de valeurs correspondant permettant d’obtenir de meilleurs résultats. Ceci permet de diminuer le temps de calcul et d’optimiser l’étape de génération, d’entraînement et de test du procédé.Thus, the neural networks initially generated make it possible to define, for each parameter, zones of the corresponding value intervals allowing better results to be obtained. This allows the calculation time to be reduced and the generation, training and testing stage of the process to be optimized.

Avantageusement, l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur est compris dans l’intervalle [2 ; 20].Advantageously, the interval [p1; p2] of depth parameter values are in the range [2; 20].

Ainsi, le réseau de neurones artificiels généré a un nombre de couches lui permettant d’avoir des résultats satisfaisants pour des applications classiques sans avoir besoin de matériel complexe pour le faire fonctionner.Thus, the artificial neural network generated has a number of layers allowing it to have satisfactory results for conventional applications without the need for complex equipment to operate it.

Avantageusement, le choix de l’intervalle [11 ; I2] de valeurs du paramètre de largeur dépend du nombre de variables contenues dans une donnée de la base de données.Advantageously, the choice of the interval [11; I2] of values of the width parameter depends on the number of variables contained in a datum of the database.

Ainsi, le nombre de neurones par couche est adapté à la complexité des données à traiter.Thus, the number of neurons per layer is adapted to the complexity of the data to be processed.

Avantageusement, l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage couvre plusieurs puissances de dix allant de 10’4 à 1 avant l’étape de restriction dudit intervalle.Advantageously, the interval [a1; a2] of values of the learning parameter covers several powers of ten ranging from 10 ' 4 to 1 before the step of restricting said interval.

Ainsi, l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage prend en compte tous les cas de figure pouvant être rencontrés.Thus, the interval [a1; a2] of values of the learning parameter takes into account all the scenarios that can be encountered.

Avantageusement, les premier et deuxième échantillons de la base de données d’entraînement sont représentatifs de la base de données d’entraînement.Advantageously, the first and second samples of the training database are representative of the training database.

Ainsi, les résultats obtenus sur les échantillons permettent d’extrapoler les résultats qui auraient été obtenus sur la base entière.Thus, the results obtained on the samples make it possible to extrapolate the results which would have been obtained on the whole base.

L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent.The invention and its various applications will be better understood on reading the description which follows and on examining the figures which accompany it.

BREVE DESCRIPTION DES FIGURESBRIEF DESCRIPTION OF THE FIGURES

Les figures sont présentées à titre indicatif et nullement limitatif de l’invention.The figures are presented for information and in no way limit the invention.

- La figure 1 montre une représentation schématique d’un réseau de neurones artificiels.- Figure 1 shows a schematic representation of an artificial neural network.

- La figure 2 est un schéma synoptique illustrant les principales étapes d’un procédé de génération automatique de réseaux de neurones artificiels selon un aspect de l’invention.- Figure 2 is a block diagram illustrating the main steps of an automatic generation process of artificial neural networks according to one aspect of the invention.

- La figure 3 montre une représentation schématique d’un exemple de premier réseau de neurones artificiels de test.- Figure 3 shows a schematic representation of an example of the first test artificial neural network.

- La figure 4 montre une représentation schématique d’un exemple de deuxième réseau de neurones artificiels de test.- Figure 4 shows a schematic representation of an example of a second test artificial neural network.

- La figure 5 montre une représentation schématique d’un exemple de troisième réseau de neurones artificiels de test.- Figure 5 shows a schematic representation of an example of a third test artificial neural network.

DESCRIPTION DETAILLEE D’AU MOINS UN MODE DE REALISATION DE L’INVENTIONDETAILED DESCRIPTION OF AT LEAST ONE EMBODIMENT OF THE INVENTION

Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique.Unless otherwise specified, the same element appearing in different figures has a unique reference.

Un aspect de l’invention concerne un procédé 200 de génération automatique de réseaux de neurones artificiels 100.One aspect of the invention relates to a method 200 for automatically generating artificial neural networks 100.

Dans la suite de la demande, on utilisera indifféremment les termes « réseau de neurones >> et « réseau de neurones artificiel >>.In the remainder of the application, the terms "neural network >>" and "artificial neural network" will be used interchangeably.

Un réseau de neurones 100 comporte au moins une couche 103 comportant au moins deux neurones 101. Sur la figure 1, le réseau de neurones 100 comporte trois couches 103 comportant chacune trois neurones 101. De manière générale et comme illustré dans les figures, chaque neurone 101 de chaque couche 103 est connecté à chaque neurone 101 de la couche 103 précédente et à chaque neurone 101 de la couche 103 suivante. Cependant, on pourrait envisager le cas où chaque neurone 101 de chaque couche 103 est connecté uniquement à une partie des neurones 101 de la couche 103 précédente et/ou à une partie des neurones 101 de la couche 103 suivante. Une connexion 102 entre deux neurones 101 est affectée d’un poids ou coefficient synaptique.A neural network 100 comprises at least one layer 103 comprising at least two neurons 101. In FIG. 1, the neural network 100 comprises three layers 103 each comprising three neurons 101. In general and as illustrated in the figures, each neuron 101 of each layer 103 is connected to each neuron 101 of the previous layer 103 and to each neuron 101 of the next layer 103. However, one could consider the case where each neuron 101 of each layer 103 is connected only to a part of the neurons 101 of the previous layer 103 and / or to a part of the neurons 101 of the next layer 103. A connection 102 between two neurons 101 is assigned a weight or synaptic coefficient.

Le paramètre de profondeur d’un réseau de neurones 100 se définit par le nombre de couches 103 du réseau de neurones 100.The depth parameter of a neural network 100 is defined by the number of layers 103 of the neural network 100.

De manière générale, chaque couche 103 d’un réseau de neurones 100 comporte un nombre différent de neurones 101. Dans le cadre de l’invention, comme représenté à la figure 1, chaque couche 103 présente un même nombre de neurones 101. Le paramètre de largeur d’un réseau de neurones 100 se définit ainsi par le nombre de neurones 101 par couche 103 du réseau de neurones 100.In general, each layer 103 of a neural network 100 comprises a different number of neurons 101. In the context of the invention, as shown in FIG. 1, each layer 103 has the same number of neurons 101. The parameter the width of a neural network 100 is thus defined by the number of neurons 101 per layer 103 of the neural network 100.

Le paramètre de profondeur et le paramètre de largeur d’un réseau de neurones 100 définissent l’architecture du réseau de neurones 100.The depth parameter and the width parameter of a neural network 100 define the architecture of neural network 100.

Un réseau de neurones artificiels 100 est également défini par d’autres paramètres, comme un paramètre d’apprentissage et un paramètre de régularisation, qui décrivent son processus d’apprentissage.An artificial neural network 100 is also defined by other parameters, such as a learning parameter and a regularization parameter, which describe its learning process.

Le paramètre d’apprentissage correspond au pas d’apprentissage du réseau de neurones 100 qui définit la fréquence à laquelle sont mis à jour les poids du réseau de neurones 100 et le paramètre de régularisation à son coefficient de régularisation qui limite le sur-apprentissage du réseau de neurones 100.The learning parameter corresponds to the learning step of the neural network 100 which defines the frequency at which the weights of the neural network 100 are updated and the regularization parameter to its regularization coefficient which limits the over-learning of the neural network 100.

L’objectif du procédé 200 est de générer automatiquement un réseau de neurones artificiels 100 adapté à une tâche prédéfinie, à partir d’une base de données comportant une base de données d’apprentissage ou base de données d’entraînement sur laquelle le réseau de neurones 100 est entraîné à effectuer la tâche et une base de données de généralisation sur laquelle le réseau effectue la tâche pour laquelle il a été entraîné.The objective of the method 200 is to automatically generate an artificial neural network 100 adapted to a predefined task, from a database comprising a training database or training database on which the network of neurons 100 is trained to perform the task and a generalization database on which the network performs the task for which it was trained.

L’apprentissage est réalisé de manière supervisée, c’est-à-dire que la base de données d’apprentissage comporte des données annotées. Par exemple, une base de données d’apprentissage pour de la détection de personnes comporte des images dans lesquelles les personnes sont signalées, par exemple en fournissant les coordonnées d’un coin d’une fenêtre encadrant la personne, ainsi que sa longueur et sa largeur.The learning is carried out in a supervised manner, that is to say that the learning database contains annotated data. For example, a training database for people detection includes images in which people are signaled, for example by providing the coordinates of a corner of a window surrounding the person, as well as its length and its width.

La base de données d’apprentissage représente par exemple entre 60% et 80% de la base de données, ou entre 70% et 80% de la base de données, ou entre 65% et 80% de la base de données.For example, the learning database represents between 60% and 80% of the database, or between 70% and 80% of the database, or between 65% and 80% of the database.

On entend par « un réseau de neurones est adapté à une tâche » le fait que le réseau de neurones obtient des résultats satisfaisants pour la tâche sur la base de données de généralisation, après apprentissage de la tâche sur la base de données d’apprentissage. Ces résultats dépendent des paramètres fixés pour le réseau de neurones. Il s’agit donc de générer le réseau de neurones 100 dont les paramètres permettent d’obtenir les meilleurs résultats possibles sur la base de données pour la tâche prédéfinie.The term "a neural network is adapted to a task" means that the neural network obtains satisfactory results for the task on the generalization database, after learning the task on the training database. These results depend on the parameters set for the neural network. It is therefore a question of generating the neural network 100 whose parameters allow the best possible results to be obtained on the database for the predefined task.

Lorsqu’un réseau de neurones est adapté à une tâche, il est alors également adapté à la base de données dans la mesure où la base de données d’apprentissage est construite en fonction de la tâche à apprendre. Par exemple, si l’on se place dans le cas où la base de données est une base de données d’images et que la tâche que l’on souhaite effectuer est de la détection de personnes, chaque image de la base de données d’apprentissage sera en pratique associée à des coordonnées qui repèrent les personnes dans l’image.When a neural network is adapted to a task, it is then also adapted to the database insofar as the learning database is built according to the task to be learned. For example, if we take the case where the database is an image database and the task that we want to perform is the detection of people, each image of the database d learning will in practice be associated with coordinates that identify the people in the image.

Les données de la base de données sont par exemple des données bancaires, des données relatives à la réalisation d’un procédé ou d’un produit, ou encore des images. Une donnée de la base de données comporte au moins une variable, chaque donnée de la base de données comportant le même nombre de variables. Ainsi, si une variable est manquante dans une donnée, une valeur par défaut lui est affectée. La valeur par défaut est par exemple la valeur moyenne de la variable sur les autres données.The data in the database are, for example, bank data, data relating to the carrying out of a process or a product, or even images. A datum of the database comprises at least one variable, each datum of the database comprising the same number of variables. Thus, if a variable is missing in a data, a default value is assigned to it. The default value is for example the average value of the variable on the other data.

Dans le cas de données bancaires, les variables sont par exemple des informations sur un client comme son âge, ses revenus, son adresse ainsi que des informations sur le produit qu’il consomme comme le type de crédit contracté et le montant associé. Dans le cas de données relatives à la réalisation d’un produit, les variables sont par exemple des informations sur le produit comme son nom, sa composition ainsi que des informations sur son procédé de fabrication comme son temps de fabrication, le nom de la chaîne de montage sur laquelle il a été réalisé. Dans le cas de données relatives à des images, les variables sont par exemple la variance et la moyenne des niveaux de gris.In the case of bank data, the variables are, for example, information on a customer such as his age, income, address as well as information on the product he consumes, such as the type of credit contracted and the amount associated. In the case of data relating to the production of a product, the variables are for example information on the product such as its name, its composition as well as information on its manufacturing process such as its manufacturing time, the name of the chain on which it was made. In the case of data relating to images, the variables are for example the variance and the average of the gray levels.

Dans le cas de données bancaires, la tâche à effectuer est par exemple de la classification pour regrouper des clients présentant des caractéristiques similaires et qui seraient donc intéressés par le même type de produits. Dans le cas de données relatives à la réalisation d’un produit, la tâche à effectuer est par exemple la détection d’anomalies comme une chaîne de montage défectueuse. Dans le cas de données relatives à des images, la tâche à effectuer est par exemple de la reconnaissance de caractères manuscrits.In the case of banking data, the task to be carried out is, for example, classification to group together customers with similar characteristics and who would therefore be interested in the same type of product. In the case of data relating to the production of a product, the task to be performed is for example the detection of anomalies such as a faulty assembly line. In the case of data relating to images, the task to be performed is for example the recognition of handwritten characters.

On entend par « un réseau de neurones est généré automatiquement >> le fait que le réseau de neurones est généré sans l’intervention d’un utilisateur."A neural network is generated automatically" means that the neural network is generated without the intervention of a user.

Le procédé 200 selon un aspect de l’invention comporte plusieurs étapes dont l’enchaînement est représenté à la figure 2. Ces étapes sont mises en oeuvre par un calculateur comportant au moins un processeur et une mémoire.The method 200 according to one aspect of the invention comprises several steps, the sequence of which is shown in FIG. 2. These steps are implemented by a computer comprising at least one processor and a memory.

Initialement, le paramètre de profondeur, le paramètre de largeur et le paramètre d’apprentissage ont chacun une valeur qui varie au sein d’un intervalle prédéfini. Ainsi, la valeur du paramètre de profondeur varie au sein d’un intervalle [p1 ; p2] de valeurs du paramètre de profondeur, la valeur du paramètre de largeur varie au sein d’un intervalle [11 ; I2] de valeurs du paramètre de largeur et la valeur du paramètre d’apprentissage varie au sein d’un intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage. L’intervalle [p1 ; p2] de valeurs du paramètre de profondeur et l’intervalle [11 ; I2] de valeurs du paramètre de largeur sont des intervalles de valeurs de nombres entiers puisque que le nombre de couches d’un réseau de neurones et le nombre de neurones par couche d’un réseau de neurones ne peuvent prendre que des valeurs entières.Initially, the depth parameter, the width parameter and the training parameter each have a value which varies within a predefined interval. Thus, the value of the depth parameter varies within an interval [p1; p2] of depth parameter values, the width parameter value varies within an interval [11; I2] of width parameter values and the value of the learning parameter varies within an interval [a1; a2] of values of the learning parameter. The interval [p1; p2] of values of the depth parameter and the interval [11; I2] of width parameter values are ranges of integer values since the number of layers in a neural network and the number of neurons per layer in a neural network can only take whole values.

Le nombre de couches d’un réseau de neurones est par exemple compris entre 2 et 20, entre 2 et 10 ou entre 4 et 6. Par exemple, l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur vaut [4 ; 6], c’est-à-dire que p1 égale 4 et p2 égale 6.The number of layers of a neural network is for example between 2 and 20, between 2 and 10 or between 4 and 6. For example, the interval [p1; p2] of values of the depth parameter is [4; 6], that is, p1 equals 4 and p2 equals 6.

La valeur de la borne inférieure 11 et la valeur de la borne supérieure I2 de l’intervalle [11 ; I2] de valeurs du paramètre de largeur sont choisies en fonction du nombre de variables contenues dans chaque donnée de la base de données. Ainsi, l’architecture du réseau de neurones est adaptée à la complexité des données à traiter. Par exemple, si le nombre de variables contenues dans chaque donnée de la base de données vaut n, la borne inférieure 11 de l’intervalle [11 ; I2] de valeurs du paramètre de largeur vaudra l’arrondi à l’entier inférieur de et la borne supérieure I2 de l’intervalle [11 ; I2] de valeurs du paramètre de largeur vaudra l’arrondi à l’entier inférieur 2*n. Par exemple, si n vaut 5,11 vaut 2 et I2 vautThe value of the lower bound 11 and the value of the upper bound I2 of the interval [11; I2] of the width parameter values are chosen according to the number of variables contained in each datum of the database. Thus, the architecture of the neural network is adapted to the complexity of the data to be processed. For example, if the number of variables contained in each data item in the database is n, the lower bound 11 of the interval [11; I2] of width parameter values will be rounded to the lower integer of and the upper bound I2 of the interval [11; I2] of width parameter values will be rounded down to the nearest integer 2 * n. For example, if n is 5.11 is 2 and I2 is

10.10.

L’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage est choisi pour couvrir l’ensemble des cas possibles. Par exemple, l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage vaut [10'4 ; 1], c’est-à-dire que a1 est égal 10'4 et a2 est égal 1.The interval [a1; a2] of values of the learning parameter is chosen to cover all the possible cases. For example, the interval [a1; a2] of values of the learning parameter is [10 '4; 1], that is to say that a1 is equal to 10 ' 4 and a2 is equal to 1.

La première étape du procédé 200 est une étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage. A l’issue de cette étape 201, un sous-intervalle [a1 ’ ; a2’] de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage est obtenu, ce qui signifie que a1’ est supérieur à a1 et que a2’ est inférieur à a2. a1’ peut être égal à a1 si et seulement si a2’ est différent de a2 et a2’ peut être égal à a2 si et seulement si a1 ’ est différent de a1.The first step of the method 200 is a step 201 of restricting the interval [a1; a2] of values of the learning parameter. At the end of this step 201, a sub-interval [a1 ’; a2 ’] in the interval [a1; a2] of learning parameter values is obtained, which means that a1 ’is greater than a1 and that a2’ is less than a2. a1 ’can be equal to a1 if and only if a2’ is different from a2 and a2 ’can be equal to a2 if and only if a1’ is different from a1.

L’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage comporte une étape de génération d’un premier réseau de neurones artificiels de test 110.Step 201 of restriction of the interval [a1; a2] of learning parameter values includes a step of generating a first test artificial neural network 110.

Le premier réseau de neurones artificiels de test 110 possède un nombre de couches égal à p1, c’est-à-dire que son paramètre de profondeur est égal à la borne inférieure p1 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur et un nombre de neurones par couche égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur. Le premier réseau de neurones artificiels de test 110 peut ainsi être qualifié de réseau de neurones simple dans la mesure où la valeur fixée pour son paramètre de profondeur est la valeur minimale possible. Le premier réseau de neurones artificiels de test 110 est représenté à la figure 3 dans le cas où p1 est égal à 4 et [11 ; I2] est égal à [2 ; 4] . Le premier réseau de neurones artificiels de test 110 comporte alors 4 couches possédant 3 neurones chacune.The first test artificial neural network 110 has a number of layers equal to p1, that is to say that its depth parameter is equal to the lower bound p1 of the interval [p1; p2] of values of the depth parameter and a number of neurons per layer equal to the mean value of the interval [11; I2] of width parameter values. The first test artificial neural network 110 can thus be qualified as a simple neural network insofar as the value fixed for its depth parameter is the minimum possible value. The first test artificial neural network 110 is represented in FIG. 3 in the case where p1 is equal to 4 and [11; I2] is equal to [2; 4]. The first network of artificial test neurons 110 then comprises 4 layers having 3 neurons each.

Le premier réseau de neurones artificiels de test 110 possède un paramètre d’apprentissage variable et un paramètre de régularisation égal à zéro ce qui signifie que le premier réseau de neurones artificiels de test 110 ne fait pas de régularisation.The first test artificial neural network 110 has a variable learning parameter and a regularization parameter equal to zero, which means that the first artificial test neural network 110 does not regularize.

L’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage comporte une étape de génération d’un deuxième réseau de neurones artificiels de test 120.Step 201 of restriction of the interval [a1; a2] of learning parameter values includes a step of generating a second test artificial neural network 120.

Le deuxième réseau de neurones artificiels de test 120 possède un nombre de couches égal à p2, c’est-à-dire que son paramètre de profondeur est égal à la borne supérieure p2 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur et un nombre de neurones par couche égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur. Le deuxième réseau de neurones artificiels de test 120 peut ainsi être qualifié de réseau de neurones complexe dans la mesure où la valeur fixée pour son paramètre de profondeur est la valeur maximale possible. Le deuxième réseau de neurones artificiels de test 120 est représenté à la figure 4 dans le cas où p2 est égal à 6 et [11 ; I2] est égal à [2 ; 4], Le deuxième réseau de neurones artificiels de test 120 comporte alors 6 couches possédant 3 neurones chacune.The second test artificial neural network 120 has a number of layers equal to p2, that is to say that its depth parameter is equal to the upper limit p2 of the interval [p1; p2] of values of the depth parameter and a number of neurons per layer equal to the mean value of the interval [11; I2] of width parameter values. The second test artificial neural network 120 can thus be qualified as a complex neural network insofar as the value fixed for its depth parameter is the maximum possible value. The second test artificial neural network 120 is represented in FIG. 4 in the case where p2 is equal to 6 and [11; I2] is equal to [2; 4], The second network of artificial test neurons 120 then comprises 6 layers having 3 neurons each.

Le deuxième réseau de neurones artificiels de test 120 possède un paramètre d’apprentissage variable et un paramètre de régularisation égal à zéro ce qui signifie que le deuxième réseau de neurones artificiels de test 120 ne fait pas de régularisation.The second test artificial neural network 120 has a variable learning parameter and a regularization parameter equal to zero, which means that the second artificial test neural network 120 does not do regularization.

Une fois générés, le premier réseau de neurones artificiels de test 110 et le deuxième réseau de neurones artificiels de test 120 sont ensuite entraînés. Pour cela, des échantillons de données sont sélectionnés sur lesquels les réseaux de neurones artificiels de test seront entraînés. Un premier et un deuxième échantillon de la base de données d’entraînement sont sélectionnés de manière qu’ils soient représentatifs de la base de données d’entraînement. On entend par « un échantillon est représentatif d’une base de données » le fait que la distribution de l’échantillon est identique à la distribution de la base de données pour une cible choisie. Par exemple, dans le cas de la détection, si dans une base de données, il y a 80% d’exemples positifs et 20% d’exemples négatifs, un échantillon représentatif de cette base de données aura également 80% d’exemples positifs et 20% d’exemples négatifs.Once generated, the first artificial test neural network 110 and the second artificial test neural network 120 are then trained. For this, data samples are selected on which the artificial neural test networks will be trained. A first and a second sample from the training database are selected so that they are representative of the training database. "A sample is representative of a database" means that the distribution of the sample is identical to the distribution of the database for a selected target. For example, in the case of detection, if in a database there are 80% of positive examples and 20% of negative examples, a representative sample of this database will also have 80% of positive examples and 20% negative examples.

Par exemple, le premier et le deuxième échantillon de la base de données d’entraînement possèdent chacun entre 1 et 25% des données de la base de données d’entraînement.For example, the first and second samples in the training database each have between 1 and 25% of the data in the training database.

Par exemple, le premier et le deuxième échantillon de la base de données d’entraînement sont identiques.For example, the first and second samples in the training database are identical.

L’étape d’entraînement du premier réseau de neurones artificiels de test 110 de l’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage comporte une sous-étape de sélection de plusieurs valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage permettant d’obtenir un premier jeu de valeurs du paramètre d’apprentissage. Par exemple, les valeurs du premier jeu de valeurs du paramètre d’apprentissage couvrent tous les puissances de dix de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage.The training step of the first test artificial neural network 110 of step 201 of restriction of the interval [a1; a2] of values of the learning parameter comprises a substep of selecting several values of the learning parameter included in the interval [a1; a2] of learning parameter values to obtain a first set of learning parameter values. For example, the values of the first set of values of the training parameter cover all the powers of ten of the interval [a1; a2] of values of the learning parameter.

Le premier réseau de neurones artificiels de test 110 est ensuite entraîné sur le premier échantillon de la base de données d’entraînement en donnant l’une des valeurs du premier jeu de valeurs du paramètre d’apprentissage à son paramètre d’apprentissage. A chaque donnée apprise, une fonction de coût est calculée.The first test artificial neural network 110 is then trained on the first sample of the training database by giving one of the values of the first set of values of the training parameter to its training parameter. For each data item learned, a cost function is calculated.

La fonction de coût C est par exemple définie comme ci-dessous :The cost function C is for example defined as below:

N P c(xn)= ΛΣιΐρ7ΐΐ2 i=i J=1NP c ( xn ) = Λ Σιΐ ρ7 ΐΐ 2 i = i J = 1

Avec : xN, la N-ème donnée de la base de données utilisée, g, l’erreur entre la valeur trouvée par le réseau de neurones et la valeur réelle pour la donnée i, N le nombre de données utilisées de la base de données, λ le paramètre de régularisation, p;-, un j-ème coefficient de réseau du réseau de neurones et P le nombre de coefficients de réseau du réseau de neurones.With: x N , the Nth data of the database used, g, the error between the value found by the neural network and the real value for the data i, N the number of data used of the database data, λ the regularization parameter, p ; -, a j-th network coefficient of the neural network and P the number of network coefficients of the neural network.

Par exemple, pour une tâche de classification, l’erreur correspond à l’entropie croisée entre la valeur réelle d’une donnée et la valeur trouvée par le réseau de neurones, se définissant par :For example, for a classification task, the error corresponds to the cross entropy between the real value of a data and the value found by the neural network, defined by:

G = où fc(Xi) est le score (compris entre 0 et 1) que le réseau de neurones attribue à la classe correcte de la donnée i. Ainsi, l’erreur est minimale et vaut 0 si le réseau de neurones attribue un score de 1 à la classe correcte.G = where f c (Xi) is the score (between 0 and 1) that the neural network attributes to the correct class of the data i. Thus, the error is minimal and is worth 0 if the neural network assigns a score of 1 to the correct class.

L’erreur entre la valeur trouvée par le réseau de neurones et la valeur réelle peut également être par exemple la valeur absolue de la différence entre la valeur trouvée par le réseau de neurones et la valeur réelle ou encore la différence au carré entre la valeur trouvée par le réseau de neurones et la valeur réelle.The error between the value found by the neural network and the real value can also be for example the absolute value of the difference between the value found by the neural network and the real value or the difference squared between the value found by the neural network and the actual value.

Chaque coefficient de réseau est lié à une couche du réseau de neurones artificiels 100. Par exemple, le coefficient de réseau est le coefficient synaptique affecté à la couche.Each network coefficient is linked to a layer of the artificial neural network 100. For example, the network coefficient is the synaptic coefficient assigned to the layer.

Dans cet exemple, la fonction de coût est donc la somme de deux termes : un premier terme correspondant à la moyenne des erreurs sur la base de données utilisée et le second terme à une fonction de régularisation définie comme étant le produit du paramètre de régularisation et de la somme au carré des valeurs des normes des coefficients de réseau. Ainsi, la fonction de coût évalue les performances du réseau de neurones en comparant le résultat obtenu par le réseau de neurones avec le résultat à obtenir tout en pénalisant le surapprentissage.In this example, the cost function is therefore the sum of two terms: a first term corresponding to the average of the errors on the database used and the second term to a regularization function defined as being the product of the regularization parameter and of the sum squared of the values of the norms of the network coefficients. Thus, the cost function evaluates the performance of the neural network by comparing the result obtained by the neural network with the result to be obtained while penalizing over-learning.

On entend par « un réseau de neurones obtient les meilleurs résultats >> le fait que le premier terme de la fonction de coût associée au réseau de neurones est le plus faible possible.The term "a neural network obtains the best results" means that the first term of the cost function associated with the neural network is as low as possible.

Le premier réseau de neurones artificiels de test 110 ayant un paramètre de régularisation nul, la fonction de coût à la fin de l’entraînement correspond uniquement à la moyenne des erreurs sur le premier échantillon de la base de données d’entraînement.The first test artificial neural network 110 having a zero regularization parameter, the cost function at the end of the training corresponds only to the average of the errors on the first sample of the training database.

La fonction de coût pourrait également être définie comme la somme d’un premier terme correspondant à la somme des erreurs sur la base de données utilisée et d’un second terme correspondant à une fonction de régularisation.The cost function could also be defined as the sum of a first term corresponding to the sum of the errors on the database used and a second term corresponding to a regularization function.

Le premier réseau de neurones artificiels de test 110 est ainsi entraîné pour chaque valeur du paramètre d’apprentissage du premier jeu de valeurs du paramètre d’apprentissage et une fonction de coût est calculée pour chaque entraînement. Chaque fonction de coût calculée correspond ainsi à une valeur du paramètre d’apprentissage.The first test artificial neural network 110 is thus trained for each value of the learning parameter of the first set of values of the learning parameter and a cost function is calculated for each training. Each calculated cost function thus corresponds to a value of the learning parameter.

Une fois toutes les fonctions de coût calculées, une première valeur du paramètre d’apprentissage, dont la fonction de coût correspondante répond à une condition de sélection, est sélectionnée.Once all the cost functions have been calculated, a first value of the learning parameter, the corresponding cost function of which meets a selection condition, is selected.

Par exemple, la fonction de coût répondant à la condition de sélection est la fonction de coût ayant la décroissance la plus rapide parmi les fonctions de coût calculées. Ainsi, lorsque la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée, comme le premier réseau de neurones de test 110 a un paramètre de régularisation nul, la fonction de coût correspond uniquement à la moyenne des erreurs et la condition de sélection permet de sélectionner la valeur du paramètre d’apprentissage du réseau de neurones artificiels obtenant les meilleurs résultats et le plus rapidement sur le premier échantillon de la base de données d’entraînement.For example, the cost function meeting the selection condition is the fastest decreasing cost function among the calculated cost functions. So, when the cost function is the sum of a regularization function and the average of the errors on the database used, since the first test neural network 110 has a zero regularization parameter, the cost function corresponds only at the average of the errors and the selection condition makes it possible to select the value of the learning parameter of the artificial neural network obtaining the best results and the fastest on the first sample of the training database.

Dans l’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage, l’étape d’entraînement du deuxième réseau de neurones artificiels de test 120 comporte une sous-étape de sélection de plusieurs valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage permettant d’obtenir un deuxième jeu de valeurs du paramètre d’apprentissage. Par exemple, les valeurs du deuxième jeu de valeurs du paramètre d’apprentissage couvrent tous les puissances de dix de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage.In step 201 of restriction of the interval [a1; a2] of values of the learning parameter, the training step of the second test artificial neural network 120 comprises a substep of selecting several values of the learning parameter included in the interval [a1; a2] of learning parameter values to obtain a second set of learning parameter values. For example, the values of the second set of values of the training parameter cover all the powers of ten of the interval [a1; a2] of values of the learning parameter.

Par exemple, le premier et le deuxième jeu de valeurs du paramètre d’apprentissage sont identiques.For example, the first and second set of values of the learning parameter are identical.

Le deuxième réseau de neurones artificiels de test 120 est ensuite entraîné sur le deuxième échantillon de la base de données d’entraînement en donnant l’une des valeurs du deuxième jeu de valeurs du paramètre d’apprentissage à son paramètre d’apprentissage. A chaque donnée apprise, la fonction de coût est calculée.The second test artificial neural network 120 is then trained on the second sample of the training database by giving one of the values of the second set of values of the training parameter to its training parameter. For each data item learned, the cost function is calculated.

Le deuxième réseau de neurones artificiels de test 120 est ainsi entraîné pour chaque valeur du paramètre d’apprentissage du deuxième jeu de valeurs du paramètre d’apprentissage et la fonction de coût est calculée pour chaque entraînement.The second test artificial neural network 120 is thus trained for each value of the learning parameter of the second set of values of the learning parameter and the cost function is calculated for each training.

Une fois toutes les fonctions de coût calculées, une seconde valeur du paramètre d’apprentissage dont la fonction de coût correspondante répond à la condition de sélection est sélectionnée.Once all the cost functions have been calculated, a second value of the learning parameter whose corresponding cost function meets the selection condition is selected.

Les étapes de l’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage précédemment décrites peuvent se faire dans cet ordre ou dans un ordre différent, c’est-à-dire que, par exemple, la génération et l’entraînement du deuxième réseau de neurones de test 120 peuvent se faire avant la génération et l’entraînement du premier réseau de neurones de test 110. La seule limitation dans l’ordre de ces étapes est que l’entraînement d’un réseau de neurones ne peut être réalisé que si ledit réseau de neurones a été préalablement généré.The steps of step 201 of restriction of the interval [a1; a2] of learning parameter values described above can be done in this order or in a different order, that is to say that, for example, the generation and training of the second test neural network 120 can be done before the generation and training of the first test neural network 110. The only limitation in the order of these steps is that training of a neural network can only be carried out if said neural network has been previously generated.

Les première et seconde valeurs du paramètre d’apprentissage sont ensuite comparées : la plus petite de ces deux valeurs est une valeur du paramètre d’apprentissage minimale et la plus grande de ces deux valeurs est une valeur du paramètre d’apprentissage maximale.The first and second values of the learning parameter are then compared: the smaller of these two values is a value of the minimum learning parameter and the larger of these two values is a value of the maximum learning parameter.

La borne inférieure a1 ’ de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage restreint est calculée à partir de la valeur du paramètre d’apprentissage minimale. Par exemple, la borne inférieure a1’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage restreint est égale à un dixième de la valeur du paramètre d’apprentissage minimale.The lower bound a1 ’of the interval [a1’; a2 ’] of values of the restricted learning parameter is calculated from the value of the minimum learning parameter. For example, the lower bound a1 ’of the interval [a1’; a2 ’] of values of the restricted learning parameter is equal to one tenth of the value of the minimum learning parameter.

La borne supérieure a2’ de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage restreint est calculée à partir de la valeur du paramètre d’apprentissage maximale. Par exemple, la borne supérieure a2’ de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage restreint est égale à la valeur du paramètre d’apprentissage maximale.The upper bound a2 ’of the interval [a1’; a2 ’] of restricted learning parameter values is calculated from the maximum learning parameter value. For example, the upper bound a2 ’of the interval [a1’; a2 ’] of values of the restricted learning parameter is equal to the value of the maximum learning parameter.

Chaque entraînement du premier réseau de neurones artificiels de test 110 et du deuxième réseau de neurones artificiels de test 120 est réalisé pour au moins une époque ou alternativement pour plusieurs époques, une époque correspondant à un parcours de l’échantillon entier de la base de données d’entraînement utilisé.Each training of the first test artificial neural network 110 and of the second test artificial neural network 120 is carried out for at least one epoch or alternatively for several epochs, an epoch corresponding to a journey of the entire sample of the database drive used.

Par exemple, le nombre d’époques utilisé pour entraîner le premier réseau de neurones artificiels de test 110 est identique au nombre d’époques utilisé pour entraîner le deuxième réseau de neurones artificiels de test 120.For example, the number of times used to train the first test neural network 110 is the same as the number of times used to train the second test neural network 120.

Le nombre d’époques utilisé est par exemple compris entre 10 et 100 époques, ou entre 30 et 70 époques, ou entre 40 et 60 époques. Par exemple, le nombre d’époques est égal à 50.The number of eras used is for example between 10 and 100 eras, or between 30 and 70 eras, or between 40 and 60 eras. For example, the number of epochs is 50.

La deuxième étape du procédé 200 est une étape 202 de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation. A l’issue de cette étape 202, un intervalle [r1 ; r2] de valeurs du paramètre de régularisation dans lequel la valeur du paramètre de régularisation pourra varier, est obtenu.The second step of method 200 is a step 202 of defining an interval [r1; r2] of values of the regularization parameter. At the end of this step 202, an interval [r1; r2] of values of the regularization parameter in which the value of the regularization parameter can vary, is obtained.

L’étape 202 de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comporte une étape de génération d’un troisième réseau de neurones artificiels de test 130.Step 202 of defining an interval [r1; r2] of regularization parameter values includes a step of generating a third test artificial neural network 130.

Le troisième réseau de neurones artificiels de test 130 possède un nombre de couches égal à la valeur moyenne de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, c’est-à-dire que son paramètre de profondeur est égal à la valeur moyenne de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un nombre de neurones par couche égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur, c’est-à-dire que son paramètre de largeur est égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur. Le troisième réseau de neurones artificiels de test 130 peut ainsi être qualifié de réseau de neurones intermédiaire dans la mesure où la valeur fixée pour son paramètre de profondeur est la valeur moyenne. Le troisième réseau de neurones artificiels de test 130 est représenté à la figure 5 dans le cas où p1 est égal à 4, p2 est égal à 6, 11 est égal à 2 et I2 est égal à 4. Le troisième réseau de neurones artificiels de test 130 comporte alors 5 couches possédant 3 neurones chacune.The third test artificial neural network 130 has a number of layers equal to the mean value of the interval [p1; p2] of values for the depth parameter, that is, its depth parameter is equal to the mean value of the interval [p1; p2] of values of the depth parameter, a number of neurons per layer equal to the mean value of the interval [11; I2] of values of the width parameter, that is to say that its width parameter is equal to the mean value of the interval [11; I2] of width parameter values. The third test artificial neural network 130 can thus be qualified as an intermediate neural network insofar as the value fixed for its depth parameter is the average value. The third test artificial neural network 130 is represented in FIG. 5 in the case where p1 is equal to 4, p2 is equal to 6, 11 is equal to 2 and I2 is equal to 4. The third artificial neural network of test 130 then has 5 layers with 3 neurons each.

Le troisième réseau de neurones artificiels de test 130 possède un paramètre d’apprentissage égal à la valeur médiane de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage précédemment restreint et un paramètre de régularisation égal à zéro ce qui signifie que le troisième réseau de neurones artificiels de test 130 ne fait pas de régularisation.The third test artificial neural network 130 has a learning parameter equal to the median value of the interval [a1 ’; a2 ’] of values of the previously restricted learning parameter and a regularization parameter equal to zero, which means that the third test artificial neural network 130 does not regularize.

Une fois généré, le troisième réseau de neurones artificiels de test 130 est entraîné sur la base de données d’entraînement entière et la fonction de coût est calculée.Once generated, the third test artificial neural network 130 is trained on the entire training database and the cost function is calculated.

Cet entraînement est réalisé pour au moins une époque ou alternativement pour plusieurs époques.This training is carried out for at least one period or alternatively for several periods.

Par exemple, le nombre d’époques utilisé pour entraîner le troisième réseau de neurones artificiels de test 130 est identique au nombre d’époques utilisé pour entraîner le premier réseau de neurones artificiels de test 110 et/ou le deuxième réseau de neurones artificiels de test 120.For example, the number of epochs used to train the third test artificial neural network 130 is identical to the number of epochs used to train the first test artificial neural network 110 and / or the second test artificial neural network 120.

Un paramètre de régularisation optimal À est ensuite calculé de la manière suivante :An optimal regularization parameter À is then calculated as follows:

Figure FR3080932A1_D0001

Avec : C, la fonction de coût, pj, le j-ème coefficient de réseau du réseau de neurones et P le nombre de coefficients de réseau du réseau de neurones.With: C, the cost function, pj, the j-th network coefficient of the neural network and P the number of network coefficients of the neural network.

La borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation sont ensuite calculées à partir du paramètre de régularisation optimal.The lower bound r1 and the upper bound r2 of the interval [r1; r2] of values of the regularization parameter are then calculated from the optimal regularization parameter.

Par exemple, la borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation sont les puissances de dix de part et d’autre du paramètre de régularisation optimal. Ainsi, si le paramètre de régularisation optimal vaut 52, r1 égale 10 et r2 égale 102.For example, the lower bound r1 and the upper bound r2 of the interval [r1; r2] of values of the regularization parameter are the powers of ten on either side of the optimal regularization parameter. Thus, if the optimal regularization parameter is 52, r1 equals 10 and r2 equals 10 2 .

La troisième étape du procédé 200 est une étape 203 de génération, d’entraînement et de test d’une pluralité de réseaux de neurones et de calcul de la fonction de coût pour chaque réseau de neurones testé. A l’issue de cette étape 203, une pluralité de fonctions de coût est obtenue, chaque fonction de coût correspondant à un réseau de neurones testé.The third step of method 200 is a step 203 of generating, training and testing a plurality of neural networks and of calculating the cost function for each neural network tested. At the end of this step 203, a plurality of cost functions is obtained, each cost function corresponding to a neural network tested.

Chaque réseau de neurones est généré avec un jeu de paramètres différent, un jeu de paramètres comportant le paramètre de profondeur, le paramètre de largeur, le paramètre d’apprentissage et le paramètre de régularisation. Dans un premier temps, la valeur du paramètre de profondeur varie dans l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, la valeur du paramètre de largeur varie dans l’intervalle [11 ; I2] de valeurs du paramètre de largeur, la valeur du paramètre d’apprentissage varie dans l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage précédemment restreint et la valeur du paramètre de régularisation varie dans l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation précédemment défini, de manière équiprobable. Ainsi, la probabilité qu’un paramètre donné prenne une valeur donnée est la même pour toutes les valeurs de l’intervalle correspondant. Par exemple, si le paramètre de profondeur peut varier dans l’intervalle [4 ; 6], la probabilité que le paramètre de profondeur vaille 4 vaut 1/3, la probabilité que le paramètre de profondeur vaille 5 vaut 1/3 et la probabilité que le paramètre de profondeur vaille 6 vaut 1/3. Les réseaux de neurones ainsi générés sont ensuite entraînés sur la base de données d’entraînement puis testés sur la base de données de généralisation, et la fonction de coût est alors calculée pour chacun de ces réseaux de neurones. La comparaison des fonctions de coût de ces réseaux de neurones est utilisée pour mettre à jour, pour chaque valeur possible d’un paramètre donné, la probabilité que le paramètre prenne cette valeur. Par exemple, dans le cas simplifié où l’on a calculé la fonction de coût d’un premier réseau de neurones dont le paramètre de profondeur vaut 4 et la fonction de coût d’un second réseau de neurones dont le paramètre de profondeur vaut 5 et que, par exemple, la fonction de coût du premier réseau de neurones est inférieure à la fonction de coût du second réseau de neurones, la probabilité que le paramètre de profondeur vaille 4 pour un réseau de neurones prochainement généré sera supérieure à la probabilité que son paramètre de profondeur vaille 5. Ainsi, dans un second temps, d’autres réseaux de neurones sont générés, pour lesquels la valeur de chaque paramètre varie toujours dans l’intervalle de valeurs du paramètre correspondant mais plus de manière équiprobable, c’est-à-dire qu’un paramètre donné aura plus de probabilité de prendre telle valeur de l’intervalle de valeurs correspondant plutôt que telle autre. Par exemple, en reprenant l’exemple précédent, la probabilité que le paramètre de profondeur vaille 4 peut valoir 3/4, la probabilité que le paramètre de profondeur vaille 5 peut valoir 3/16 et la probabilité que le paramètre de profondeur vaille 6 peut valoir 1/16. Ceci permet de concentrer la recherche sur les régions de l’espace des paramètres qui donnent les meilleurs résultats et ainsi de diminuer le temps de calcul. Chaque réseau de neurones généré dans un second temps passe ensuite par une phase d’entraînement sur la base de données d’entraînement. Chaque réseau de neurones généré dans un second temps est ensuite testé sur la base de données de généralisation et la fonction de coût est calculée. La fonction de coût est alors utilisée à son tour pour mettre à nouveau à jour les probabilités qu’un paramètre donné prenne une valeur donnée par comparaison avec les fonctions de coût calculées précédemment. Ainsi, les réseaux de neurones artificiels générés au fil des étapes successives de génération tendent de plus en plus à converger vers un même réseau de neurones artificiels. Autrement dit, au fil des étapes successives de génération, au sein de chaque intervalle de valeurs correspondant à un paramètre, une valeur a sa probabilité qui tend de plus en plus vers 1.Each neural network is generated with a different set of parameters, a set of parameters comprising the depth parameter, the width parameter, the training parameter and the regularization parameter. At first, the value of the depth parameter varies in the interval [p1; p2] of values of the depth parameter, the value of the width parameter varies in the interval [11; I2] of width parameter values, the value of the learning parameter varies in the interval [a1 ’; a2 ’] of values of the previously restricted learning parameter and the value of the regularization parameter varies in the interval [r1; r2] of values of the previously defined regularization parameter, equiprobably. Thus, the probability that a given parameter takes a given value is the same for all the values of the corresponding interval. For example, if the depth parameter can vary in the interval [4; 6], the probability that the depth parameter is worth 4 is 1/3, the probability that the depth parameter is worth 5 is 1/3 and the probability that the depth parameter is worth 6 is 1/3. The neural networks thus generated are then trained on the training database and then tested on the generalization database, and the cost function is then calculated for each of these neural networks. The comparison of the cost functions of these neural networks is used to update, for each possible value of a given parameter, the probability that the parameter takes this value. For example, in the simplified case where we calculated the cost function of a first neural network whose depth parameter is 4 and the cost function of a second neural network whose depth parameter is 5 and that, for example, the cost function of the first neural network is lower than the cost function of the second neural network, the probability that the depth parameter is worth 4 for a neural network soon to be generated will be greater than the probability that its depth parameter is worth 5. Thus, in a second step, other neural networks are generated, for which the value of each parameter always varies in the range of values of the corresponding parameter but more equally, it is that is, a given parameter will be more likely to take one value from the corresponding range of values than another. For example, using the previous example, the probability that the depth parameter is worth 4 may be 3/4, the probability that the depth parameter is worth 3/16 and the probability that the depth parameter is worth 6 worth 1/16. This makes it possible to focus the search on the regions of the parameter space which give the best results and thus to reduce the computation time. Each neural network subsequently generated then goes through a training phase on the training database. Each neural network generated in a second step is then tested on the generalization database and the cost function is calculated. The cost function is then used in turn to update again the probabilities that a given parameter takes a given value by comparison with the cost functions calculated previously. Thus, the networks of artificial neurons generated during the successive stages of generation tend more and more to converge towards the same network of artificial neurons. In other words, over the successive stages of generation, within each interval of values corresponding to a parameter, a value has its probability which tends more and more towards 1.

La quatrième étape du procédé 200 est une étape 204 de sélection d’un des réseaux de neurones artificiels précédemment testé.The fourth step of method 200 is a step 204 of selecting one of the previously tested artificial neural networks.

Le réseau de neurones artificiels précédemment testé dont la fonction de coût correspondante répond à une condition de validation est sélectionné. Par exemple, la fonction de coût répondant à la condition de validation est la fonction 10 de coût minimale, c’est-à-dire la fonction de coût associé au réseau de neurones donnant de bons résultats tout en pénalisant le sur-apprentissage.The previously tested artificial neural network whose corresponding cost function meets a validation condition is selected. For example, the cost function meeting the validation condition is the minimum cost function 10, that is to say the cost function associated with the neural network giving good results while penalizing over-learning.

A l’issue de cette étape 204, le réseau de neurones artificiel précédemment testé le plus adapté à la tâche à effectuer est obtenu.At the end of this step 204, the previously tested artificial neural network most suited to the task to be performed is obtained.

Claims (10)

1. Procédé (200) de génération automatique, à partir d’une base de données d’entraînement et d’une base de données de généralisation, d’un réseau de neurones artificiels (100) comportant au moins une couche (103) de neurones artificiels (101), le réseau de neurones artificiels (100) ayant un paramètre de régularisation, un paramètre d’apprentissage, un paramètre de profondeur correspondant au nombre de couches (103) du réseau de neurones artificiels (100) et un paramètre de largeur correspondant au nombre de neurones artificiels (101) par couche (103) du réseau de neurones artificiels (100), le paramètre de profondeur pouvant être choisi parmi un intervalle [p1 ; p2] de valeurs du paramètre de profondeur, le paramètre de largeur pouvant être choisi parmi un intervalle [11 ; I2] de valeurs du paramètre de largeur et le paramètre d’apprentissage pouvant être choisi parmi un intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage, le procédé étant caractérisé en ce qu’il comporte :1. Method (200) of automatic generation, from a training database and a generalization database, of an artificial neural network (100) comprising at least one layer (103) of artificial neurons (101), the artificial neural network (100) having a regularization parameter, a learning parameter, a depth parameter corresponding to the number of layers (103) of the artificial neural network (100) and a parameter of width corresponding to the number of artificial neurons (101) per layer (103) of the artificial neural network (100), the depth parameter being able to be chosen from an interval [p1; p2] of values of the depth parameter, the width parameter being able to be chosen from an interval [11; I2] of values of the width parameter and the learning parameter which can be chosen from an interval [a1; a2] of values of the learning parameter, the method being characterized in that it comprises: - une étape (201) de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage en un intervalle [a1 ’ ; a2’], comportant les étapes suivantes :- a step (201) of restriction of the interval [a1; a2] of values of the learning parameter in an interval [a1 ’; a2 ’], including the following steps: • Générer un premier réseau de neurones artificiels de test (110) ayant un paramètre de profondeur égal à la borne inférieure p1 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur et un paramètre de régularisation nul ;• Generate a first test artificial neural network (110) having a depth parameter equal to the lower bound p1 of the interval [p1; p2] of values of the depth parameter, a width parameter equal to the average value of the interval [11; I2] of values of the width parameter and a null regularization parameter; • Entraîner le premier réseau de neurones artificiels de test (110) sur un premier échantillon de la base de données d’entraînement pour plusieurs valeurs du paramètre d’apprentissage comprises dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;• Train the first test artificial neural network (110) on a first sample of the training database for several values of the learning parameter included in the interval [a1; a2] of values of the learning parameter; • Générer un deuxième réseau de neurones artificiels de test (120) ayant un paramètre de profondeur égal à la borne supérieure p2 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur et un paramètre de régularisation nul ;• Generate a second test artificial neural network (120) having a depth parameter equal to the upper limit p2 of the interval [p1; p2] of values of the depth parameter, a width parameter equal to the average value of the interval [11; I2] of values of the width parameter and a null regularization parameter; • Entraîner le deuxième réseau de neurones artificiels de test (120) sur un deuxième échantillon de la base de données d’entraînement pour plusieurs valeurs du paramètre d’apprentissage comprises dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;• Train the second test artificial neural network (120) on a second sample of the training database for several values of the learning parameter included in the interval [a1; a2] of values of the learning parameter; • Calculer la nouvelle borne inférieure a1’ et la nouvelle borne supérieure a2’ de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage ;• Calculate the new lower bound a1 ’and the new upper bound a2’ in the interval [a1 ’; a2 ’] of learning parameter values; - une étape (202) de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comportant les étapes suivantes :- a step (202) of defining an interval [r1; r2] of values of the regularization parameter comprising the following steps: • Générer un troisième réseau de neurones artificiels de test (130) ayant un paramètre de profondeur égal à la valeur moyenne de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur, un paramètre d’apprentissage égal à la valeur médiane de l’intervalle [a1 ’ ; a2’] de valeurs du paramètre d’apprentissage restreint et un paramètre de régularisation nul ;• Generate a third test artificial neural network (130) having a depth parameter equal to the mean value of the interval [p1; p2] of values of the depth parameter, a width parameter equal to the average value of the interval [11; I2] of width parameter values, a learning parameter equal to the median value of the interval [a1 ’; a2 ’] of values of the restricted learning parameter and a null regularization parameter; • Entraîner le troisième réseau de neurones artificiels de test (130) sur la base de données d’entraînement et calculer la borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation ;• Train the third test artificial neural network (130) on the training database and calculate the lower bound r1 and the upper bound r2 of the interval [r1; r2] of values of the regularization parameter; - une étape (203) de génération, d’entraînement sur la base de données d’entraînement et de test sur la base de données de généralisation, d’une pluralité de réseaux de neurones artificiels, en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant et de calcul d’une fonction de coût pour chaque réseau de neurones artificiels testé ;a step (203) of generating, training on the training database and testing on the generalization database, of a plurality of artificial neural networks, by varying the value of each parameter in the corresponding range of values and the calculation of a cost function for each artificial neural network tested; - une étape (204) de sélection du réseau de neurones artificiels (100) pour lequel la fonction de coût calculée répond à une condition de validation.- A step (204) of selecting the artificial neural network (100) for which the calculated cost function meets a validation condition. 2. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée.2. Method (200) according to any one of the preceding claims, characterized in that the cost function is the sum of a regularization function and the average of the errors on the database used. 3. Procédé (200) selon la revendication 2, caractérisé en ce que la fonction de régularisation est le produit du paramètre de régularisation et de la somme au carré des normes des valeurs de coefficients de réseau.3. Method (200) according to claim 2, characterized in that the regularization function is the product of the regularization parameter and the sum squared of the norms of the values of network coefficients. 4. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que :4. Method (200) according to any one of the preceding claims, characterized in that: - l’étape d’entraînement du premier réseau de neurones artificiels de test (110) comporte les sous-étapes suivantes :- the training step of the first test artificial neural network (110) includes the following substeps: • Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;• Select different values of the learning parameter included in the interval [a1; a2] of values of the learning parameter; • Pour chaque valeur du paramètre d’apprentissage sélectionnée, entraîner, sur le premier échantillon de la base de données d’entraînement, le premier réseau de neurones artificiels de test (110) avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;• For each value of the selected learning parameter, train the first test artificial neural network (110) on the first sample of the training database with the value selected as the learning parameter and calculate the function corresponding cost; • Sélectionner une première valeur du paramètre d’apprentissage pour laquelle la fonction de coût correspondante répond à une condition de sélection ;• Select a first value of the learning parameter for which the corresponding cost function meets a selection condition; - l’étape d’entraînement du deuxième réseau de neurones artificiels de test (120) comporte les sous-étapes suivantes :- the training step of the second test artificial neural network (120) comprises the following substeps: • Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;• Select different values of the learning parameter included in the interval [a1; a2] of values of the learning parameter; • Pour chaque valeur du paramètre d’apprentissage sélectionnée, entraîner, sur le deuxième échantillon de la base de données d’entraînement, le deuxième réseau de neurones artificiels de test (120) avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;• For each value of the selected learning parameter, train the second test artificial neural network (120) on the second sample of the training database with the value selected as the learning parameter and calculate the function corresponding cost; • Sélectionner une seconde valeur du paramètre d’apprentissage pour laquelle la fonction de coût correspondante répond à la condition de sélection.• Select a second value of the learning parameter for which the corresponding cost function meets the selection condition. 5.5. Procédé (200) selon la revendication 4, caractérisé en ce que la fonction de coût répondant à la condition de sélection est la fonction de coût ayant la décroissance la plus rapide.Method (200) according to claim 4, characterized in that the cost function meeting the selection condition is the cost function having the fastest decrease. 6.6. Procédé (200) selon la revendication 4 ou la revendication 5, caractérisé en ce que l’étape de calcul de la nouvelle borne inférieure a1’ et de la nouvelle borne supérieure a2’ de l’intervalle [a1 ’ ; a2’] de valeurs du d’apprentissage comporte les sous-étapes suivantes :Method (200) according to claim 4 or claim 5, characterized in that the step of calculating the new lower bound a1 ’and the new upper bound a2’ in the interval [a1 ’; a2 ’] of learning values has the following substeps: • Comparer la première et la seconde valeur d’apprentissage pour déterminer une valeur d’apprentissage minimale et une valeur d’apprentissage maximale ;• Compare the first and second learning values to determine a minimum learning value and a maximum learning value; • Calculer la nouvelle borne inférieure a1’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage à partir de la valeur du paramètre d’apprentissage minimale ;• Calculate the new lower bound a1 ’of the interval [a1’; a2 ’] of learning parameter values from the minimum learning parameter value; • Calculer la nouvelle borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage à partir de la valeur du paramètre d’apprentissage maximale.• Calculate the new upper bound a2 ’of the interval [a1’; a2 ’] of learning parameter values from the maximum learning parameter value. paramètre du du du paramètre paramètre paramètreparameter of the of the parameter parameter parameter 7. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que l’étape (202) de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comporte les étapes suivantes :7. Method (200) according to any one of the preceding claims, characterized in that the step (202) of defining an interval [r1; r2] of values of the regularization parameter comprises the following steps: • Entraîner, sur la base de données d’entraînement, le troisième réseau de neurones artificiels de test (130) et calculer la fonction de coût ;• Train, on the training database, the third artificial neural test network (130) and calculate the cost function; • Calculer un paramètre de régularisation optimal à partir de la fonction de coût précédemment calculée ;• Calculate an optimal regularization parameter from the previously calculated cost function; • Calculer la borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation à partir du paramètre de régularisation optimal.• Calculate the lower bound r1 and the upper bound r2 of the interval [r1; r2] of values of the regularization parameter from the optimal regularization parameter. 8. Procédé (200) selon la revendication 7, caractérisé en ce que le paramètre de régularisation optimal est la somme des normes au carré des gradients de la fonction de coût par rapport à des coefficients de réseau, divisé par la somme des normes au carré des coefficients de réseau.8. Method (200) according to claim 7, characterized in that the optimal regularization parameter is the sum of the squared norms of the gradients of the cost function with respect to network coefficients, divided by the sum of the squared norms network coefficients. 9. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que la fonction de coût répondant à la condition de validation est la fonction de coût minimale.9. Method (200) according to any one of the preceding claims, characterized in that the cost function meeting the validation condition is the minimum cost function. 10. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que l’étape (203) de génération, d’entraînement et de test de plusieurs réseaux de neurones artificiels, comporte plusieurs sousétapes :10. Method (200) according to any one of the preceding claims, characterized in that the step (203) of generation, training and testing of several artificial neural networks, comprises several substeps: • Générer plusieurs réseaux de neurones artificiels en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, chaque valeur de l’intervalle de valeurs correspondant étant équiprobable, entraîner sur la base de données d’entraînement et tester sur la base de données de généralisation, lesdits plusieurs réseaux de neurones artificiels générés, et calculer la fonction de coût pour chacun desdits réseaux de neurones artificiels entraînés et testés ;• Generate several artificial neural networks by varying the value of each parameter in the corresponding range of values, each value of the corresponding range of values being equiprobable, train on the training database and test on the basis of generalization data, said multiple artificial neural networks generated, and calculating the cost function for each of said trained and tested artificial neural networks; • En comparant les fonctions de coût précédemment calculées, mettre à jour, pour un intervalle de valeurs donné, les probabilités affectées à chaque valeur de l’intervalle de valeurs ;• By comparing the previously calculated cost functions, update, for a given range of values, the probabilities assigned to each value in the range of values; • Générer plusieurs autres réseaux de neurones artificiels en faisant varier la• Generate several other artificial neural networks by varying the 5 valeur de chaque paramètre dans l’intervalle de valeurs correspondant, les valeurs de l’intervalle de valeurs correspondant n’étant plus toutes équiprobables, entraîner sur la base de données d’entraînement et tester sur la base de données de généralisation, lesdits autres réseaux de neurones artificiels et calculer la fonction de coût pour chacun desdits 10 autres réseaux de neurones artificiels entraînés et testés, la fonction de coût étant comparée aux fonctions de coût précédemment calculées pour mettre à jour, pour un intervalle de valeurs donné, les probabilités affectées à chaque valeur de l’intervalle de valeurs .5 value of each parameter in the corresponding range of values, the values of the corresponding range of values no longer being all equally probable, train on the training database and test on the generalization database, said others artificial neural networks and calculate the cost function for each of said other 10 trained and tested artificial neural networks, the cost function being compared to the previously calculated cost functions to update, for a given range of values, the affected probabilities at each value in the range of values.
FR1853791A 2018-05-02 2018-05-02 AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS Pending FR3080932A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1853791A FR3080932A1 (en) 2018-05-02 2018-05-02 AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS
PCT/EP2019/061225 WO2019211367A1 (en) 2018-05-02 2019-05-02 Method for automatically generating artificial neural networks and method for assessing an associated risk

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1853791 2018-05-02
FR1853791A FR3080932A1 (en) 2018-05-02 2018-05-02 AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS

Publications (1)

Publication Number Publication Date
FR3080932A1 true FR3080932A1 (en) 2019-11-08

Family

ID=63896241

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1853791A Pending FR3080932A1 (en) 2018-05-02 2018-05-02 AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS

Country Status (2)

Country Link
FR (1) FR3080932A1 (en)
WO (1) WO2019211367A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3103600B1 (en) * 2019-11-27 2023-04-14 Univ Montpellier METHOD FOR AUTOMATIC DETERMINATION OF PARAMETERS OF AN ARTIFICIAL NEURON NETWORK AND MICROCONTROLLER FOR IMPLEMENTING THE METHOD

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HECTOR MENDOZA ET AL: "Towards Automatically-Tuned Neural Networks", JMLR: WORKSHOP AND CONFERENCE PROCEEDINGS ICML 2016 AUTOML WORKSHOP, 1 January 2016 (2016-01-01), pages 58 - 65, XP055553377, Retrieved from the Internet <URL:http://proceedings.mlr.press/v64/mendoza_towards_2016.pdf> *
KEVIN SWERSKY ET AL: "Raiders of the Lost Architecture: Kernels for Bayesian Optimization in Conditional Parameter Spaces", 14 September 2014 (2014-09-14), XP055553371, Retrieved from the Internet <URL:https://arxiv.org/pdf/1409.4011.pdf> *

Also Published As

Publication number Publication date
WO2019211367A1 (en) 2019-11-07

Similar Documents

Publication Publication Date Title
EP2696344B1 (en) Method and system for detecting acoustic events in a given environment
WO2016102153A1 (en) Semantic representation of the content of an image
EP0875032B1 (en) Learning method generating small size neurons for data classification
WO2020208153A1 (en) Method for defining a path
EP3633545A1 (en) Methods for learning parameters of a convolutional neural network, for detecting visible elements of interest in an image and association of elements of interest visible in an image
FR3080932A1 (en) AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS
WO2022008605A1 (en) Electronic device and method for processing data based on reversible generative networks, associated electronic detection system and associated computer program
EP4099228A1 (en) Automatic learning without annotation improved by adaptive groupings in open assembly of classes
EP4012620A1 (en) Method for automatically learning by transfer
FR3089329A1 (en) Method for analyzing a set of parameters of a neural network in order to obtain a technical improvement, for example a gain in memory.
EP0929867B1 (en) Method for learning data classification in two separate classes separated by a region divider of order 1 or 2
EP4292017A1 (en) Neuromorphic circuit and associated training method
WO2021245227A1 (en) Method for generating a decision support system and associated systems
EP3966739A1 (en) Automatic image analysis method for automatically recognising at least one rare characteristic
FR3109002A1 (en) Device and method for the transfer of knowledge of an artificial neural network
WO2021094694A1 (en) Method for determining a prediction function using a neural network, and associated processing method
EP4012619A1 (en) Method for compressing an artificial neural network
EP4176327A1 (en) Method for evaluating the relative state of an aircraft engine
EP3920101A1 (en) Method for reducing the size of an artificial neural network
EP3815001A1 (en) Method of modelling for checking the results provided by an artificial neural network and other associated methods
EP1431880A1 (en) Discretisation of a source attribute or of a group of source attributes of a database
FR3066289A1 (en) METHOD, COMPUTER-IMPLEMENTED, OF SEARCHING FOR ASSOCIATION RULES IN A DATABASE
Arlot Contributions to statistical learning theory: estimator selection and change-point detection
FR3144360A1 (en) System and method for dimensionality reduction using multidimensional data learning by collaborative filtering
FR3118503A1 (en) Data abnormality detection method and device

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20191108

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6