Réseaux de Neurones Artificiels€¦ · PPT file · Web view · 2008-03-09Introduction...
Transcript of Réseaux de Neurones Artificiels€¦ · PPT file · Web view · 2008-03-09Introduction...
Introduction générale aux réseaux de neurones
artificiels1
Introduction générale aux réseaux de neurones
2
DEFINITION
Définition Les réseaux de neurones artificiels sont des
réseaux fortement connectés de processeurs élémentaires fonctionnant en parallèle. Chaque processeur élémentaire calcule une sortie unique sur la base des informations qu'il reçoit. Toute structure hiérarchique de réseaux est évidemment un réseau.
3
James [1890] :mémoire associative
McCulloch & Pitts [1943]A logical calculus of the ideas immanent in nervous
activitiesneurone formel
Les ordinateurs à codage binaire (Von Neumann) L ’intelligence artificielle (calcul symbolique) Les réseaux de neurones
Hebb [1949]Organisation of behaviorle conditionnement est une propriété des neuronesloi d’apprentissage
4
Historiqueles premiers succès
Rosenblatt [1957] :le perceptron, premier modèle opérationnelreconnaissance d ’une configuration apprisetolérance aux bruits
Widrow [1960] :adaline, adaptive linear element
Minsky & Papert [1969] :impossibilité de classer des configurations non linéairement séparablesabandon (financier) des recherches sur les RNA
5
Historiquel’ombre et le renouveau
[1967 - 1982] : Mise en sommeil des recherches sur les RNA.Elles continuent sous le couvert de domaines divers. Grossberg, Kohonen, Anderson, ...
Hopfield [1982] :modèle des verres de spins
Boltzmann [1983] : première réponse à Minsky et Papert
[1985] : la rétro-propagation du gradient et le perceptron multicouche
Rumelhart, McClelland, … [1985] : le groupe Parallel Distributed Processing
6
Domaines d’application
Classification :répartir en plusieurs classes des objetsdonnées quantitatives informations qualitativesreconnaissance des formes
Recherche Opérationnellerésoudre des problèmes dont on ne connaît pas la solution
Mémoire Associativerestituer une donnée à partir d’informations incomplètes et/ou bruitées.
7
Analogie entre neurone biologique/Artificiel
8
Par définition un réseau neuromimétique est constitué de neurones formels et ceux-ci sont reliés entre eux via des flèches ce qui donne un graphe orienté. En comparaison avec son homologue biologique, le neurone formel est constitué de synapses qui sont représentées par des flèches pondérées, d’un centre qui est l’équivalent du noyau cellulaire où se déroule les activités mathématiques telles que la sommation des entrées ainsi que la fonction d’activation (f(a)) qui s’applique à la sommation des entrées pour être comparée au seuil d’activité ‘’Θ’’, et d’une sortie qui est l’équivalent de l’axone. Chaque neurone formel est un automate complètement indépendant, dont l’état, une valeur scalaire, définie son activité ou activation a.
neurone formel9
Les composantes d’un réseau neuromimétique peuvent donc être définies de cette façon : - X1, X2, X3, X4, … Xn constituent les valeurs d’entrées (valeurs scalaires). - w1, w2, w3, w4, … wn constituent la pondération de chaque flèches ou synapses. - f constitue une fonction d’activation. - a constitue une valeur scalaire d’activation ( la Σ des entrées pondérées). - Θ constitue le seuil. - Y est la sortie
neurone formel10
Le Neurone Formel
Le neurone formel, l’unité élémentaire d’un RNA, se compose de deux parties :
évaluation de la stimulation reçue évaluation de son activation (fonction f)
Il est caractérisé par : son état (binaire, discret, continu) le niveau d’activation reçu en entrée (continu) le poids des connections en entrée Wi
11
Neurone formel
Dans sa première version, le neurone formel était donc implémenté avec une fonction à seuil (a), mais de nombreuses versions existent. Ainsi le neurone de McCulloch et Pitts a été généralisé de différentes manières, en choisissant d'autres fonctions d'activations, comme les fonctions linéaires par morceaux (b), des sigmoïdes (c) ou des gaussiennes (d) par exemples.
12
Les fonctions d’activation :
Neurone Formel 13
La fonction linéaire et la fonction à seuil :
Neurone Formel
Output (sortie) Activation de la cellule
Input (entrées) Somme pondérée des entrées
minimum
maximum
L'activation augmente en même temps que la somme pondérée des entrées. Elle varie entre un minimum et un maximum
0
fonction linéaire du type y = x
Output (sortie) Activation de la cellule
Input (entrées) Somme pondérée des entrées
minimum
maximum
0 seuil
L'activation passe brutalement de son minimum à son maximum, une fois atteint le seuil critique en entrée.
14
La fonction sigmoïde :
Le Neurone Formel 15
Apprentissage
DÉFINITIONAPPRENTISSAGE SUPERVISÉ
APPRENTISSAGE NON SUPERVISÉRÈGLES D ’APPRENTISSAGE
16
Définition
L ’apprentissage est une phase du développement d’un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement désiré. On distingue deux grandes classes d’algorithmes d’apprentissage :
L’apprentissage supervisé L’apprentissage non supervisé
17
Apprentissage supervisé
superviseur
réseau
sortie désirée
sortie obtenue
erreur
ENTR
EES
18
Apprentissage non supervisé
réseau sortie obtenueENTR
EES
19
Règles d’apprentissage
L’apprentissage consiste à modifier le poids des connections entre les neurones.
Il existe plusieurs règles de modification : Loi de Hebb : wij=Raiaj
Règle de Widrow-Hoff (delta rule) : wij=R(di - ai)aj
Règle de Grossberg : wij=R(aj - wij)ai
i jWij
20
Règles d’apprentissage
Loi de Hebb :Si deux unités connectées sont actives simultanément, le poids de leur connexion est augmenté ou diminué. R est une constante positive qui représente la force d'apprentissage (learning rate).
ai = -1 ai = 1aj = -1 Wij = R Wij = -Raj = 1 Wij = -R Wij = R
j iwij
Wij Raia j
21
Règles d’apprentissage
ai = 0 ai = 1
di = 0 Wij = 0 Wij = -R
di = 1 Wij = R Wij = 0
Loi de Widrow-Hoff (delta rule) :
j iwijWij R(di a i )a j
ai activation produite par le réseaudi réponse désirée par l'expert humainPar exemple si la sortie est inférieure à la réponse désirée, il va falloir augmenter le poids de la connexion à condition bien sûr que l'unité j soit excitatrice (égale à 1). On est dans l'hypothèse d'unités booléennes {0,1}.
22
Règles d’apprentissage
Loi de Grossberg :On augmente les poids qui entrent sur l'unité gagnante ai s'ils sont trop faibles, pour les rapprocher du vecteur d'entrée aj. C’est la règle d’apprentissage utilisée dans les cartes auto-organisatrices de Kohonen
j iwij ijjiij WaRaW
23
Différents types de réseaux de neurones
1. Le perceptron 1.1. Description 1.2. Loi d’apprentissage du perceptron
2. Les réseaux (filtres) linéaires 2.1. Description 2.2. Algorithme d’apprentissage (LMS ou Windrow-Hoff algorithme
3. Le perceptron multicouche 3.1. Description 3.2. La rétropropagation ou algorithme d’apprentissage de « Backpropagation
» 4. Les réseaux de neurones à fonctions radiales de base (Radial Basis
Network) 4.1. Description 4.2. Les réseaux de neurones à régression généralisée (Generalized
Regression Networks) 4.3. Les réseaux de neurones probabilistes (Probabilistic Neural Networks)
5. Les réseaux récurent 6.1. Réseaux de Elman_ 6.2. Réseaux de Hopfield
24
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 que les vecteurs d’entrée sont présentés au perceptron, selon la règle :
Description & loi d’apprentissage du perceptron
25
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 est de minimiser la fonction coût F (erreur quadratique moyenne entre entrées et réponses du réseau) définie comme
Q étant le nombre d’exemples.
26
Les réseaux linéaire: Algorithme d’apprentissage
(LMS ou Windrow-Hoff algorithme)
Un réseau multicouche n’est rien d’autre qu’un assemblage de couches concaténées les unes aux autres de gauche vers la droite.
L’équation qui décrit les sorties d’une couche k dans un perceptron multicouche est donnée par :
27
Perceptron multicouche
Le perceptron multicoucheactivation
j aj
ia
W jibias = 1
W bias
x j w ji aia j f (x j)
a f x 1
1 e x a f x e x e x
e x e x
fonction tangente hyperboliquefonction sigmoïde
xfxfxf 1. xfxfxf 1.1
28
Le perceptron multicoucheapprentissage : retropropagation de l’erreur
Calcul activations unités cachées
Calcul activations unités de sortie
Calcul de l'erreur sur les unités de sortie
Calcul de l'erreur sur les unités cachées
Apprentissage des unités cachées
Apprentissage des unités de sortie
Calcul Erreur entre sorties désirées et sorties obtenues
Ajustement des poids
Unités cachées
Unités d'entrée
Unités de sortie
iaja ka
1 2
3
45
6
jj
iji
ij
Sfa
WaS
kk
jkj
jk
Sfa
WaS
kkk ade
kkk Sfe . jkk
jkj SfW
.
ijij aW jkjk aW
29
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.
Les réseaux de neurones à fonctions radiales de base (Radial Basis Network)
30
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.
Réseau de Elman31
Réseau de Hopfield32
Le modèle de Hopfieldla théorie des verres de spin : un modèle dynamique
La renaissance du connexionismethéorie des verres de spinmodèle dynamique et récurrentréseau complètement connectéapprentissage par loi de Hebb
Le rappel associatif se fait en minimisant une fonction d’énergie pour tomber dans l’un des attracteurs correspondant aux formes mémoriséesSi on a N unités dans le réseau, on peut mémoriser 0,14 pattern différents
Wij Raia j
33
Les réseaux de Hopfield sont des réseaux récurrents et entièrement connectés. Dans ce type de réseau, chaque neurone est connecté à chaque autre neurone et il n'y a aucune différenciation entre les neurones d'entrée et de sortie. Ils fonctionnent comme une mémoire associative non-linéaire et sont capables de trouver un objet stocké en fonction de représentations partielles ou bruitées.
L'application principale des réseaux de Hopfield est l'entrepôt de connaissances mais aussi la résolution de problèmes d'optimisation. Le mode d'apprentissage utilisé ici est le mode non-supervisé.
34
Réseau de Hopfield
Le modèle de Hopfieldl’architecture du réseau
Les neurones de Hopfield sont discrets et répondent à une fonction seuil. Pour des commodités d’utilisation, on considère une fonction seuil très simple :
1, si x > 0 F(x) =
-1, sinon Le réseau est complètement connecté, et les connexions sont symétriques.Les valeurs d’entrée sont binaires (-1, 1) mais peuvent être aisément remplacées par les valeurs binaires usuelles (0, 1) en utilisant une simple transformation. A(-1,1) = 2.A(0,1) - 1
35
Le modèle de Hopfieldprincipe de fonctionnement
Apprentissage (loi de Hebb):
Utilisation :un vecteur est présenté au réseaules neurones calculent leurs sortiesles sorties sont propagées et on itère jusqu ’à la convergence
0
1
ii
Pp
pj
pijiij
W
ssP
WW
36
Le modèle de Hopfieldprincipe de fonctionnement
Modification de l’état d’un neurone
Energie du réseau
Nj
ti
ti
tjij
Nj
ti
tjij
Nj
ti
tjij
sssW
ssW
ssW
11
1
1
alors 0. si
1 alors 0. si
1 alors 0. si
Nji
ijij ssWE,
..21
37
Le modèle de Hopfieldles mémoires associatives
Dans une mémoire informatique classique, une information est retrouvée à partir d'une clé arbitraire. Par opposition, une donnée entreposée dans une mémoire associative est accessible à partir d'informations qui lui sont associées.
La fonction d'une mémoire associative est de restituer une information en tenant compte de sa perturbation ou de son bruit. L'information doit alors se rapprocher d'une information apprise ou connue.
Si les mémoires associatives restituent des informations qu'elles ont apprises à partir d'entrées incomplètes ou bruitées, il existe aussi des mémoires hétéro-associatives qui en plus peuvent associer plusieurs informations entre elles.
38
39
Récapitulatif
Les étapes de la conception d’un réseau de neurone
40
Choix et préparation des échantillons Comme dans les cas d'analyse de données, cette étape est cruciale et va aider le concepteur à déterminer le type de réseau le plus approprié pour résoudre son problème. La façon dont se présente l'échantillon conditionne : le type de réseau, le nombre de cellules d'entrée, le nombre de cellules de sortie et la façon dont il faudra mener l'apprentissage, les tests et la validation. Elaboration de la structure du réseauLa structure du réseau dépend étroitement du type des échantillons. Il faut d'abord choisir le type de réseau : un perceptron standard, un réseau de Hopfield, un réseau à décalage temporel (TDNN), un réseau de Kohonen, un ARTMAP etc... Dans le cas du perceptron par exemple, il faudra aussi choisir le nombre de neurones dans la couche cachée. ApprentissageL'apprentissage consiste tout d'abord à calculer les pondération optimales des différentes liaisons, en utilisant un échantillon. La méthode la plus utilisée est la rétropropagation : on entre des valeurs du les cellules d'entrée et en fonction de l'erreur obtenue en sortie (le delta), on corrige les poids accordés aux pondérations. C'est un cycle qui est répété jusqu'à ce que la courbe d'erreurs du réseau ne soit croissante (il faut bien prendre garde ne ne pas sur-entrainer un réseau de neurones qui deviendra alors moins performant). Il existe d'autres méthodes d'apprentissage telles que le quickprop par exemple.Validation et TestsAlors que les tests concernent la vérification des performances d'un réseau de neurones hors échantillon et sa capacité de généralisation, la validation est parfois utilisée lors de l'apprentissage (ex: cas du early stopping). Une fois le réseau calculé, il faut toujours procéder à des tests afin de vérifier que notre réseau réagit correctement.