INTRODUCTION AUX RESEAUX DE

NEURONES









MASTER

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















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.





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.
















Analogie neurone formel et neurone biologique

























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










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 …







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












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 .


























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











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.

































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
( )
T T
ep p a t W = − = ∆ et ( ) e a t b = − = ∆ ) 1 ( ,
donc on aura :

¹
´
¦
+ =
+ =
e b b
ep W W
old new
T old new












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
1 1
∑ ∑
= =
= − =
Q
k
Q
k
k e
Q
k a k t
Q
F ,

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

W
F
W


− = ∆ α .

L’algorithme LMS (Least Mean Squared) estime à la k
iè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 :
2
e

( )
( )
( )
( )
( )
( )
R j
b
k e
k e
b
k e
w
k e
k e
w
k e
j j
... 1 pour
2
2
2
2
=
¦
¦
¹
¦
¦
´
¦


=




=




or

( ) ( ) ( ) | | ( ) ( ) ( ) | | ( )
( )
j
R
i
i i
j j j j
w
b k p w
w
k t
w
b k Wp k t
w
k a k t
w
k e

(
¸
(

¸

+ ∂



=

+ − ∂
=

− ∂
=



=1


donc on peut simplifier par

( )
( )
( )
R j
b
k e
k p
w
k e
j
j
... 1 pour
1
=
¦
¦
¹
¦
¦
´
¦
− =


− =





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

( ) ( ) k p k e α 2 et ( ) k e α 2 ,

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

( ) ( ) ( ) ( )
( ) ( ) ( )
¹
´
¦
+ = +
+ = +
k e k b k b
k p k e k W k W
T
α
α
2 1
2 1



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

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 toujours
W
F
W


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


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








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 :
( )
2 1

=
i erreur
e
N
F et ( )
2 1

=
i poids
w
n
F donc on impose

( )
Poids erreur new
F F F γ γ − + = 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


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


Corrections
Vecteur
d’entrées
Vecteur de
sorties










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
P
N
Petite échelle
Grande échelle
Longueur/Hauteur < 0.2
Longueur/Hauteur > 20





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







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


60
0
θ
ϕ
= °
=
Observation
au nadir
Technique du pixel
Modèle de transfert
Perceptrons multicouche
indépendant
radiatif 3D
Observation

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


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.


















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.






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.












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)





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 :

( ) ( ) ( ) ( ) | | 1 1 − − + − = q W q p q W q W
i i i
α

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

40 présentations

120 présentations

500 présentations

5000 présentations




















28
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


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

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

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. 2.2. 2.3. Poids (w) et biais (b) d’un neurone__________________________________________ 8 La fonction de sommation _________________________________________________ 8 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.
3.1.1. 3.1.2.

Le perceptron __________________________________________________________ 12
Description _________________________________________________________________ 12 Loi d’apprentissage du perceptron _______________________________________________ 12

3.2.
3.2.1. 3.2.2.

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

3.3.
3.3.1. 3.3.2. 3.3.3. 3.3.4.

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

3.4.
3.4.1. 3.4.2. 3.4.3.

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

3.5.
3.5.1. 3.5.2. 3.5.3.

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

3.6.
3.6.1. 3.6.2.

Les réseaux récurents ___________________________________________________ 30
Réseaux de Elman ____________________________________________________________ 30 Réseaux de Hopfield __________________________________________________________ 31

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.

C’est un réseau de neurones inspiré du système visuel. Widrow et Hoff. McCulloch et W. Kohonen présente ses travaux sur les mémoires associatives et propose des applications à la reconnaissance de formes. C’est en 1982 que J. Elle n’a pu être construite. Le modèle de L’Adaline (ADAptive LINar Element) a été présenté par B. Pitts du neurone formel qui est une abstraction du neurone physiologique. et que cette lecture. Par cette présentation. Hebb présente dans son ouvrage « The Organization of Behavior » une règle d’apprentissage. F. Hopfield présente son étude d’un réseau complètement rebouclé. La Machine de Turing est toutefois une machine imaginaire. Le retentissement va être énorme. Papert publient une critique des propriétés du Perceptron. C’est le premier système artificiel capable d’apprendre par expérience. et idéale. D. En 1958. abstraite. est UNIVERSELLE ». Une machine de Turing se résume à une tête de lecture comportant un nombre fini d’états internes et à un ruban. suffit à effectuer toutes les opérations possibles. ils veulent démontrer que le cerveau est équivalent à une machine de Turing. Dans la même période. Rosenblatt développe le modèle du perceptron.Historique Le champ des réseaux neuronaux va démarrer par la présentation en 1943 par W. Cela va avoir une grande incidence sur la recherche dans ce domaine. où T. Dès lors. dont il analyse la dynamique. M. associée à la table d’états adéquate. Il possède deux couches de neurones : une couche de perception et une couche liée à la prise de décision. De nombreux modèles de réseaux aujourd’hui s’inspirent encore de la règle de Hebb. En 1969. une MACHINE. si un problème est calculable. 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. Minsky et S. 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. Elle va fortement diminuer jusqu’en 1972. . reprenant les règles de toutes les autres.) En 1949. alors il existe une machine pour le résoudre. la pensée devient alors purement des mécanismes matériels et logiques. Ce modèle sera par la suite le modèle de base des réseaux multicouches.

Analogie neurone formel et neurone biologique .

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 .

vision machine. sonar. simulation du vol… Automobile : système de guidage automatique.… Défense : guidage de missile. modèle non linéaire. lidar. traitement du signal. synthétiseur vocal.Réseau « ordonné » sans connexion arrière (réseau feed-forward) Applications • • • • • • • Aérospatial : pilotage automatique. suppression du bruit… Electronique : prédiction de la séquence d’un code. compression de données. suivi de cible.… Finance : Prévision du coût de la vie Secteur médical : Analyse EEC et ECG Télécommunications : Compression de données … . reconnaissance du visage. radar.

2. Poids (w) et biais (b) d’un neurone 2. La fonction de sommation .1. Caractéristiques des réseaux de neurones artificiels 2.2.

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

3.2. La fonction de transfert Fonction à seuil Tangente hyperbolique Fonction Gaussienne Pas unitaire Sigmoïde Linéaire Seuillée Gaussienne Identité f (x) = x .

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. 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. alors on pourra utiliser un réseau de neurones contenant des connections arrières. cela n’influencera pas l’évolution de ses poids lors de la phase d’apprentissage. on peut lui présenter les données en entrée dans n’importe quel ordre. L’ordre de présentation du jeu de données au réseau de neurone sera alors primordial. si l’on veut simuler un processus qui dépend du temps. Par conséquent.2. Par contre. . Les réseaux « feedforward » ne peuvent pas simuler des processus dépendant du temps.4. On parle alors d’apprentissage par paquet (« batch training »). On parle alors d’apprentissage séquentiel. Un réseau dit statique est un réseau qui ne contient pas de connexion arrières (feedback or delay).

1. Le perceptron 3.1.1. L’évolution de la valeur des poids W et des biais b du perceptron vont varier. donc on aura : W new = W old + ep T  new old  b =b +e . 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. Description 3.1.3. selon la règle ∆W = (t − a ) p T = ep T et ∆b = (t − a )(1) = e .2. Les différents types de réseaux de neurones et leurs applications 3. à chaque fois (nombre de epoch) que les vecteurs d’entrée sont présentés au perceptron.

8 0.8 sortie 0 0 1 1 3.2.2.5 -0.5 -0.8 x2 0.Exercice : Déterminez un ensemble de poids (et une valeur de seuil) qui va produire la classification suivante : x1 -0. ∑ Q k =1 Q k =1 2 2 Q étant le nombre d’exemples.1. Description 3.2.2 0.2. 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 : F= Q 1 Q [t (k ) − a(k )] = 1 ∑ [e(k )] .8 0. Les réseaux (filtres) linéaires 3. 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.2 0. Cette minimisation se fait selon une règle delta : .

. Pour le cas de plusieurs neurones.. de part et d’autre d’une synapse. où α est le taux d’apprentissage. sont activés de manière synchrone et répétée. la force de la connexion synaptique va aller croissant ». Ainsi :  ∂e 2 (k ) ∂e(k ) = 2e(k )   ∂w j ∂w j pour j = 1.R  ∂e(k )  = −1  ∂b  Cela veut dire que les poids et les biais du réseau doivent changer de 2αe(k ) p (k ) et 2αe(k ) ..∆W = −α ∂F .. . ∂W L’algorithme LMS (Least Mean Squared) estime à la kième itération l’erreur quadratique moyenne e 2 en calculant la dérivée des erreurs quadratiques moyennes par rapport au poids et biais du réseau. on peut écrire W (k + 1) = W (k ) + 2αe(k ) p T (k )  b(k + 1) = b(k ) + 2αe(k )  Cela revient au postulat (règle) de Hebb : « si des neurones.R  2  ∂e (k ) = 2e(k ) ∂e(k )  ∂b ∂b  or R  ∂ ∑ wi pi (k ) + b ∂e(k ) ∂[t (k ) − a(k )] ∂[t (k ) − (Wp(k ) + b )] ∂t (k )  = = = −  i =1 ∂w j ∂w j ∂w j ∂w j ∂w j donc on peut simplifier par  ∂e(k )  ∂w = − p j (k )  j pour j = 1.

Description 3. . De nombreuses techniques existent. Le perceptron multicouche 3. 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é. ∂W ∂F . Le terme de rétro propagation veut dire que le gradient est calculé pour des réseaux multicouches non linéaires. La règle delta impose toujours ∆W = −α de ∂F . Il apparaît que la technique de Levenberg-Marquardt est un algorithme très rapide. performantes et gourmandes en mémoire vive.3. 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. plus ou moins rapides. Les vecteurs d’entrées et les vecteurs cibles correspondant sont utilisés pour apprendre le réseau. dans lequel les poids du réseaux sont ajustés dans le sens du gradient négatif de la fonction coût.1. comme la loi d’apprentissage de Widrow-Hoff.3.3. La difficulté réside toujours dans le calcul ∂W La rétro propagation standard est un algorithme de descente du gradient.3.2.

sur l’évolution des poids du réseau de neurones.3.Régularisation La technique de régularisation consiste à imposer des contraintes. Si le réseau de neurone apprend par cœur. dont la technique de l’early stopping et de la régularisation. donc à apporter une information supplémentaire.3. + Vecteur d’entrées Généralisation : Levenberg-Marquardt Levenberg-Marquardt + régularisation bayesienne . Par exemple. 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. Des méthodes existent pour optimiser la phase d’apprentissage afin que le phénomène de sur ou sous apprentissage disparaisse.1.3.3. La régularisation bayesienne. 3. il donnera de mauvais résultats quand on lui présentera des données un peu différentes. on peut volontairement pénaliser les poids trop grands selon la formule : Ferreur = 1 N ∑ (e ) i 2 et F poids = 1 2 ∑ (wi ) donc on impose n Fnew = γFerreur + (1 − γ )FPoids où γ est un paramètre d’optimisation. 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. Mais le problème réside dans le choix de la valeur de ce paramètre.3.

Recherche de l’information Avant de vouloir utiliser un réseau de neurones en tant qu’approximation de fonction. Le second lot sert à la validation du réseau. 3.3. Early stopping Cette technique consiste à diviser les données disponibles en trois lots distincts.3.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 . alors l’erreur de validation recommence à croître).4.3. 3. Mais quand le réseau commence à apprendre par cœur (le biais augmente.3. Le troisième lot sert vérifier que la généralisation est correcte.4. qui ne ferait que diminuer la performance du réseau. Applications 3. L’erreur de validation doit normalement diminuer au cours du processus d’apprentissage (la variance diminue).3.3.3.1.4. il est nécessaire de faire des études de sensibilités afin de déterminer les paramètres pertinents qui doivent être gardés. Une autre solution peut aussi consister à faire une analyse en composante principale sur le jeu de données (réduction de l’information). et de supprimer les autres. Normalisation des données Afin d’améliorer la performance des réseaux neuronaux multicouches. Le premier lot sert à entraîner le réseau de neurone. on arrête alors la phase d’apprentissage.2.3. 3.3.3. 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].

