31
INTRODUCTION AUX RESEAUX DE NEURONES MASTER 2005-2006

Cours rn 2006

Embed Size (px)

Citation preview

Page 1: Cours rn 2006

INTRODUCTION AUX RESEAUX DE

NEURONES

MASTER

2005-2006

Page 2: Cours rn 2006

1. Introduction ___________________________________________________________ 3 Historique ____________________________________________________________________ 4 Analogie neurone formel et neurone biologique _____________________________________ 5 Exemple de réseaux de neurones __________________________________________________ 6 Applications___________________________________________________________________ 7

2. Caractéristiques des réseaux de neurones artificiels ___________________________ 8 2.1. Poids (w) et biais (b) d’un neurone__________________________________________ 8 2.2. La fonction de sommation _________________________________________________ 8 2.3. La fonction de transfert__________________________________________________ 10 2.4. Réseaux statiques (Apprentissage par « paquet ») et Réseaux dynamiques (Apprentissage « séquentiel ») ___________________________________________________ 11

3. Les différents types de réseaux de neurones et leurs applications ________________ 12 3.1. Le perceptron __________________________________________________________ 12

3.1.1. Description _________________________________________________________________ 12 3.1.2. Loi d’apprentissage du perceptron _______________________________________________ 12

3.2. Les réseaux (filtres) linéaires _____________________________________________ 13 3.2.1. Description _________________________________________________________________ 13 3.2.2. Algorithme d’apprentissage (LMS ou Windrow-Hoff algorithme)_______________________ 13

3.3. Le perceptron multicouche _______________________________________________ 15 3.3.1. Description _________________________________________________________________ 15 3.3.2. La rétro propagation ou algorithme d’apprentissage de « Backpropagation » ______________ 15 3.3.3. Amélioration de la généralisation (ou le dilemme biais/variance) _______________________ 16 3.3.4. Applications ________________________________________________________________ 17

3.4. Les réseaux de neurones à fonctions radiales de base (Radial Basis Network) _____ 23 3.4.1. Description _________________________________________________________________ 23 3.4.2. Les réseaux de neurones à régression généralisée (Generalized Regression Networks)_______ 24 3.4.3. Les réseaux de neurones probabilistes (Probabilistic Neural Networks)___________________ 25

3.5. Les réseaux de neurones compétitifs ou cartes auto organisatrices ______________ 26 3.5.1. Réseaux de neurone compétitif ou réseaux de Kohonen (loi d’apprentissage de Kohonen)____ 26 3.5.2. Les cartes auto organisatrices ___________________________________________________ 27 3.5.3. Les LVQ réseaux de neurones___________________________________________________ 29

3.6. Les réseaux récurents ___________________________________________________ 30 3.6.1. Réseaux de Elman ____________________________________________________________ 30 3.6.2. Réseaux de Hopfield __________________________________________________________ 31

Page 3: Cours rn 2006

1. Introduction Les réseaux de neurones sont composés d’éléments simples (ou neurones) fonctionnant en parallèle. Ces éléments ont été fortement inspirés par le système nerveux biologique. Comme dans la nature, le fonctionnement du réseau (de neurone) est fortement influencé par la connections des éléments entre eux. On peut entraîner un réseau de neurone pour une tâche spécifique (reconnaissance de caractères par exemple) en ajustant les valeurs des connections (ou poids) entre les éléments (neurone).

En général, l’apprentissage des réseaux de neurones est effectué de sorte que pour une entrée particulière présentée au réseau corresponde une cible spécifique. L’ajustement des poids se fait par comparaison entre la réponse du réseau (ou sortie) et la cible, jusqu’à ce que la sortie corresponde (au mieux ?) à la cible. On utilise pour ce type d’apprentissage dit supervisé un nombre conséquent de pair entrée/sortie.

L’apprentissage « par paquet » (batch training) du réseau consiste à ajuster les poids et biais en présentant les vecteurs d’entrée/sortie de tout le jeu de données.

L’apprentissage « pas à pas ou séquentiel » (incremental training) consiste à ajuster les poids et biais en présentant les composantes du vecteur d’entrée/sortie les unes après les autres. Ce type d’apprentissage est souvent qualifié d’apprentissage « en ligne » (« on line » training) ou « adaptatif » (« adaptive » training).

