Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR AUTOMATICALLY GENERATING ARTIFICIAL NEURAL NETWORKS AND METHOD FOR ASSESSING AN ASSOCIATED RISK
Document Type and Number:
WIPO Patent Application WO/2019/211367
Kind Code:
A1
Abstract:
One aspect of the invention relates to a method for automatically generating an artificial neural network, the artificial neural network having a regularisation parameter, a learning parameter, a depth parameter and a width parameter, the depth parameter being selectable from a range of values for the depth parameter, the width parameter being selectable from a range of values for the width parameter and the learning parameter being selectable from a range of values for the learning parameter, the method being characterised in that it comprises: - a step of restricting the range of values for the learning parameter; - a step of defining a range of values for the regularisation 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.

Inventors:
SCHMAUCH BENOÎT (FR)
ABITEBOUL JÉRÉMIE (FR)
MERIC NICOLAS (FR)
Application Number:
PCT/EP2019/061225
Publication Date:
November 07, 2019
Filing Date:
May 02, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
DREAMQUARK SAS (FR)
International Classes:
G06N3/08
Other References:
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
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
Attorney, Agent or Firm:
CAMUS, Olivier et al. (FR)
Download PDF:
Claims:
REVENDICATIONS

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 mis en oeuvre par un calculateur et étant caractérisé en ce qu’il comporte :

- 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 :

• 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 ;

• 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 ;

• 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 ;

• 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 ;

• 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 ;

- une étape (202) de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comportant les étapes suivantes :

• 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 ;

• 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 ;

- 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é ; - 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. 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. 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.

4. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que :

- l’étape d’entraînement du premier réseau de neurones artificiels de test (1 10) comporte les sous-étapes suivantes :

• Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;

• 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 (1 10) avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;

• 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 ;

- l’étape d’entraînement du deuxième réseau de neurones artificiels de test (120) comporte les sous-étapes suivantes : • Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;

• 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 ;

• 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.

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.

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 paramètre d’apprentissage comporte les sous-étapes suivantes :

• 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 ;

• 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 ;

• 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.

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 :

• 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 ;

• Calculer un paramètre de régularisation optimal à partir de la fonction de coût précédemment calculée ;

• 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.

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.

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.

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 :

• 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 ;

• 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 ;

• 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.

11. Procédé d’évaluation d’un risque lié à une donnée caractérisé en ce qu’il comporte les étapes du procédé (200) selon l’une quelconque des revendications précédentes suivies d’une étape d’évaluation du risque lié à la donnée par le réseau de neurones artificiels (100) sélectionné à l’étape (204) de sélection.

12. Procédé d’évaluation selon la revendication 1 1 , caractérisé en ce que si la valeur du risque est supérieure à un seuil d’alerte, il comporte une étape de génération d’une alerte.

13. Procédé d’évaluation selon l’une quelconque des revendications 1 1 à 12, caractérisé en ce que si la valeur du risque est supérieure au seuil d’alerte, il comporte une étape de routage de la donnée vers un équipement donné.

Description:
PROCEDE DE GENERATION AUTOMATIQUE DE RESEAUX DE NEURONES ARTIFICIELS ET PROCEDE D’EVALUATION D’UN RISQUE ASSOCIE

DOMAINE TECHNIQUE DE L’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é.

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. La présente invention concerne également un procédé d’évaluation d’un risque lié à une donnée.

ARRIERE-PLAN TECHNOLOGIQUE DE L’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é. II 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.

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.

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.

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. 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.

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. 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. II 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é.

RESUME DE L’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.

Un premier 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 mis en oeuvre par un calculateur et étant caractérisé en ce qu’il comporte :

- 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 :

• 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 ;

• 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 ;

• 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 ;

• 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 ;

• 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 ;

- une étape de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comportant les étapes suivantes :

• 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 ;

• 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 ;

- 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é ;

- 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.

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. Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon un premier 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.

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.

Ainsi, la fonction de coût évalue les performances du réseau de neurones tout en pénalisant le sur-apprentissage.

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.