Corrections Vecteur d’entrées Vecteur de sorties .

.

hétérogénéités nuageuses Grande échelle Longueur/Hauteur > 20 Petite échelle Longueur/Hauteur < 0.3.2 .4.Simulation de radiances au sommet d’un nuage hétérogène Interactions rayonnement visible .3.2.

θ θ0 y φ x . φ0=60°) View (θ.Valeur des poids de 1 neurone en fonction de la distance (m) à partir du pixel central z Solar (θ0=0°.

Cibles Radiances SHDOM Entrée Radiance IPA Réseau de neurones incluant des connexions (appelées poids) entre les neurones Sortie Radiance MNN Compa raison Ajustement des poids Observation au nadir Technique du pixel indépendant Modèle de transfert radiatif 3D Perceptrons multicouche Observation θ = 60° ϕ =0 Epaisseur optique moyenne =10. couverture fractionnaire = 50 % . Rayon effectif=10µm Incidence solaire=60°. albédo terrestre=0.

1.4.4. Les réseaux de neurones à fonctions radiales de base (Radial Basis Network) 3. Les réseaux à bases radiales nécessitent beaucoup plus de neurones qu’un réseau feedforward. la fonction de transfert est une exponentielle.3. Description Ici. L’opérateur sommation disparaît au profit de l’opération multiplication (élément par élément des matrices). .

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). mais sont plus lourds d’utilisation que les perceptrons multicouches.3. il y a un réseau à base radiale auquel on ajoute une couche de sortie constituée d’une fonction de transfert linéaire. moralisé par la somme des éléments de a. . Ces réseaux sont aussi utilisés en tant qu’approximation de fonction. nprod signifie une multiplication élément par élément.4.

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

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. Comme la classification se fait par le calcul de distance entre les poids des vecteurs d’entrée.5. 3. 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. Réseaux de neurone compétitif ou réseaux de Kohonen (loi d’apprentissage de Kohonen) . La LVQ méthode (Learning Vector Quantization) permet d’entraîner les réseaux de neurones compétitifs de manière supervisé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.1.5. Les neurones de ces réseaux peuvent reconnaître des groupes dans les vecteurs d’entrée.3. Les cartes auto organisatrices peuvent apprendre à reconnaître des groupes de vecteurs similaires.

5.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. il se peut même que la sortie des neurones vainqueurs soit 1 et celle des autres 0. 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. En effet. Ils permettent de cartographier en deux dimensions et de distinguer des groupes dans des ensembles de données (Voir l’exemple graphique ci-dessous). Ces réseaux sont très utilisés pour l’analyse de données. Ainsi. 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. seront eux aussi activés. tous les neurones se trouvant au voisinage (inférieur à une distance d par exemple).2. L’évolution de la colonne i de la matrice des poids du réseau est dictée par la règle de Kohonen : i W (q )= iW (q − 1) + α [ p(q )− iW (q − 1)] Ainsi. 27 . 3. ce type de réseau est capable d’apprendre à catégoriser des vecteurs d’entrée. s’il y a assez d’exemples et de neurones.

40 présentations 120 présentations 500 présentations 5000 présentations 28 .

ce réseau classera selon les critères de classification imposés par l’utilisateur. 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.5.3.3. 29 . Ce type de réseaux apprend à classifier mais grâce à la seconde couche.

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.6. il est capable d’apprendre des associations aussi bien temporelles que spatiales. Les réseaux récurents 3.3.1. Puisque ce réseau peut enregistrer de l’information pour une référence future. 30 . 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.6.

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

Sign up to vote on this title
UsefulNot useful