• Aucun résultat trouvé

IV. ANALYSE DES DONNEES DE RESEAUX DE CAPTEURS GNSS POUR LA DETECTION

IV.2. O UTILS DE REGRESSION PAR APPRENTISSAGE

IV.2.4. R ESEAUX DE NEURONES ARTIFICIELS

L’étude présentée dans le Chapitre III a mis en avant plusieurs caractéristiques des relations entre les observations des différents capteurs pour les séries temporelles acquises sur les deux ouvrages instrumentés par réseaux de Geocubes :

 des relations de corrélation entre des capteurs instrumentant différentes parties des ouvrages, traduisant des relations partiellement linéaires ;

 des inerties différentes, se traduisant par un déphasage entre les mouvements quotidiens, notamment sur le pont de Brotonne ;

 des régimes quotidiens variables.

Dans ce contexte, les réseaux de neurones artificiels, par leur capacité à modéliser des comportements non-linéaires et variables, apparaissent comme des candidats pertinents et innovants pour proposer des modèles par apprentissage des déplacements observés par GNSS sur ouvrages.

IV.2.4.1. P

RINCIPES ET FONCTIONNEMENT

Les réseaux de neurones artificiels (Artificial Neural Networks, ANN), aussi appelés perceptrons multicouches (Multi Layer Perceptron, MLP), constituent une famille large d’outils d’apprentissage polyvalents, pouvant être appliqués dans des approches supervisées ou non, et pour des applications de classification comme de régression (Du et al., [2013], [2014]; Hassoun et al., [1995]; Murtagh, [1991]).

Les ANN sont conçus à base de cellules appelés neurones, ou perceptrons (Figure IV-3) (Rosenblatt, [1958]; Stephen, [1990]). Un perceptron est une combinaison non-linéaire réalisée en plusieurs étapes : les entrées 𝑥𝑚(𝑡) sont combinées linéairement (poids 𝑤𝑖 et une constante 𝑏𝑘 pour un neurone numéroté 𝑘), et la résultante est injectée dans une fonction d’activation. Cette fonction d’activation peut remplir deux critères particuliers :

 la fonction d’activation n’a pas besoin d’être une fonction linéaire. Cela permet au perceptron d’être utilisé comme un outil de régression non-linéaire. Il est en revanche important de connaître la dérivée de cette fonction de transfert pour l’optimisation du réseau. On peut utiliser des fonctions type sigmoïde, tangente hyperbolique, ReLU, fonction d’Heaviside, etc…

 la fonction d’activation peut être une fonction à seuil, c’est-à-dire avec une sortie logique fixée à des valeurs comme 0 ou 1.

138

Figure IV-3 Schéma d'un neurone artificiel

Ces attributs permettent aux neurones d’ingérer et de produire des signaux aussi bien sous la forme de fonctions continues que de fonctions discontinues.

Les ANN mettent à profit les propriétés de ces cellules unitaires en les agençant sous la forme de réseaux dans lesquels elles sont disposées soit en parallèle (dans une même couche où elles reçoivent les mêmes entrées), soit en série (sur plusieurs couches, où les sorties d’une couche sont utilisée en entrée de la suivante). Cette imbrication permet aux ANN de modéliser des relations plus complexes que les outils traditionnels. Les ANN sont généralement construits de la façon suivante (Figure IV-4) :

 une couche d’entrée (input layer), dont les neurones ingèrent les entrées 𝑋 du modèle. Dans des applications de régression, ces neurones servent généralement à normaliser les données. Cette couche comporte autant de neurones que d’entrées utilisées ;

 une ou plusieurs couche(s) cachée(s) (hidden layers), dont les neurones constituent le cœur du modèle par apprentissage. Pour un réseau à une couche cachée, tous les neurones du réseau sont en parallèle. Pour un réseau à deux couches cachées où plus, les neurones à partir de la deuxième couche ne reçoivent jamais de données réelles, seulement les sorties déjà transformées des couches précédentes. On parle d’apprentissage profond (deep learning) dans ce dernier cas ;

 une couche de sortie (output layer), qui recale les sorties de la couche précédente pour produire un modèle de la cible 𝑌 du modèle.

Figure IV-4 Schéma d'un réseau de neurones artificiels

Plus un réseau comporte de neurones et de couches, mieux il peut modéliser des relations complexes. Théoriquement, un ANN est capable d’approximer toute fonction continue sous condition qu’il dispose du nombre approprié de neurones. Cependant, tout problème ne peut être résolu simplement en augmentant le nombre de neurones du réseau. D’une part, l’augmentation