L’apprentissage permet aux réseaux de neurones de réaliser des taches complexes dans différents types d’application (classification, identification, reconnaissance de caractères, de la voix, vision, système de contrôle…). Ces réseaux de neurones peuvent souvent apporter une solution simple à des problèmes encore trop complexes ne pouvant être résolus rapidement par les ordinateurs actuels (puissance de calcul insuffisante) ou par notre manque de connaissances.

La méthode d’apprentissage dite supervisé est souvent utilisée mais des techniques d’apprentissage non supervisé existent pour des réseaux de neurones spécifiques. Ces réseaux peuvent, par exemple, identifier des groupes de données (réseaux de Hopfield).

Les réseaux de neurones ont une histoire relativement jeune (environ 50 ans) et les applications intéressantes des réseaux de neurones n’ont vu le jour qu’il à une vingtaine d’année (développement de l’informatique).

L’objectif de ce cours (de 2 heures) est de présenter (sommairement) les grands types de réseaux de neurones, leurs applications et éventuellement les règles et algorithmes d’apprentissage. On s’attardera un petit peu plus sur le perceptron multicouche. Les figures de ce cours sont issus du livre Neural Network Toolbox fournit par le logiciel Matlab et des recherches effectuées au Laboratoire de Météorologie Physique.

Page 4: Cours rn 2006

Historique

Le champ des réseaux neuronaux va démarrer par la présentation en 1943 par W. McCulloch et W. Pitts du neurone formel qui est une abstraction du neurone physiologique. Le retentissement va être énorme. Par cette présentation, ils veulent démontrer que le cerveau est équivalent à une machine de Turing, la pensée devient alors purement des mécanismes matériels et logiques.

Une machine de Turing se résume à une tête de lecture comportant un nombre fini d’états internes et à un ruban. La puissance de l’analyse de Turing (1912-1954) tient au fait que sa tête de lecture ne lit qu’un seul symbole à la fois, et que cette lecture, associée à la table d’états adéquate, suffit à effectuer toutes les opérations possibles. La Machine de Turing est toutefois une machine imaginaire, abstraite, et idéale. Elle n’a pu être construite. Son fonctionnement implique en effet d’avoir un ruban extensible à volonté donc infini! La combinaison de cette mémoire infinie et d’un nombre d’états fini a cependant apporté la preuve que, si un problème est calculable, alors il existe une machine pour le résoudre. Dès lors, une MACHINE, reprenant les règles de toutes les autres, est UNIVERSELLE ».)

En 1949, D. Hebb présente dans son ouvrage « The Organization of Behavior » une règle d’apprentissage. De nombreux modèles de réseaux aujourd’hui s’inspirent encore de la règle de Hebb.

En 1958, F. Rosenblatt développe le modèle du perceptron. C’est un réseau de neurones inspiré du système visuel. Il possède deux couches de neurones : une couche de perception et une couche liée à la prise de décision. C’est le premier système artificiel capable d’apprendre par expérience.

Dans la même période, Le modèle de L’Adaline (ADAptive LINar Element) a été présenté par B. Widrow et Hoff. Ce modèle sera par la suite le modèle de base des réseaux multi-couches.

En 1969, M. Minsky et S. Papert publient une critique des propriétés du Perceptron. Cela va avoir une grande incidence sur la recherche dans ce domaine. Elle va fortement diminuer jusqu’en 1972, où T. Kohonen présente ses travaux sur les mémoires associatives et propose des applications à la reconnaissance de formes.

C’est en 1982 que J. Hopfield présente son étude d’un réseau complètement rebouclé, dont il analyse la dynamique.

Page 5: Cours rn 2006

Analogie neurone formel et neurone biologique

Page 6: Cours rn 2006

Exemple de réseaux de neurones

Réseau entièrement bouclé (carte

topologique)

