• Aucun résultat trouvé

7.2.1 Concept

Le réseau de neurones est un outil mathématique puissant permettant de trouver une relation non-linéaire entre des variables et un résultat. Un neurone est une fonction algébrique non linéaire et bornée, dont la valeur dépend de paramètres appelés coefficients ou poids. On appelle "entrées" les variables de cette fonction et "sorties", la valeur de la fonction. Le neurone est donc avant tout un opérateur mathématique dont on peut calculer la valeur à partir de sa formule. Il existe de nombreux types de réseaux de neurones avec chacun leurs spécificités et leurs limitations. Nous allons décrire ici uniquement le fonctionnement du réseau de neurones de type perceptron multi-couche qui a servi pour cette étude, et qui se trouve aussi être le plus généralement utilisé.

C’est une fonction non-linéaire, ici une tangente hyperbolique, d’une combinaison li- néaire d’entrées qui caractérise le neurone :

y = tanh n X i=1 wivi ! . (7.1)

Les variables d’entrée du neurone sont notées vi et les wisont les paramètres ajustables

ou poids. Le neurone réalise en fait une somme pondérée (neurone sommateur) suivie d’une fonction d’activation non linéaire. C’est l’association de plusieurs éléments simples de ce type sous forme de réseau qui permet de réaliser des fonctions utiles en modélisation ou autres applications.

Dans notre cas, le réseau de neurones est non bouclé. Il réalise une fonction algébrique de ses entrées par composition de fonctions réalisées par chacun de ses neurones. Schéma- tiquement ce réseau est représenté par un ensemble de neurones connectés entre eux avec un sens allant des entrées vers la ou les sorties. Il n’y a pas de retour en arrière de l’infor- mation. La structure du perceptron multi-couche (figure 7.1) comprend des entrées, une couche de neurones cachés et des neurones de sortie, les neurones n’étant pas connectés entre eux.

Figure 7.1 – Schéma d’un perceptron multicouche.

Les réseaux de neurones non bouclés sont des objets statiques c’est à dire que si les entrées sont indépendantes du temps, les sorties le sont aussi. Leur application principale est l’approximation de fonctions non linéaires, de modélisation de processus statiques ou de classification.

7.2.2 Avantages

La propriété remarquable des réseaux de neurones tels que nous venons de les décrire est leur qualité d’approximateurs universels parcimonieux. C’est cette propriété qui est à l’origine de leur intérêt pratique dans des domaines divers. On peut définir succinctement la propriété d’approximation de la manière suivante : Toute fonction bornée suffisamment régulière peut être approchée avec une précision arbitraire, dans un domaine fini de l’espace

7.2. L’APPROCHE STATISTIQUE, LES RNA 127 de ses variables, par un réseau de neurones comportant une couche de neurones cachés en nombre fini, possédant tous la même fonction d’activation, et un neurone de sortie linéaire (Hornik et al., 1989). Les réseaux de neurones ne sont pas les seuls outils possédant cette propriété. Il existe d’autres familles de fonctions paramétrées telles que les ondelettes, les fonctions radiales, ou encore les fonctions splines.

Ce qui rend les réseaux de neurones uniques réside dans le caractère parcimonieux de l’approximation. À précision égale, les réseaux de neurones nécessitent moins de pa- ramètres ajustables que les approximateurs universels couramment utilisés. En effet le nombre de poids varie linéairement avec le nombre de variables de la fonction alors qu’il varie exponentiellement pour la plupart des autres approximateurs (Hornik et al., 1994). Il sera donc préférable d’utiliser un réseau de neurones dès que le problème fait intervenir plus de deux variables. Cette propriété de parcimonie peut se comprendre lorsque l’on compare les différentes méthodes d’approximation. Quand celle-ci est une combinaison linéaire de fonctions élémentaires fixées (monômes ou gaussiennes), seuls les coefficients de la combinaison sont ajustables alors que lorsque l’approximation est une combinaison linéaire de fonctions non linéaires à paramètres ajustables, c’est à dire un perceptron multi-couches, ce sont à la fois les coefficients de la combinaison et la forme des fonc- tions que l’on combine qui sont ajustés. Le fait de pouvoir ajuster la forme des fonctions que l’on combine confère plus de souplesse et permet d’utiliser un nombre plus petit de paramètres.