139 de la taille d’un réseau implique une augmentation drastique du nombre de paramètres (poids) à ajuster, nécessitant une augmentation du volume d’observations utilisées dans l’apprentissage. D’autre part, un nombre trop important de neurones entraîne le risque de surapprentissage (cf. Paragraphe IV.3.3.3). Globalement, les principaux facteurs limitants de l’utilisation de réseaux de neurones profonds sont liés à la réalisation de l’apprentissage.

IV.2.4.2. A

PPRENTISSAGE

Après la sélection de l’architecture d’un réseau (nombre et types de neurones, nombre de couches), l’apprentissage supervisé permet d’ajuster les poids 𝑤𝑖 et 𝑏0 des combinaisons linéaires des différents neurones. La méthode généralement utilisée pour les ANN est la rétropropagation du gradient (Goh, [1995]; Hecht-Nielsen, [1992]). Cette méthode consiste à optimiser une fonction-coût 𝐶(𝑤1, … , 𝑤𝑖, 𝑏1, … , 𝑏𝑗), dont la valeur est déterminée par l’écart entre la sortie d’un réseau et les observations sur un intervalle d’apprentissage. La fonction 𝐶 peut être représentée comme un hyperplan de dimension égale au nombre de poids total (𝑖 + 𝑗) du réseau : l’optimisation revient à trouver le minimum de cet hyperplan. Le système étant complexe (dimension élevée, non-linéarité), la recherche du minimum passe par l’estimation du gradient local ∇𝐶⃗⃗⃗⃗⃗⃗ (Eq. IV-7), et par l’ajustement des poids du réseau à partir de ∇𝐶⃗⃗⃗⃗⃗⃗, ces poids étant généralement initialisés aléatoirement.

∇𝐶 ⃗⃗⃗⃗⃗⃗ = ( 𝜕𝐶 𝜕𝑤1 ⋮ 𝜕𝐶 𝜕𝑤𝑖 𝜕𝐶 𝜕𝑏1 ⋮ 𝜕𝐶 𝜕𝑏𝑗) Eq. IV-7

Afin d’illustrer l’approche utilisée, on propose de s’intéresser dans la suite de ce paragraphe au cas simple d’un réseau à plusieurs couches mais avec un seul neurone par couche (Figure IV-5), et de se concentrer sur l’estimation des poids de la dernière couche 𝐿.

Figure IV-5 Schéma d'un réseau de neurones artificiels simple

Dans ce paragraphe, la notation suivante est utilisée :

 𝐿 représente le nombre de couches du réseau. L’appartenance d’un élément à une couche 𝐿 est exprimée par l’utilisation d’exposants ;

 𝑛𝐿 la sortie d’un neurone de la couche 𝐿 ;  𝑧𝐿 la combinaison linéaire du neurone 𝑛𝐿 ;  𝑓𝐿 la fonction d’activation du neurone 𝑛𝐿 ;

 𝑦(𝑡) l’observation cible que le réseau cherche à modéliser ;

 𝐶(𝑡) la fonction-coût. Pour des raisons de clarté, les paramètres 𝑤1, … , 𝑤𝑖, 𝑏1, … , 𝑏𝑗 ne sont pas explicités.

140 L’erreur quadratique est utilisée ici comme fonction-coût (Eq. IV-8).

𝐶(𝑡) = ( 𝑛𝐿(𝑡) − 𝑦(𝑡))2 Eq. IV-8

A partir de l’expression de 𝑛𝐿 (Eq. IV-9), on exprime 𝜕𝐶

𝜕𝑤𝐿 à partir de dérivées connues ou estimables (Eq. IV-10).

𝑛𝐿(𝑡) = 𝑓𝐿(𝑧𝐿(𝑡)) = 𝑓𝐿(𝑤𝐿𝑛𝐿−1(𝑡) + 𝑏𝐿) Eq. IV-9 𝜕𝐶(𝑡) 𝜕𝑤𝐿 = 𝜕𝐶(𝑡) 𝜕𝑛𝐿(𝑡) 𝜕𝑛𝐿(𝑡) 𝜕𝑧𝐿(𝑡) 𝜕𝑧𝐿(𝑡) 𝜕𝑤𝐿 Eq. IV-10

Les dérivées partielles𝜕𝐶(𝑡) 𝜕𝑛𝐿(𝑡), 𝜕𝑛𝐿(𝑡)

𝜕𝑧𝐿(𝑡), et 𝜕𝑧𝐿(𝑡)

𝜕𝑤𝐿 sont exprimées respectivement dans l’Eq. IV-11, l’Eq. IV-12, et l’Eq. IV-13.

