2.3 Outils statistiques utilisés
2.3.3 La régression non linéaire par réseau de neurones
Dans les années quarante, une vague de chercheurs s’était intéressée à modéliser
sim-plement le cerveau humain à partir de ses éléments essentiels, les neurones et les
sy-napses. Les modèles de neurones formels et de structure de réseaux qui étaient nés de
ces recherches étaient d’une simplicité extrême mais leur but n’était pas d’essayer de
représenter fidèlement le modèle biologique. Il consistait plutôt à prendre en compte les
caractéristiques principales les plus simplifiées du modèle biologique et à observer les
propriétés qui résultaient de leur association. De même que dans le cas du cerveau, ces
réseaux utilisaient le principe de la mémoire distribuée stockant les informations dans
Classement mécanique 68
l’ensemble des neurones formels et synapses.
La notion de neurone formel a été introduite par McCulloch et Pitts en 1943 [57]. La
définition de ce terme est la suivante "Un neurone formel fait une somme pondérée des
potentiels d’actions qui lui parviennent (chacun de ces potentiels est une valeur
numé-rique qui représente l’état du neurone qui l’a émis), puis s’active suivant la valeur de
cette sommation pondérée. Si cette somme dépasse un certain seuil, le neurone est activé
et transmet une réponse (sous forme d’un potentiel d’action) dont la valeur est celle de
son activation. Si le neurone n’est pas activé il ne transmet rien". Par cette définition, le
neurone biologique est transformé en une fonction (dite de transfert), les synapses reliant
les neurones sont représentés par des poids (réels pondérant les entrées de la fonction)
et les signaux électriques (ou potentiels d’action) deviennent des nombres.
La représentation d’un neurone forme est donnée sur la Fig.(Fig.2.15).
Figure 2.15: Représentation d’un neurone formel
Le neurone formel reçoit les variables d’entrées associées à un poids, w. Il calcule alors
une fonction, f, des sommes pondérées des variables d’entrées et réalise trois opérations
distinctes :
• La fonction poids : le vecteur d’entrée x composé de k éléments est multiplié par
la matrice des poids, W pour former le produit matriciel Wx.
• Le potentiel n : Un terme constant ou "biais", b, est ajouté au produit des
en-trées pondérées, Wx. Le biais est souvent considéré comme un poids sauf que la
variable auquel il est associé est une constante égale à 1. Ce potentiel,n, est le plus
fréquemment utilisé dans l’approximation de fonction.
• La fonction de transfert f : elle définit l’activation a du neurone en fonction du
potentiel,n.
Les principales fonctions de transferts utilisées par les neurones formels sont : Heaviside,
log-sigmoïde, tan-sigmoïde et linéaire, Fig.2.16.
Figure 2.16:Exemples de fonctions de transfert utilisées par les neurones formels [58]
La fonction d’activation sigmoïde reçoit les entrées qui varient de plus l’infini à moins
l’infini et avec une sortie qui varie entre 0 et 1. Le principe de la fonction d’activation
tangente hyperbolique est le même que celui de la fonction sigmoïde sauf que la sortie
tombe dans l’intervalle [-1 ; 1].
Un réseau de neurones artificiel (par opposition au neurone biologique) est donc
l’asso-ciation, en une architecture plus ou moins complexe, d’objets élémentaires : lesneurones
formels.
Depuis leur création, la connexion (comparable à des synapses) de ces neurones formels
pour former un réseau de neurones artificiel permet de résoudre différents problèmes
dans des secteurs variés [59] :
• traitement d’images : reconnaissance de caractères et de signatures, compression
d’images, reconnaissance de forme, cryptage ...
• traitement du signal : filtrage, classification, identification de source, traitement de
la parole ...
• contrôle : commande de processus, diagnostic, contrôle qualité, asservissement de
robots ...
• optimisation : planification, allocation de ressource, gestion et finances ...
• simulation : simulation de boîte noire, prévision météorologique, recopie de modèle
...
Les réseaux de neurones sont utilisés ici comme une méthode alternative à la fonction
polynomiale décrite précédemment. En effet, la propriété fondamentale des réseaux de
neurones estson approximation parcimonieuse. Cette expression traduit deux propriétés
distinctes : d’une part, les réseaux de neurones sont définis comme des approximateurs
universels, et, d’autre part, une approximation, à l’aide de réseau de neurones, nécessite,
en général, moins de paramètres ajustables que les approximateurs usuels (régression
polynomiale, par exemple). Le principe de l’approximation est décrit par la suite. La
Classement mécanique 70
parcimonie des réseaux permet de rechercher un modèle prédictif satisfaisant avec un
minimum de coefficients ajustables. En effet, le nombre de paramètres ajustables varie
essentiellement de manière linéaire en fonction du nombre de variables de la fonction que
l’on cherche à approcher (dans le cas des réseaux de neurones) alors qu’il varie beaucoup
plus rapidement (exponentiellement) avec les dimensions de l’espace des entrées dans le
cas des approximateurs usuels [60].
Il existe différentes architectures de réseaux de neurones, dont le réseau multicouche,
où un ou plusieurs neurones peuvent être combinés dans une couche et une ou plusieurs
couches peuvent composer un réseau. La couche qui produit la sortie du réseau est
ap-pelée « couche de sortie » et les autres sont apap-pelées « couches cachées » (Fig.2.17).
Dans cette étude, le réseau de neurones utilisé est le perceptron multicouches. Le
per-ceptron multicouches est un réseau orienté de neurones artificiels organisé en couches et
où l’information voyage dans un seul sens, de la couche d’entrée vers la couche de sortie.
Ainsi un neurone d’une couche cachée est connecté en entrée à chacun des neurones de
la couche précédente et en sortie à chaque neurone de la couche suivante [61].
Le réseau de neurones type utilisé pour l’approximation de fonction est souvent composé
d’une ou plusieurs couches cachées suivie d’une couche de sortie à un neurone (si on ne
veut prédire qu’une seule sortie). La fonction de transfert appliquée aux neurones des
couches cachées est la tangente hyperbolique celle employée dans la couche de sortie est
la fonction linéaire.
Figure 2.17:Architecture d’un réseau de neurones perceptron multicouches (2 couches
cachées représentées ici)
Avant de pouvoir définir l’architecture optimale du réseau de neurones utilisé ici, les
échantillons doivent être sélectionnés et préparés. Concernant le traitement des données
d’entrée, il est souvent préférable de les normaliser (variables centrées réduites). En effet,
si des variables d’entrée ont des plages de variation très différentes, celles qui auront de
faibles valeurs ne seront pas perçues comme influentes sur la réponse recherchée (comme
par exemple, le MOE qui affiche une plus grande variabilité et de plus fortes valeurs
que la circularité). Il est alors préférable de normaliser les données afin qu’elles soient
toutes comprises dans la même plage de données [62]. Le second intérêt de normaliser
les données, est que si les données d’entrée ont de fortes valeurs, les poids qui leur seront
associés seront très faibles. Ces faibles valeurs de poids peuvent vite saturer le réseau de
neurones et donc empêcher la résolution de l’équation prédictive. Un pré-traitement des
données permet alors de palier à ce problème [63].
Les variables d’entrée auront donc toutes une moyenne égale à 0 et un écart-type de 1.
Pour ce qui est de la variable de sortie, il n’est pas indispensable de la normaliser pour
des réseaux de neurones statiques (utilisés ici car la notion de temps n’est pas intégrée
par opposition aux réseaux de neurones dynamiques). Cependant par simplicité de
com-préhension de l’équation prédictive finale obtenue par réseau de neurones, cette variable
sera également normalisée.
Une fois le pré-traitement réalisé sur les échantillons, tout comme la régression
polyno-miale, la base de données a été divisée en deux sous-échantillons. Le premier représente
souvent les 2/3 de la base de données et est utilisé en apprentissage de la fonction
prédic-tive. Le second servira quant à lui pour la validation du modèle en vérifiant sa robustesse
et sa capacité à généraliser.
La prochaine étape consiste à définir l’architecture du réseau de neurones. Une structure
trop complexe avec de nombreuses couches de neurones cachées peut rapidement saturer
le réseau et rendre impossible la validation et la généralisation du modèle. Plus la
struc-ture du réseau de neurones sera simple, meilleure sera la robustesse du modèle prédictif
obtenu. Ainsi il sera fixé un réseau de neurones possédant une seule couche cachée, où
seul le nombre de neurones à l’intérieur de cette couche sera étudié. En effet, les réseaux
de neurones sont caractérisés par leur propriété d’approximation universelle :"toute
fonc-tion bornée suffisamment régulière peut être approchée avec une précision arbitraire, dans
un domaine fini de l’espace de ses variables, par un réseau de neurones comportant une
couche de neurones cachée en nombre fini, possédant tous la même fonction d’activation,
et un neurone de sortie linéaire" [64]. Pour ce qui concerne la définition du nombre de
neurones dans la couche cachée, il n’existe aucune formulation exacte pour le définir,
mais certains auteurs ont néanmoins proposé des règles empiriques de ce nombre (pour
une même configuration de réseau avec une seule couche cachée). Les règles sont les
suivantes :
• Il doit être compris entre le nombre de variables d’entrée et de sortie [65],
• Il ne doit pas être supérieur à deux fois le nombre de variables d’entrée [66],[67],
• Il est défini par l’équation suivante, eq.2.10, [68] :
h= N
Classement mécanique 72
où h est le nombre de neurones cachés, N le nombre d’exemples en apprentissage,
n le nombre de variables d’entrée du réseau, p le nombre de neurones de sortie et
k un facteur bruit tel que 4<k<10 (qui tient compte d’un éventuel bruit dans la
base de données et qui augmente avec ce bruit).
Les règles proposées ne permettent pas de définir avec précision le nombre de neurones
cachés. Cette quantité est surtout fonction de la performance du réseau en validation.
Si le nombre de neurones cachés est optimal, les coefficients de détermination obtenus
entre les valeurs du modèle et celles expérimentales en apprentissage et en validation
seront équivalents. Pour un nombre de neurones cachés trop important, la corrélation
obtenue en apprentissage sera certes très intéressante mais celle obtenue en validation
sera très médiocre avec un faible coefficient de détermination. On parle alors de
sur-apprentissage. Le modèle neuronal a trop appris les données qui lui étaient affectées en
apprentissage mais il est dans l’incapacité de généraliser. Le nombre de neurones cachés
est donc fonction des données d’entrée et de sortie, de leurs variabilités ainsi que du
nombre d’échantillons placés en apprentissage et validation. Il sera défini par la suite en
fonction de la base de données expérimentale. Nous retiendrons donc que le réseau de
neurones choisi par la suite est composé d’une couche cachée contenant N neurones. La
fonction de transfert (ou d’activation) utilisée pour cette couche est la fonction tangente
hyperbolique. Concernant la couche de sortie, elle ne contiendra qu’un seul neurone car
nous recherchons la solution d’une seule variable, la force ultime. La fonction de transfert
alors utilisée pour la couche de sortie est linéaire. La figure suivante,Fig.2.18 résume la
structure du réseau de neurones retenu.
Figure 2.18: Structure du réseau de neurones retenu
L’équation prédictive alors obtenue pour ce type de structure neuronale est de la forme,
eq.2.11
g(x, w) =
S1
X
j=1
"
wS2,j.th
k
X
l=1
wjl.x
l+b1(j)
!#
+b2(1) (2.11)
Ainsi, une fois l’architecture du réseau définie à savoir les variables d’entrée, le nombre
de couches cachées, le nombre de neurones, l’apprentissage du modèle peut débuter.
Cependant, il est nécessaire de fixer les paramètres du réseau. Une initialisation des
poids et biais est donc réalisée. A présent le réseau de neurones de type perceptron
multicouches peut être appris. Le processus d’apprentissage consiste à affiner les valeurs
des poids et des biais afin d’optimiser la performance du réseau. Afin de définir ces
valeurs, l’objectif de la partie apprentissage est de minimiser la fonction coût au sens des
moindres carrés, donnée par eq.2.12:
J(w) =
N
X
i=1
(yi−g(xi, w))2 (2.12)
oùg(xi, w) correspond à la i-ème valeur estimée par réseau de neurones (soitybi) etyi la
valeur réelle.
Ainsi, plus faible est la quantitéJ(w), meilleure est l’approximation de fonction. Puisque
l’on cherche le vecteur des paramètres (poids et biais) qui rend cette fonction, eq.2.12,
minimale, il suffit d’écrire que le gradient de la fonction de coût est nul. L’évaluation du
gradient de la fonction de coût peut être effectuée de manière économique à l’aide d’un
algorithme appeléalgorithme de rétropropagation [69],[70],[62].
Concernant l’optimisation des poids et des biais pour obtenir la fonction de coût
mi-nimale, il existe différents algorithmes d’apprentissage (ou d’optimisation). Dans le cas
de l’utilisation des réseaux de neurones dans l’approximation de fonction, l’algorithme
le plus utilisé est celui de Levenberg-Marquardt. La procédure de cet algorithme est
itérative et permet une rapide convergence de la solution [71], [72], [73], [74].
Dans le document
Une modélisation de la résistance en flexion du pin maritime utilisé en construction
(Page 80-86)