En pratique, les réseaux de neurones sont utilisés lorsque l’on cherche une forme ma- thématique de la relation entre un ensemble de mesures de variables d’un processus et le résultat de ce processus. On parle alors de modélisation "boîte noire" car les mesures dont on dispose sont en nombre fini, qu’elles sont certainement entachées de bruit et que toutes les variables qui déterminent le résultat du processus ne sont pas forcément mesurées. On ne pourra obtenir la vraie fonction qui décrit ce processus qu’avec un nombre infini de mesures du résultat pour chaque valeur possible des variables. C’est donc une approxima- tion à partir des mesures disponibles de cette fonction que l’on va rechercher à l’aide du réseau de neurones, si cette fonction est non linéaire. On obtient cette approximation en estimant les paramètres du réseau de neurones au cours de la phase dite d’apprentissage. C’est là que la propriété de parcimonie est avantageuse, en effet, le nombre de mesures nécessaires pour estimer les paramètres de manière significative est d’autant plus grand que le nombre de paramètres est grand. De cette manière, à précision égale, le réseau de neurones nécessite moins de données qu’une régression linéaire multiple pour modéliser une grandeur. On aura donc à nombre de données égal, une approximation plus précise avec un réseau de neurones plutôt qu’une régression multiple.

On peut donc dire que le réseau de neurones fait un meilleur usage des mesures dispo- nibles que les méthodes de régression non linéaire conventionnelles. Ce gain est d’autant plus remarquable lorsque le processus à modéliser dépend de nombreuses variables en ayant en tête que le nombre de paramètres varie exponentiellement pour les méthodes conventionnelles.

Bien que le vocabulaire associé au réseau de neurones soit très anthropomorphique, cette méthode relève bien du domaine des statistiques.

7.2.3 Mise en œuvre du réseau de neurones

Quatre étapes sont identifiées pour mettre en œuvre un réseau de neurones. D’abord le choix de l’architecture, puis le choix de l’ensemble d’apprentissage, la phase d’appren- tissage et enfin la validation.

Le choix de l’architecture du réseau permet de définir les entrées externes et le nombre de neurones cachés afin que le réseau soit capable de reproduire ce qui est déterministe dans les données. Le nombre de paramètres ajustables (poids) du réseau de neurones est un élément clé de la réussite de l’application. Un trop grand nombre de neurones et donc de poids rend le réseau trop souple et va donc créer des oscillations entre les points d’apprentissage ou un ajustement trop important sur le bruit présent dans les données, c’est le sur-apprentissage. Dans ce cas les propriétés d’interpolation ou de généralisation seront mauvaises. À l’inverse, si le nombre de poids est trop petit, le réseau sera trop rigide et ne sera pas non plus capable de reproduire la partie déterministe des données. Le choix du nombre de neurones dépend uniquement du nombre d’entrées du réseau.

Le jeu de données disponible doit être séparé en deux ensembles. Le premier ensemble est dédié à la phase d’apprentissage et le second à la phase de validation. La sélection des données se fait de façon aléatoire pour obtenir une distribution statistique identique et une homogénéité des deux ensembles.

La phase d’apprentissage correspond à l’estimation des paramètres de la régression non linéaire à partir des données. Dans cette étape, le calcul des poids est effectué en vue de minimiser l’erreur d’approximation sur les points de l’ensemble d’apprentissage.

Une fois la phase d’apprentissage terminée, la qualité du réseau obtenu est vérifiée par comparaison avec les données de l’ensemble de validation. Cette étape permet de déter- miner sa capacité à modéliser le phénomène étudié et ses performances sur un ensemble de données différent de l’ensemble d’apprentissage.

Les étapes d’apprentissage supervisé et de validation font appel à des méthodes spé- cifiques. Le but de l’apprentissage est de calculer les poids pour que les sorties du réseau soient aussi proches que possibles des mesures. Généralement, des algorithmes d’optimi- sation sont utilisés pour l’apprentissage. Leur action est de minimiser par des méthodes d’optimisation non linéaire, une fonction de coût qui représente une mesure de l’écart entre les réponses réelles du réseau et les mesures. L’optimisation est faite de manière ité- rative, en modifiant les poids selon le gradient de la fonction coût. Ce gradient est estimé par une méthode de rétro-propagation spécifique au réseau de neurones. Les poids sont initialisés aléatoirement avant l’apprentissage puis modifiés itérativement jusqu’à obtenir un compromis entre la précision de l’approximation sur l’ensemble d’apprentissage et sur l’ensemble de validation.