𝜕𝑧𝐿(𝑡) 𝜕𝑤𝐿 = 𝑛(𝐿−1)(𝑡) Eq. IV-11 𝜕𝑛𝐿(𝑡) 𝜕𝑧𝐿(𝑡)= 𝑓 (𝑧𝐿(𝑡)) Eq. IV-12 𝜕𝐶(𝑡) 𝜕𝑛𝐿(𝑡)= 2(𝑛 𝐿(𝑡) − 𝑦(𝑡)) Eq. IV-13

Lorsque l’expression de la dérivée 𝑓′𝐿 est connue, il est alors possible d’exprimer 𝜕𝐶 𝜕𝑤𝐿 en fonction de termes connus (Eq. IV-14).

𝜕𝐶(𝑡)

𝜕𝑤𝐿 = 𝑛(𝐿−1)(𝑡) ∙ 𝑓′𝐿(𝑧𝐿(𝑡)) ∙ 2(𝑛𝐿(𝑡) − 𝑦(𝑡)) Eq. IV-14

Avec une approche similaire, il est possible d’exprimer 𝜕𝐶

𝜕𝑏𝐿 (Eq. IV-15). 𝜕𝐶(𝑡)

𝜕𝑏𝐿 = 𝑓′𝐿(𝑧𝐿(𝑡)) ∙ 2(𝑛𝐿(𝑡) − 𝑦(𝑡)) Eq. IV-15

L’expression de ∇𝐶⃗⃗⃗⃗⃗⃗(𝑡) dans ce cas simplifié est alors connue (Eq. IV-16).

∇𝐶 ⃗⃗⃗⃗⃗⃗(𝑡) = ( 𝜕𝐶(𝑡) 𝜕𝑤𝐿 𝜕𝐶(𝑡) 𝜕𝑏𝐿 ) = (𝑛(𝐿−1)(𝑡) ∙ 𝑓′ 𝐿(𝑧𝐿(𝑡)) ∙ 2(𝑛𝐿(𝑡) − 𝑦(𝑡)) 𝑓′𝐿(𝑧𝐿(𝑡)) ∙ 2(𝑛𝐿(𝑡) − 𝑦(𝑡)) ) Eq. IV-16

Cependant, l’expression de ∇𝐶⃗⃗⃗⃗⃗⃗(𝑡) pour chaque observation est peu significative. ∇𝐶⃗⃗⃗⃗⃗⃗ est alors calculé en moyennant ses composantes sur l’intervalle d’apprentissage [𝑡1, 𝑡2, … , 𝑡𝑘] (Eq. IV-17).

141 ∇𝐶 ⃗⃗⃗⃗⃗⃗ = ( 𝜕𝐶 𝜕𝑤𝐿 𝜕𝐶 𝜕𝑏𝐿 ) = ( 1 𝑘 𝜕𝐶(𝑡𝑖) 𝜕𝑤𝐿 𝑘 𝑖=1 1 𝑘 𝜕𝐶(𝑡𝑖) 𝜕𝑏𝐿 𝑘 𝑖=1 ) Eq. IV-17

La mise à jour des poids 𝑾𝑖 = {𝑤𝐿, 𝑏𝐿} à l’itération 𝑖 peut alors être exprimée en fonction du gradient obtenu et d’un coefficient d’apprentissage 𝜇0 (Eq. IV-18). La valeur de ce coefficient influe sur la vitesse d’apprentissage : plus 𝜇0 est faible, plus les ajustements de 𝑾𝑖 sont lents, mais une valeur trop élevée entraîne le risque de manquer le minimum de la fonction-coût en le « dépassant », et d’entraîner des itérations supplémentaires.

𝑾𝑖+1 = 𝑾𝑖− 𝜇0∇𝐶⃗⃗⃗⃗⃗⃗ Eq. IV-18

Afin d’optimiser le taux d’apprentissage, au lieu d’imposer une valeur fixe, 𝜇0 peut être calculé comme l’inverse de la matrice des dérivées secondes de la fonction coût (Eq. IV-19), de façon à exprimer la tendance du gradient.

𝜇0= (∇2𝐶)−1 Eq. IV-19