Ainsi, la fonction de régularisation pénalise le sur-apprentissage.

Avantageusement :

- l’étape d’entraînement du premier réseau de neurones artificiels de test comporte les sous-étapes suivantes :

• Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;

• 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 ;

• 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 ; - l’étape d’entraînement du deuxième réseau de neurones artificiels de test comporte les sous-étapes suivantes :

• Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;

• 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 ;

• 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.

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é.

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 :

• 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 ; • 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 ;

• 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.

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é.

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.

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.

Avantageusement, l’étape de définition d’un intervalle de valeurs du paramètre de régularisation comporte les étapes suivantes :

• 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 ;

• Calculer un paramètre de régularisation optimal à partir de la fonction de coût précédemment calculée ; • 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.

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.

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.

Ainsi, le paramètre de régularisation optimal pénalise le sur-apprentissage.

Avantageusement, la fonction de coût répondant à la condition de validation est la fonction de coût minimale.

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 sur apprentissage limité.

Avantageusement, l’étape de génération, d’entraînement et de test de plusieurs réseaux de neurones artificiels, comporte plusieurs sous-étapes :

• 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 ; • 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 ;

• 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 .

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é.

Avantageusement, l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur est compris dans l’intervalle [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.

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.

Ainsi, le nombre de neurones par couche est adapté à la complexité des données à traiter. 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.

Ainsi, l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage prend en compte tous les cas de figure pouvant être rencontrés.

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.

Ainsi, les résultats obtenus sur les échantillons permettent d’extrapoler les résultats qui auraient été obtenus sur la base entière.

Un second aspect de l’invention concerne un procédé d’évaluation d’un risque lié à une donnée caractérisé en ce qu’il comporte les étapes du procédé selon un premier aspect de l’invention suivies d’une étape d’évaluation du risque lié à la donnée par le réseau de neurones artificiels sélectionné à l’étape de sélection. Ainsi, le réseau de neurones artificiels généré par le procédé selon un premier aspect de l’invention qui a été adapté à la tâche d’évaluation d’un risque est utilisé pour évaluer le risque d’une donnée de même type que celles comprises dans les bases de données d’entraînement et de généralisation. Ainsi, l’utilisateur obtient, pour chaque donnée qu’il souhaite évaluer, une valeur du risque sans qu’il ait eu besoin de régler les paramètres du réseau de neurones artificiels.

Avantageusement, si la valeur du risque est supérieure à un seuil d’alerte, le procédé selon un premier aspect de l’invention comporte une étape de génération d’une alerte.

Ainsi, si la valeur du risque est élevée, l’utilisateur en est alerté et peut prendre une décision en conséquence.

Avantageusement, si la valeur du risque est supérieure à un seuil d’alerte, le procédé selon un premier aspect de l’invention comporte une étape de routage de la donnée vers un équipement donné. Ainsi, si la valeur du risque est élevée, la donnée est automatiquement envoyée vers un équipement utilisateur collectant les données à risque pour une analyse plus poussée. 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.

BREVE DESCRIPTION DES FIGURES

Les figures sont présentées à titre indicatif et nullement limitatif de l’invention.

- La figure 1 montre une représentation schématique d’un réseau de neurones artificiels.

- 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 premier aspect de l’invention.

- La figure 3 montre une représentation schématique d’un exemple de premier réseau de neurones artificiels de test.

- La figure 4 montre une représentation schématique d’un exemple de deuxième réseau de neurones artificiels de test.

- La figure 5 montre une représentation schématique d’un exemple de troisième réseau de neurones artificiels de test.

DESCRIPTION DETAILLEE D’AU MOINS UN MODE DE REALISATION DE L’INVENTION

Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique.

Un premier aspect de l’invention concerne un procédé 200 de génération automatique de réseaux de neurones artificiels 100.

Dans la suite de la demande, on utilisera indifféremment les termes « réseau de neurones » et « réseau de neurones artificiel ». 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.

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.

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. 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.

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.

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.

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é.

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.

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.

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.

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.

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.

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.

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.

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.

Le procédé 200 selon un premier 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.

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.

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.

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 vaut 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 .

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.

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.

Le premier réseau de neurones artificiels de test 1 10 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 1 10 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.

Le premier réseau de neurones artificiels de test 1 10 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.

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.

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.

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.

Une fois générés, le premier réseau de neurones artificiels de test 1 10 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.

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.

Par exemple, le premier et le deuxième échantillon de la base de données d’entraînement sont identiques.

L’étape d’entraînement du premier réseau de neurones artificiels de test 1 10 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.

Le premier réseau de neurones artificiels de test 1 10 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.

La fonction de coût C est par exemple définie comme ci-dessous :

Avec : x N , la N-ème donnée de la base de données utilisée, e £ , 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, l le paramètre de régularisation, p j t 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.

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 :

où f c (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.

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. 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. 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 sur apprentissage.

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.

Le premier réseau de neurones artificiels de test 1 10 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.

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.

Le premier réseau de neurones artificiels de test 1 10 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. 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.

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 1 10 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.

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.

Par exemple, le premier et le deuxième jeu de valeurs du paramètre d’apprentissage sont identiques.

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.

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.

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.

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 1 10. 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é.

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.

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.

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. Chaque entraînement du premier réseau de neurones artificiels de test 1 10 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é. Par exemple, le nombre d’époques utilisé pour entraîner le premier réseau de neurones artificiels de test 1 10 est identique au nombre d’époques utilisé pour entraîner le deuxième réseau de neurones artificiels de test 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.

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.

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.

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.

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.

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.

Cet entraînement est réalisé pour au moins une époque ou alternativement pour plusieurs époques.

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 1 10 et/ou le deuxième réseau de neurones artificiels de test 120.

Un paramètre de régularisation optimal l est ensuite calculé de la manière suivante :

Avec : C, la fonction de coût, p j , 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. 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.

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 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é.

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’j 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.

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é. 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 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.

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.

Par exemple, un utilisateur souhaite adapter un réseau de neurones artificiels à la tâche d’évaluation d’un risque. La base de données d’apprentissage et la base de données de généralisation comportent alors un type de données pour lesquelles l’utilisateur souhaite évaluer un risque.

Les bases de données d’apprentissage et de généralisation comportent par exemple des profils utilisateurs pour lesquels l’utilisateur souhaite évaluer, par exemple le risque de fraude. La base de données d’apprentissage comporte alors des profils utilisateurs et les valeurs de risque de fraude associées et la base de données de généralisation comporte des profils utilisateurs pour lesquels les valeurs de risque de fraude sont connues mais non comprises dans la base de données de généralisation.

De même, les bases de données d’apprentissage et de généralisation peuvent comporter des données relatives à un procédé, par exemple les données d’un processus dans une centrale nucléaire, pour lesquels l’utilisateur souhaite évaluer, par exemple le risque d’accident.

Une fois que le réseau de neurones artificiels adapté à l’évaluation d’un risque est généré, les étapes 201 à 204 du procédé 100 selon un premier aspect de l’invention peuvent être suivies d’une étape d’évaluation d’un risque associé à une donnée de même type que les données des bases de données d’apprentissage et de généralisation. Le procédé devient alors un procédé d’évaluation d’un risque lié à une donnée.

Par exemple, si les bases de données d’apprentissage et de généralisation comportent des profils utilisateurs dont on veut évaluer le risque de fraude, le réseau de neurones artificiels généré va fournir une valeur de risque pour un profil utilisateur donné quantifiant le risque qu’un tel utilisateur fraude.

La valeur du risque obtenue peut alors être comparée à un seuil d’alerte et des mesures particulières peuvent être mises en place si la valeur du risque est supérieure au seuil d’alerte, par exemple une alerte peut être générée ou la donnée peut être envoyée à un équipement utilisateur dédié pour une analyse de risque plus poussée.