View
214
Download
2
Category
Preview:
Citation preview
1
26
Réseau de neurones
Plusieurs neurones interconnectés ensembleChaque neurone a la forme suivante
27
Réseau de neurones :
Fonctions d’activation gFonctions continues entre 0 et 1
(a) Fonction d’activation à seuil (step function)(b) Fonction sigmoïde
28
Réseau de neurones :
ApprentissageL’ajustement des poids
Modifier les paramètres de la fonction représentée par le réseau.
Par exemple, la sortie du réseau a5 dépend de:
La valeur des entrées a1 et a2. Des paramètres de la fonction qui sont les poids W.
( )45,435,35 aWaWga +=
a5
a3
a4
a1
a2
( ) ( )( )24,214,15,423,213,15,3 .. aWaWgWaWaWgWg +++=
29
Réseau de neurones :
Perceptron
RRééseau de perceptronsseau de perceptrons
IIjj WWjiji OOiiNeurones Neurones d'entrd'entrééee
Neurones Neurones de sortiede sortie
Un seul perceptronUn seul perceptron
IIjj WWjj OO
Neurones Neurones d'entrd'entrééee
Neurone Neurone de sortiede sortie
2
30
Réseau de neurones - perceptron :
Fonction linéaire
Somme
X1
X2
Xn
...
X0 = -1
w0
w1
w2
wn
ai
31
Réseau de neurones - perceptron:
Représentation de fonctionsLes perceptrons peuvent représenter toutes les fonctions linéairement séparables.
XX11
XX22
++++
++
----
--
Exemple de Exemple de fonction linfonction linééairementairement
ssééparableparable
XX11
XX22
++
++--
--
Une fonction non Une fonction non linlinééairement sairement sééparableparable
(OU Exclusif)(OU Exclusif)
32
Réseau de neurones – perceptron :
Exemple de fonction booléenneLa fonction ET
Les entrées prennent les valeurs 1 (vrai) ou 0 (faux)
SommeX1
X2
X0 = -1
0.8
0.5
0.5
Pour un OU, quelle valeur donner Pour un OU, quelle valeur donner àà ww00 ??
ai
33
Réseau de neurones - perceptron :
Règle d'apprentissage du perceptron
Commencer avec des poids de valeurs aléatoires.Traiter tous les exemples d'entraînement jusqu'à ce que le perceptron les classifie tous correctement.Pour chaque exemple, les poids sont révisés à l'aide de la règle suivante:
( ) iii xingErrww ×××+← 'α y : sortie dy : sortie déésirsirééee
g : sortie obtenueg : sortie obtenueα α : constante d'apprentissage, : constante d'apprentissage,
ggéénnééralement petite (ex. 0.1)ralement petite (ex. 0.1)( )ingyErr −=
)1(' ggg −=Pour une fonction sigmoïde :
où
3
34
Réseau de neurones - perceptron :
Règle d'apprentissage du perceptron
Pourquoi une telle règle converge-t-elle?
Trop élevée
Trop faible
Bonne valeur
Sortie du perceptron
-
+
0
Erreury – g(in)
DiminueAugmente
-+
AugmenteDiminue
+-
Inchangé---
PoidsWi
Inputxi
( )( ) ( ) ii xingingyw .'.. −←∆ α
35
Réseau de neurones - perceptron :
Algorithme d’apprentissage
36
Réseau de neurones - perceptron :
Exemple d’apprentissage
37
Réseau de neurones :
Réseau multicouches
aakk
aaii
Neurones Neurones d'entrd'entrééee
Neurone(s) Neurone(s) de sortiede sortie
WWjkjk
Neurones Neurones cachcachééss
aajj
WWijij
4
38
Réseau de neurones multicouches :
ExpressivitéExpressivité
La couche cachée élargie l’espace d’hypothèses que le réseau peut représenter
39
Réseau de neurones multicouches :
Algorithme de rétropropagation
Utilise l'algorithme de descente du gradient.Tente de réduire la différence entre les sorties du réseau et les sorties désirées.L'erreur E du réseau est:
yyii : sortie d: sortie déésirsirééee
aaii ou ggii(in) : sortie obtenue: sortie obtenue
DD : ensemble des exemples : ensemble des exemples d'entrad'entraîînementnement
sortiessorties : ensemble des sorties : ensemble des sorties du rdu rééseauseau
( ) ( )( )2
21 ∑ ∑
∈ ∈
−=Dd sortiesi
ii ingywE
40
Réseau de neurones multicouches :
Algorithme de rétropropagation- Initialiser les poids à de petites valeurs aléatoires
- Habituellement entre -0.05 et 0.05- Tant que la condition d'arrêt n'est pas atteinte
- Pour chaque exemple d'entraînementCalculer les sorties du réseau.Pour toutes les unités de sortie i, calculer l'erreur:
Pour toutes les unités cachées j, calculer l'erreur:
Mettre à jour tous les poids Wji
( ) ( )iiii aying −×←∆ '
( ) ii
jijj Wing ∆←∆ ∑'
ijjiji aWW ∆××+← α
41
Réseau de neurones multicouches :
Algorithme de rétropropagation
5
42
Réseau de neurones multicouches :
Exemple
Taux d’apprentissage α = 0.05
Fonction sigmoïde g aux noeuds x4 et x5
x1
x2
x4 x5
x0x3--11 --11
22
55
22
WW0404 = = --0.50.5
WW1414 = = --0.20.2
WW2424 = 0.1= 0.1WW45 45 = 0.3= 0.3
WW35 35 = = --0.40.4
EntrEntrééeses SortieSortieCouche cachCouche cachééee
43
Réseau de neurones multicouches :
Exemple – Calcul de la sortie
( ) ( ) ( )
( ) 6457.01
16.0
1.052.02 5.01
6.044
2422410404
=−
==
=×+−×+−×−=
++=
−einga
wawawain
x1
x2
x4 x5
x0x3--11 --11
22
55
22
WW0404 = = --0.50.5
WW1414 = = --0.20.2
WW2424 = 0.1= 0.1WW45 45 = 0.3= 0.3
WW35 35 = = --0.40.4
EntrEntrééeses SortieSortieCouche cachCouche cachééee
( ) ( )
( ) 6442.01
15937.0
3.06457.0 4.01
5937.055
4543535
=−
==
=×+−×−=
+=
−einga
wawain
α = 0.05
44
Réseau de neurones multicouches :
Exemple – Erreur ∆ de sortie
x1
x2
x4 x5
x0
x3--11 --11
22
55
22
WW0404 = = --0.50.5
WW1414 = = --0.20.2
WW2424 = 0.1= 0.1WW45 45 = 0.3= 0.3
WW35 35 = = --0.40.4
EntrEntrééeses SortieSortieCouche cachCouche cachééee
( ) ( )( ) ( )
( ) ( )3108.0
6442.026442.016442.0 1
'
5555
5555
=−×−×=
−×−×=−×=∆
ayaaaying
6442.05 =a
α = 0.05
6457.04 =a
45
Réseau de neurones multicouches :
Exemple – ∆ couche cachée
( )
( )( ) ( )
0213.0 3108.03.0 6457.016457.0
1
'
54544
444
=××−×=
∆×−×=
∆=∆ ∑Waa
Wingi
ii
x1
x2
x4 x5
x0x3--11 --11
22
55
22
WW0404 = = --0.50.5
WW1414 = = --0.20.2
WW2424 = 0.1= 0.1WW45 45 = 0.3= 0.3
WW35 35 = = --0.40.4
EntrEntrééeses SortieSortieCouche cachCouche cachééee
3108.06442.0
5
5
=∆=a
6457.04 =a
α = 0.05
6
46
Réseau de neurones multicouches :
Exemple – ajustement de poids
4155.03108.0105.04.0
3100.03108.06457.005.03.0
533535
544545
−=×−×+−=∆××+=
=××+=∆××+=
aww
aww
α
α
x1
x2
x4 x5
x0
x3--11 --11
22
55
22
WW0404 = = --0.50.5
WW1414 = = --0.20.2
WW2424 = 0.1= 0.1WW45 45 = 0.3= 0.3
WW35 35 = = --0.40.4
EntrEntrééeses SortieSortieCouche cachCouche cachééee
3108.06442.0
5
5
=∆=a
0213.06457.0
4
4
=∆=a
α = 0.05
47
Réseau de neurones multicouches :
Exemple – ajustement de poids
1053.00213.0505.01.0
1979.00213.0205.02.0
5011.00213.0105.05.0
422424
411414
400404
=××+=∆××+=
−=××+−=∆××+=
−=×−×+−=
∆××+=
aww
aww
aww
α
α
α
x1
x2
x4 x5
x0
x3--11 --11
22
55
22
WW0404 = = --0.50.5
WW1414 = = --0.20.2
WW2424 = 0.1= 0.1WW45 45 = 0.3= 0.3
WW35 35 = = --0.40.4
EntrEntrééeses SortieSortieCouche cachCouche cachééee
3108.06442.0
5
5
=∆=a
0213.06457.0
4
4
=∆=a
α = 0.05
48
Réseau de neurones multicouches :
Condition d'arrêtLe nombre d'itérations est important car:
Si trop faible, l'erreur n'est pas suffisamment réduite.Si trop grand, le réseau devient trop spécifique aux données d'entraînement.
Il y a plusieurs conditions d'arrêt possibleAprès un certain nombre fixe d'itérations.Lorsque les poids se stabilisentLorsque l'erreur dans les sorties des exemples d'entraînement descend en dessous d'une certaine borne.Lorsque l'erreur avec les exemples de validation descend en dessous d'une certaine borne.
49
Réseau de neurones multicouches :
ConvergenceLa surface qui représente l'erreur contient plusieurs minimums locaux.L'algorithme ne garantit pas l'atteinte du minimum global.Mais, tout de même bon en pratique
Poids initialiser à de petites valeurs.La sigmoïde est presque linéaire pour de petites valeurs, donc pas de minimums locaux.Les poids grandissent à une vitesse contrôlée par le coefficient d'apprentissage.Donc, les poids ont le temps de se rapprocher du minimum global avant que la fonction devienne plus complexe avec plusieurs minimums locaux.
7
50
Réseau de neurones multicouches :
CaractéristiquesInstances représentées par des pairs attribut-valeur.
Les attributs peuvent être indépendants ou non. Les valeurs peuvent être réelles.
Sorties Peuvent être des valeurs discrètes, continues ou vectorielles.
Les exemples peuvent contenir des erreurs.Le temps d'apprentissage peut être long.L'évaluation de la fonction apprise est très rapide.La fonction visée est souvent très peu compréhensible par un humain.
51
Réseau de neurones multicouches :
Exemple du restaurant
52
Réseau de neurones multicouches :
Construction du réseauIl n’existe aucune technique précise
La construction se fait souvent par essais et erreursIl y a quelques algorithmes:
Algorithmes génétiquesDemande beaucoup de temps de calcul
« Optimal brain damage »On commence avec un réseau complètement connecté. On enlève les poids qui sont proches de zéro. On peut aussi enlever les neurones qui ne contribuent pas au résultat.On entraîne de nouveau et on répète jusqu’à ce qu’il n’y ait plus d’amélioration.
Pavage (Tiling algorithm) On commence avec une seule unité. On ajoute successivement des neurones pour prendre en compte les exemples qu’on arrive pas à classifier correctement. On n’ajoute que le nombre nécessaire pour couvrir tous les exemples.
53
Réseau de neurones :
ApplicationsL'interprétation d'images.La reconnaissance vocale.La reconnaissance de mots écrits à la main.L'apprentissage de stratégies de contrôle pour les robots.Une des meilleurs méthodes connues pour l'interprétation de données provenant de capteurs dans le monde réel.
8
54
Réseau de neurones :
ApplicationsLe système ALVINN a conduit une voiture à 55 milles/h pendant 90 miles sur une autoroute.
55
Réseau de neurones :
ApplicationsL’architecture d’ALVINN est un réseau de neurones àrétropropagation avec une couche cachée.La sortie est une distribution de Gauss centrée autour de la direction appropriée.
56
Réseau de neurones :
Reconnaissance de chiffres
1.80.51.83.28.1% rejet pour 0.5 d’erreur10301470Temps d’entraînement11.21.012.4912Mémoire (Mbytes)
20020005030101000Temps calcul (ms/pixel)0.630.561.10.70.91.62.4Taux d’erreur (%)
Match Forme
Virtual SVM
SVMLeNet + Boosting
LeNetRN 300Hidden
3NN
Recommended