Cet exemple peut être étendu au cas d’un réseau à plusieurs neurones par couche, toujours pour le cas de la dernière couche 𝐿. Les expressions générales des termes du gradient sont obtenues (Eq. IV-20, Eq. IV-21). On utilise une notation à l’aide des indices 𝐼, 𝐽 pour positionner les éléments 𝑤𝐿, 𝑏𝐿, 𝑧𝐿, 𝑛𝐿 dans le réseau, avec :

 𝐽 la position du neurone sur la couche 𝐿 ;

 𝐼 la position du neurone précédent (en entrée) sur la couche 𝐿 − 1. 𝜕𝐶 𝜕𝑤𝐼,𝐽𝐿 = 1 𝑘 𝜕𝐶(𝑡𝑖) 𝜕𝑤𝐼,𝐽𝐿 = 1 𝑘∑ 𝑛𝐼 𝐿−1(𝑡𝑖) ∙ 𝑓′𝐿(𝑧𝐽𝐿(𝑡𝑖)) ∙ 2(𝑛𝐽𝐿(𝑡𝑖) − 𝑦(𝑡𝑖)) 𝑘 𝑖=1 𝑘 𝑖=1 Eq. IV-20 𝜕𝐶 𝜕𝑏𝐽𝐿= 1 𝑘 𝜕𝐶(𝑡𝑖) 𝜕𝑏𝐽𝐿 = 1 𝑘∑ 𝑓′ 𝐿(𝑧𝐽𝐿(𝑡𝑖)) ∙ 2(𝑛𝐽𝐿(𝑡𝑖) − 𝑦(𝑡𝑖)) 𝑘 𝑖=1 𝑘 𝑖=1 Eq. IV-21

Le gradient selon les poids de la dernière couche 𝐿 s’exprime dans ce cas-là comme indiqué ci-après : ∇𝐶 ⃗⃗⃗⃗⃗⃗ = ( 𝜕𝐶 𝜕𝑤𝐼,𝐽𝐿𝜕𝐶 𝜕𝑏𝐽𝐿 ⋮ ) Eq. IV-22

Cette approche peut être généralisée à l’ensemble des couches cachées du réseau, et permettre la mise à jour les poids du réseau (Eq. IV-18). L’approche de la rétropropagation du gradient est cependant coûteuse en ressources et temps de calcul. A cela s’ajoute la nécessité d’utiliser un volume conséquent de données pour l’apprentissage. Pour alléger cette étape, une

142 approche consiste à diviser le jeu de données d’apprentissage en échantillons plus petits, généralement avec une répartition aléatoire :

 un jeu d’entraînement, sur lequel la rétropropagation du gradient est opérée à partir duquel les poids du réseau ajustés ;

 un jeu de validation, sur lequel le modèle obtenu est appliqué. C’est sur ce jeu de données qu’est validée la convergence de l’apprentissage basée sur un seuil de la fonction-coût, ou à défaut, que l’arrêt anticipé de l’apprentissage est décidé ;

 un jeu de test, sur lequel le modèle est également appliqué. Ce jeu ne sert ni pour la rétropropagation du gradient ni pour l’arrêt de l’apprentissage. Les résultats du modèle sur ce jeu (fonction-coût, nombre de neurones actifs) servent à l’utilisateur pour vérifier la qualité de l’apprentissage du modèle ou pour comparer deux modèles entre eux. La mise à jour des poids du réseau est répétée itérativement jusqu’à la convergence, c’est-à-dire l’obtention d’un gradient nul, ou bien au déclenchement d’un arrêt anticipé de l’apprentissage.

IV.2.4.3. T

YPES DE RESEAUX TESTES

Afin de tester la meilleure stratégie pour prendre en compte les phénomènes d’inertie et de déphasage entre les séries acquises (cf. Chapitre III.2.3), plusieurs types de réseaux de neurones ont été testés :

 les réseaux de neurones à propagation avant (feed-forward neural network, FFNN) (Fine, [2006]; Svozil et al., [1997]). Il s’agit d’une des formes les plus classiques des réseaux de neurones, dont l’architecture correspond à celle détaillée dans la Figure IV-4. Avec un FFNN, 𝒀(𝑡) est modélisée à l’aide de 𝑿(𝑡) ;

 les réseaux de neurone avec latence (time-delay neural network, TDNN) (Peddinti et al., [2015]). Ces réseaux font partie des réseaux de neurone à propagation avant et se distinguent par le fait que le réseau incorpore une latence 𝑑 dans les entrées, et modélise 𝒀(𝑡) en fonction de 𝑿(𝑡 − 1), … , 𝑿(𝑡 − 𝑑) ;

 les réseaux de neurones récurrents (recurrent neural network, RNN) (Connor et al., [1994]; Dorffner et al., [1996]; Tsoia et al., [1997]; J.-S. Zhang et al., [2000]). Ces réseaux ont une structure similaire aux réseaux à propagation avant, néanmoins les couches incorporent une relation de récurrence (Figure IV-6). Chaque neurone reçoit en entrée, en plus des sorties des neurones de la couche précédente, sa propre valeur de sortie à l’époque précédente. Cette approche introduit une notion de mémoire dans le réseau, sans avoir à introduire une notion de délais dans les entrées.

143