Réseaux avec connections arrière (réseaux

récurrent ou feedback

Page 7: Cours rn 2006

Réseau « ordonné » sans connexion arrière (réseau feed-forward)

Applications

• Aérospatial : pilotage automatique, simulation du vol… • Automobile : système de guidage automatique,… • Défense : guidage de missile, suivi de cible, reconnaissance du visage, radar, sonar,

lidar, traitement du signal, compression de données, suppression du bruit… • Electronique : prédiction de la séquence d’un code, vision machine, synthétiseur

vocal, modèle non linéaire,… • Finance : Prévision du coût de la vie • Secteur médical : Analyse EEC et ECG • Télécommunications : Compression de données …

Page 8: Cours rn 2006

2. Caractéristiques des réseaux de neurones artificiels

2.1. Poids (w) et biais (b) d’un neurone

2.2. La fonction de sommation

Page 9: Cours rn 2006

L’entrée d’un neurone contient le biais et la somme des ses poids. La sortie d’un neurone dépend de l’entrée du neurone et de sa fonction de transfert f .

Page 10: Cours rn 2006

2.3. La fonction de transfert

Fonction à seuil

Tangente hyperbolique

Fonction Gaussienne

Pas unitaire

Sigmoïde

Linéaire Seuillée

Gaussienne

Identité f (x) = x

Page 11: Cours rn 2006

2.4. Réseaux statiques (Apprentissage par « paquet ») et Réseaux dynamiques (Apprentissage « séquentiel »)

Le format des données d’entrée va affecter l’évolution des poids et biais des réseaux de neurones lors de leur apprentissage.

Un réseau dit statique est un réseau qui ne contient pas de connexion arrières (feedback or delay). Par conséquent, on peut lui présenter les données en entrée dans n’importe quel ordre, cela n’influencera pas l’évolution de ses poids lors de la phase d’apprentissage. Il est alors préférable de lui donner tout le jeu de donnée en un seul coup lors de la phase d’apprentissage. On parle alors d’apprentissage par paquet (« batch training »). Les réseaux « feedforward » ne peuvent pas simuler des processus dépendant du temps.

Par contre, si l’on veut simuler un processus qui dépend du temps, alors on pourra utiliser un réseau de neurones contenant des connections arrières. L’ordre de présentation du jeu de données au réseau de neurone sera alors primordial. On parle alors d’apprentissage séquentiel.

Page 12: Cours rn 2006

3. Les différents types de réseaux de neurones et leurs applications

3.1. Le perceptron

3.1.1. Description

3.1.2. Loi d’apprentissage du perceptron

Soient p et t les vecteurs d’entrée et sortie cible utilisés pour l’apprentissage du perceptron et a est réponse du perceptron. L’évolution de la valeur des poids W et des biais b du perceptron vont varier, à chaque fois (nombre de epoch) que les vecteurs d’entrée sont présentés au perceptron, selon la règle

( ) TT eppatW =−=∆ et ( ) eatb =−=∆ )1( ,

donc on aura :

+=+=

ebbepWW

oldnew

Toldnew

Page 13: Cours rn 2006

Exercice : Déterminez un ensemble de poids (et une valeur de seuil) qui va produire la classification suivante :

x1 x2 sortie -0.2 0.5 0 0.2 -0.5 0 0.8 -0.8 1 0.8 0.8 1

3.2. Les réseaux (filtres) linéaires

3.2.1. Description

3.2.2. Algorithme d’apprentissage (LMS ou Windrow-Hoff algorithme)

Soient p et t les vecteurs d’entrée et sortie cible utilisés pour l’apprentissage du réseau et a est la réponse du réseau. L’objectif des de minimiser la fonction coût F (erreur quadratique moyenne entre entrées et réponses du réseau) définie comme :

( ) ( )[ ] ( )[ ]2

1

2

1

11 ∑∑==

=−=Q

k

Q

kke

Qkakt

QF ,

Q étant le nombre d’exemples. Cette minimisation se fait selon une règle delta :

Page 14: Cours rn 2006

WFW

∂∂

−=∆ α .

L’algorithme LMS (Least Mean Squared) estime à la kième itération l’erreur quadratique moyenne en calculant la dérivée des erreurs quadratiques moyennes par rapport au poids et biais du réseau. Ainsi :

2e

( ) ( ) ( )

( ) ( ) ( )Rj

bkeke

bke

wkeke

wke

jj ...1pour 2

2

2

2

=

∂∂

=∂

∂∂∂

=∂∂

or

( ) ( ) ( )[ ] ( ) ( )( )[ ] ( )( )

j

R

iii

jjjj w

bkpw

wkt

wbkWpkt

wkakt

wke

+∂

−∂∂

=∂

+−∂=

∂−∂

=∂∂ ∑

=1

donc on peut simplifier par

( ) ( )

( ) Rj

bke

kpw

kej

j ...1pour 1

=

−=∂∂

−=∂∂

Cela veut dire que les poids et les biais du réseau doivent changer de

( ) ( )kpkeα2 et ( )keα2 ,

où α est le taux d’apprentissage. Pour le cas de plusieurs neurones, on peut écrire

( ) ( ) ( ) ( )

( ) ( ) ( )

+=++=+

kekbkbkpkekWkW T

αα21

21

Cela revient au postulat (règle) de Hebb : « si des neurones, de part et d’autre d’une synapse, sont activés de manière synchrone et répétée, la force de la connexion synaptique va aller croissant ».

Page 15: Cours rn 2006

3.3. Le perceptron multicouche

3.3.1. Description

3.3.2. La rétro propagation ou algorithme d’apprentissage de « Backpropagation »

La rétro propagation a été crée en généralisant la loi d’apprentissage de Widrow-Hoff à des réseaux de neurones multicouches constitués de fonctions de transfert différentiables. Les vecteurs d’entrées et les vecteurs cibles correspondant sont utilisés pour apprendre le réseau.

Les réseaux de neurones constitués de biais et de fonctions de transfert « sigmoïdale » et une couche de sortie constituée de fonctions de transfert linéaires sont capables d’approximer n’importe qu’elle fonction possédant un nombre fini de discontinuité.

La règle delta impose toujoursWFW

∂∂

−=∆ α . La difficulté réside toujours dans le calcul

deWF

∂∂ .

La rétro propagation standard est un algorithme de descente du gradient, comme la loi d’apprentissage de Widrow-Hoff, dans lequel les poids du réseaux sont ajustés dans le sens du gradient négatif de la fonction coût. Le terme de rétro propagation veut dire que le gradient est calculé pour des réseaux multicouches non linéaires. De nombreuses techniques existent, plus ou moins rapides, performantes et gourmandes en mémoire vive. Il apparaît que la technique de Levenberg-Marquardt est un algorithme très rapide.

Page 16: Cours rn 2006

3.3.3. Amélioration de la généralisation (ou le dilemme biais/variance)

Un problème qui apparaît lors d’un apprentissage est le problème du sur apprentissage. Si le réseau de neurone apprend par cœur, il donnera de mauvais résultats quand on lui présentera des données un peu différentes. Des méthodes existent pour optimiser la phase d’apprentissage afin que le phénomène de sur ou sous apprentissage disparaisse, dont la technique de l’early stopping et de la régularisation.

3.3.3.1.Régularisation La technique de régularisation consiste à imposer des contraintes, donc à apporter une information supplémentaire, sur l’évolution des poids du réseau de neurones. Par exemple, on peut volontairement pénaliser les poids trop grands selon la formule :

( )21 ∑= ierreur eN

F et ( )21∑= ipoids wn

F donc on impose

( ) Poidserreurnew FFF γγ −+= 1

où γ est un paramètre d’optimisation. Mais le problème réside dans le choix de la valeur de ce paramètre.

La régularisation bayesienne, qui suppose que les poids et les biais suivent des distributions spécifiques (les paramètres sont estimés au fur et à mesure de l’apprentissage) donne en général des résultats très satisfaisants.

+ Vecteur d’entrées

Généralisation : Levenberg-Marquardt

Levenberg-Marquardt + régularisation bayesienne

Page 17: Cours rn 2006

3.3.3.2. Early stopping

Cette technique consiste à diviser les données disponibles en trois lots distincts. Le premier lot sert à entraîner le réseau de neurone. Le second lot sert à la validation du réseau. L’erreur de validation doit normalement diminuer au cours du processus d’apprentissage (la variance diminue). Mais quand le réseau commence à apprendre par cœur (le biais augmente, alors l’erreur de validation recommence à croître), on arrête alors la phase d’apprentissage. Le troisième lot sert vérifier que la généralisation est correcte.

3.3.3.3. Normalisation des données Afin d’améliorer la performance des réseaux neuronaux multicouches, il est préférable de normaliser les données d’entrée et de sortie de telle sorte qu’elles se trouvent dans l’intervalle [-1 1].

3.3.3.4. Recherche de l’information

Avant de vouloir utiliser un réseau de neurones en tant qu’approximation de fonction, il est nécessaire de faire des études de sensibilités afin de déterminer les paramètres pertinents qui doivent être gardés, et de supprimer les autres, qui ne ferait que diminuer la performance du réseau. Une autre solution peut aussi consister à faire une analyse en composante principale sur le jeu de données (réduction de l’information).

3.3.4. Applications

3.3.4.1.Restitution de paramètres nuageux à partir d’image satellite

Champ 2D de l’épaisseur optique d’un nuage hétérogène (modèle gaussien) et le champ de

radiance simulé par un code radiatif 3D

Page 18: Cours rn 2006

Corrections

Vecteur d’entrées

Vecteur de sorties

Page 19: Cours rn 2006
Page 20: Cours rn 2006

3.3.4.2.Simulation de radiances au sommet d’un nuage hétérogène

Interactions rayonnement visible - hétérogénéités nuageuses

Petite échelle Grande échelle Longueur/Hauteur < 0.2 Longueur/Hauteur > 20

Page 21: Cours rn 2006

z View Valeur des poids de 1 neurone (θ; Solar (θ0=0°;

φ0=60°)θ

en fonction de la distance (m) θ0

à partir du pixel central y

φ x

Page 22: Cours rn 2006

Cibles Radiances SHDOM

Réseau de neurones Entrée Sortie incluant des connexions

Compa-

(appelées poids) entre les neurones Radiance

MNN raison Radiance IPA

Ajustement des poids

600

θϕ= °=

Observation au nadir

Technique du pixel Modèle de transfertPerceptrons multicoucheindépendant radiatif 3D

Observation

Epaisseur optique moyenne =10; Rayon effectif=10µm Incidence solaire=60°; albédo terrestre=0; couverture fractionnaire = 50 %

Page 23: Cours rn 2006

3.4. Les réseaux de neurones à fonctions radiales de base (Radial Basis Network)

3.4.1. Description

Ici, la fonction de transfert est une exponentielle. L’opérateur sommation disparaît au profit de l’opération multiplication (élément par élément des matrices).

Les réseaux à bases radiales nécessitent beaucoup plus de neurones qu’un réseau feedforward.

Page 24: Cours rn 2006

3.4.2. Les réseaux de neurones à régression généralisée (Generalized Regression Networks)

Dans un réseau à régression généralisée (GRNN), il y a un réseau à base radiale auquel on ajoute une couche de sortie constituée d’une fonction de transfert linéaire. nprod signifie une multiplication élément par élément, moralisé par la somme des éléments de a.

Ces réseaux sont aussi utilisés en tant qu’approximation de fonction, mais sont plus lourds d’utilisation que les perceptrons multicouches.

Page 25: Cours rn 2006

3.4.3. Les réseaux de neurones probabilistes (Probabilistic Neural Networks)

Ces réseaux sont généralement utilisés pour des problèmes de classification. La première couche qui est un réseau à base radiale, donne une information sur la ressemblance entre la donnée d’entrée et le jeu de données utilisé lors de l’apprentissage. La deuxième couche produit comme sortie un vecteur de probabilité. Finalement, une fonction de transfert compétitive produit 1 ou 0.

Page 26: Cours rn 2006

3.5. 3.5. Les réseaux de neurones compétitifs ou cartes auto organisatrices Les réseaux de neurones compétitifs ou cartes auto organisatrices Ces réseaux peuvent détecter des régularités et des corrélations dans les données d’entrées et peuvent adapter leurs réponses en fonction de ces entrées. Ces réseaux peuvent détecter des régularités et des corrélations dans les données d’entrées et peuvent adapter leurs réponses en fonction de ces entrées.

Les neurones de ces réseaux peuvent reconnaître des groupes dans les vecteurs d’entrée. Les cartes auto organisatrices peuvent apprendre à reconnaître des groupes de vecteurs similaires, ce qui entraîne que les neurones physiquement proches les uns des autres dans la couche de neurones à répondre à ces vecteurs d’entrée similaires.

Les neurones de ces réseaux peuvent reconnaître des groupes dans les vecteurs d’entrée. Les cartes auto organisatrices peuvent apprendre à reconnaître des groupes de vecteurs similaires, ce qui entraîne que les neurones physiquement proches les uns des autres dans la couche de neurones à répondre à ces vecteurs d’entrée similaires.

La LVQ méthode (Learning Vector Quantization) permet d’entraîner les réseaux de neurones compétitifs de manière supervisée. Comme la classification se fait par le calcul de distance entre les poids des vecteurs d’entrée, il n’y a pas de mécanisme strict qui permettent de définir si les vecteurs d’entrés sont dans la mêmes classe ou non. Celles-ci peuvent être imposées par l’utilisateur.

La LVQ méthode (Learning Vector Quantization) permet d’entraîner les réseaux de neurones compétitifs de manière supervisée. Comme la classification se fait par le calcul de distance entre les poids des vecteurs d’entrée, il n’y a pas de mécanisme strict qui permettent de définir si les vecteurs d’entrés sont dans la mêmes classe ou non. Celles-ci peuvent être imposées par l’utilisateur.

3.5.1. Réseaux de neurone compétitif ou réseaux de Kohonen (loi d’apprentissage de Kohonen)

3.5.1. Réseaux de neurone compétitif ou réseaux de Kohonen (loi d’apprentissage de Kohonen)

Page 27: Cours rn 2006

Les poids des neurones vainqueurs sont ajustés suivant la loi de Kohonen qui impose que le poids d’un neurone qui est proche des données d’entrée sera ajusté à la prochaine étape. Ainsi, ce type de réseau est capable d’apprendre à catégoriser des vecteurs d’entrée.

L’évolution de la colonne i de la matrice des poids du réseau est dictée par la règle de Kohonen :

( ) ( ) ( ) ( )[ ]11 −−+−= qWqpqWqW iii α

Ainsi, s’il y a assez d’exemples et de neurones, il se peut même que la sortie des neurones vainqueurs soit 1 et celle des autres 0.

3.5.2. Les cartes auto organisatrices Les cartes auto organisatrices apprennent à classifier des vecteurs d’entrée selon la façon dont ils sont groupés dans l’espace. Ceci diffère des réseaux compétitifs où les neurones et leurs voisins apprennent à reconnaître des groupements dans l’espace d’entrée. En effet, la règle d’évolution des poids des neurones suit la règle de Kohonen sauf qu’au lieu d’activer l’unique neurone vainqueur, tous les neurones se trouvant au voisinage (inférieur à une distance d par exemple), seront eux aussi activés.

Ces réseaux sont très utilisés pour l’analyse de données. Ils permettent de cartographier en deux dimensions et de distinguer des groupes dans des ensembles de données (Voir l’exemple graphique ci-dessous).

27

Page 28: Cours rn 2006

40 présentations

120 présentations

500 présentations

5000 présentations

28

Page 29: Cours rn 2006

3.5.3. Les LVQ réseaux de neurones

Les réseaux LVQ ont une première couche de neurones compétitifs et une seconde constituée de neurone à fonction de transfert linéaire. Ce type de réseaux apprend à classifier mais grâce à la seconde couche, ce réseau classera selon les critères de classification imposés par l’utilisateur.

29

Page 30: Cours rn 2006

3.6. Les réseaux récurents

3.6.1. Réseaux de Elman

Le réseau de Elman à des neurones tansig dans sa couche cachée récurrente et un neurone linéaire dans sa couche de sortie. Ce type de réseau peut aussi approximer n’importe qu’elle type de fonction pourvu que la couche cachée ait assez de neurones.

Puisque ce réseau peut enregistrer de l’information pour une référence future, il est capable d’apprendre des associations aussi bien temporelles que spatiales.

30

Page 31: Cours rn 2006

3.6.2. Réseaux de Hopfield

Ces réseaux sont des réseaux récursifs, un peu plus complexes que les perceptrons multicouches. Chaque cellule est connectée à toutes les autres et les changements de valeurs de cellules s’enchaînent en cascade jusqu’à un état stable. Ces réseaux sont bien adaptés à la reconnaissance de formes.

31