Cours RN
Cours RN
artificiels (formels)
Christian TRELEA
AgroParisTech
Plan
• L’idée – l’inspiration biologique
• Réseaux de neurones formels (artificiels)
• Apprentissage supervisé des RN
• Capacité de généralisation
• RN en classification
• Apprentissage non supervisé – autres types de RN
2
L’idée (origine ~1940)
3
L’idée (suite)
• La motivation initiale était de faire du neuro-mimétisme
– Toutefois, la vision des années 1940 était assez simpliste;
– la réalité biologique c’est avéré plus complexe depuis .
4
Le neuromimétisme
5
Le neuromimétisme
• De gros projets
– SyNAPSE (Darpa)
– IBM, HP, universités de Columbia, Cornell, …
– Human Brain Project (UE, 1 G€)
– Ecole polytechnique fédérale de Lausanne + 86 partenaires
• Beaucoup de questions
– Une intelligence peut-elle émerger? Comparable, supérieure à la
notre?
– Une conscience? Des émotions?
– Un cerveau artificiel aura-t-il besoin de sommeil? Sera-t-il sujet à des
troubles mentaux?
– Aidera-t-il à comprendre les maladies mentales? Pourrat-on remplacer
un cerveau endommagé?
6
Plan
• L’idée – l’inspiration biologique
• Réseaux de neurones formels (artificiels)
• Apprentissage supervisé des RN
• Capacité de généralisation
• RN en classification
• Apprentissage non supervisé – autres types de RN
7
Neurone biologique et
neurone formel
9
Le perceptron multicouche
Sorties de la
Fonction d’activation couche cachée Fonction d’activation
de la couche cachée
de la couche de sortie
Poids de la Poids de la
couche cachée couche de sortie
z1 y1
x1
x2 … Sorties
Entrées … …
xm zn ym
1 1
Couche 1 Couche 2
« cachée » de sortie
10
Le perceptron multicouche
• La fonction remplie par le RN dépend de
– Structure du réseau
• Nombre de couches
• Nombre d’entrées
• Nombre de sorties
• Nombre de neurones dans chaque couche
Tangente
Seuil Logistique hyperbolique Linéaire Radiale 11
Approximation universelle
par RN
• Théorème central
– Un perceptron à 2 couches
• Dont la couche cachée a une fonction d’activation sigmoïde (ex. logistique,
tanh, etc.)
• Dont la couche de sortie a une fonction d’activation linéaire
– Peut approximer
• uniformément
• avec une précision arbitraire
• sur un domaine fini Hornik 1989, 1990, 1991
– Toute fonction suffisamment régulière
• Remarques
– En théorie, il n’y aurait besoin d’aucune autre structure de réseau. Toutefois,
dans les applications, il peut s’avérer plus pratique d’utiliser plusieurs couches,
des sorties non linéaires, etc.
1.2
1.5 1.5
1
Sortie (Y)
Sortie (Y)
Sortie (Y)
0.8
1 1
0.6
0.4
0.5 0.5
0.2
0 0 0
-10 -5 0 5 10 -10 -5 0 5 10 -10 -5 0 5 10
Entrée (X) Entrée (X) Entrée (X)
Superposition de sigmoïdes Superposition de sigmoïdes Superposition de sigmoïdes
1.4 3
3
1.2 2.5
1 2 2
Sortie (Y)
Sortie (Y)
Sortie (Y)
0.8 1.5
0.6 1 1
0.4
0.5
0 -10
0.2 10
0
-10 -10 -10
0 0 0
10 0 0 0
5 0 -5 -10 10 10 10 -10 10 Entrée (X2)
Entrée (X1)
Entrée (X1)
Entrée (X2) Entrée (X2) Entrée (X1) 13
Autres approximateurs
universels
• Il existe de nombreux jeux de « fonctions de base »
dont la superposition peut approcher arbitrairement
n’importe quelle autre fonction
– Ondelettes
– Etc.
14
Approximation parcimonieuse
nombre de paramètres ajustables (poids) réduit
• Si l’approximation dépend des paramètres ajustables (poids) de manière
non linéaire, elle est plus parcimonieuse que si elle dépend linéairement
des poids
Barron 1993
– Le nombre de paramètres, pour une précision donnée:
• croît exponentiellement avec le nombre des variables d’entrée pour un approximateur
linéaire
• croît linéairement avec le nombre des variables d’entrée pour un approximateur non
linéaire
• Exemples
– Approximateurs linéaires par rapport aux coefficients ajustables (w)
• Taylor : y = w0 + w1x1 + w2x2 + …
• Fourrier : y = w0 + w1cos x + w2sin x + w3cos 2x + w4sin 2x + …
16
Apprentissage supervisé des RN
détermination des poids d’un réseau
• Remarques
– Une fois mis en service, un RN peut éventuellement continuer d’évoluer (apprendre) au fur et à
mesure que de nouveaux exemples deviennent disponibles
– L’apprentissage itératif peut être long, difficile et sans garantie a priori de finir avec un jeu de
poids satisfaisant. C’est le prix à payer pour la parcimonie (non linéarité par rapport aux poids).
– (Pour un approximateur linéaire par rapport aux poids, les valeurs des poids se calculent
explicitement par régression linéaire, mais leur nombre devint vite prohibitif si le nombre des
entrées et la précision demandée sont élevés)
17
Apprentissage
• Modifier les poids du réseau
– dans le sens de la diminution de l’écart
– entre la sortie du réseau et les exemples
∂E M
∂y
Sensibilité de l’écart = 2∑ ( yk − Yk ) k
par rapport au poids wi ∂wi k =1 ∂wi
19
Sensibilité de la sortie par rapport aux poids
Cas 1 : le poids appartient à la couche de sortie
Potentiel
d’activation
Zi wi y = g(a)
a
g
…
Somme Fonction
pondérée d’activation
(transfert)
∂yk ∂g (ak )
= = g ' ( ak ) Z i , k
∂wi ∂wi
Exemples
Activation linéaire Activation logistique Activation tangente hyperbolique
1 ea − e−a
g (a) = a g (a ) = lsig (a ) = g (a ) = tanh(a ) =
1 + e −a e a + e −a
g ' (a) = 1 g ' (a ) = g (a )(1 − g (a ) ) g ' (a) = 1 + g (a) 2 20
Sensibilité de la sortie par rapport aux poids
1 1
∂yk ∂g 2 (a2,k ) ∂Z j ,k
= = g 2 ' ( a2 k ) w j
∂wi ∂wi ∂wi
∂Z j ,k ∂g1 ( a1 j ,k )
= = g1 ' ( a1 j ,k ) X i ,k
∂wi ∂wi
0 ∂wi
-5
Taux d’apprentissage
-10
30
20 30
20
10 10
0 0
L’ajustement des poids selon l’opposé du gradient n’a plus qu’une valeur historique
Toutefois, le calcul du gradient de l’écart par rapport aux poids est au cœur d’algorithmes
d’apprentissage beaucoup plus efficaces (Quasi-Newton, Levenberg-Marquardt, …)
22
Plan
• L’idée – l’inspiration biologique
• Réseaux de neurones formels (artificiels)
• Apprentissage supervisé des RN
• Capacité de généralisation
• RN en classification
• Apprentissage non supervisé – autres types de RN
23
Sur-paramétrage et généralisation
• De manière générale, l’ajustement d’un modèle à un jeu de données
(exemples) particulier est d’autant meilleur que le nombre de paramètres
ajustables est grand
• Toutefois, un nombre de paramètres excessif peut compromettre la
capacité de généralisation (interpolation) du modèle
Exemple: interpolation polynomiale
Interpolation polynômiale Interpolation polynômiale Interpolation polynômiale
2 2 2
Sortie (Y)
Sortie (Y)
0.5 0.5 0.5
0 0 0
1.5
8 paramètres 1.5
12 paramètres 1.5
18 paramètres
1 1 1
Sortie (Y)
Sortie (Y)
Sortie (Y)
0.5 0.5 0.5
0 0 0
-0.5
-2 0 2 4 6 8 10
-0.5
-2 0 2 4 6 8 10
-0.5
-2 0 2 4 6 8 10 24
Entrée (X) Entrée (X) Entrée (X)
Sur-paramétrage et généralisation
• Les RN sont, par nature, extrêmement sujets au sur-paramétrage
25
Exemples : sur-paramétrage d’un RN
Sortie 1 25 neurones Sortie 1
18
cachés
16
25
14
20
12
15
Sortie 1
10
Sort
10
8
5
6
4 15 neurones 0
20 10
cachés
15
10 5
2 5
0 0
0 Entrée 2 Entrée 1
0 5 10 15 20 25
Entr
27
Exemple : régularisation par limitation du
nombre des paramètres (poids)
Sortie 1
25
20
25 neurones
15
Sortie 1
cachés
10
Sortie 1
18 5
Sortie 1 16 Sortie 1 0
20 10
20 14 15
10 5
12 5
0 0
Entrée 2 Entrée 1
10
Sort
15 neurones
3 neurones
8
20
6
15 cachés
cachés
4
2
15
0
Sortie 1
0 5 10 15 20 25
Entr
10
Sortie
10
5
2 neurones 0
5
cachés 20
8
10 6
4
2
0 Entrée 2 0 0
Entrée 1
0 5 10 15 20 25
Entrée
25
20
25 neurones
15
Sortie 1
cachés
10
Sortie 1
18 5
16 0
20 10
14
Sortie 1 15
10 5
Sortie 1 12
Entrée 2
5
0 0
Entrée 1
20 10
Sort
15 neurones 25 neurones
8
6 20
cachés
4
2 15
cachés
15 0
0 5 10 15 20 25
10
Sortie 1
Entr
5
Sortie
10
0
15 neurones -5
5 cachés 20
8
10 6
4
2
Entrée 2 0 0
Entrée 1
0
0 5 10 15 20 25
Entrée
Sortie (Y)
1
1
0.5
Sortie (Y)
0.8
0 -10
10
0.6 0
0
-10 10 Entrée (X2)
0.4 Entrée (X1)
0.2
-10 -5 0 5 10 Ecart-type des
Entrée (X)
100
poids = 50
y = 0.3 + 0.8 tanh (-1 – 0.5 x) Sortie (Y)
50
0
Les RN qui ont des poids « petits » -10 10
30
Principe : régularisation par modération
des poids
M N
E = ∑ ( yk − Yk ) + α ∑ wi2
2
k =1 i =1
31
Exemple : régularisation par modération
des poids Sortie 1
25
Sortie 1 20
25 neurones
18
16 15
Sortie 1
14
Sortie 1 cachés
10
Sortie 1 12
5
18 10
15 neurones
Sort
8
cachés
25 neurones 0
20
15
10
cachés
6 5
16 4 Pondération 20 10
5
0 0
Entrée 2 Entrée 1
2
poids = 0
14 0
0 5 10 15 20 25 15
Entr
Sortie 1
12 10
Sortie
10
15 neurones 5
8 cachés 0
20
6 Pondération 8
6
poids = 0.02
10
4 4
2
Entrée 2 0 0
Entrée 1
2
0 5 10 15 20 25
Entrée
– Une modération des poids pour limiter les effets des paramètres excédentaires
• Paramètre de pondération des poids choisi selon des critères de précision attendue du
réseau, par exemple répétabilité des mesures des sorties cible
33
Distribution des exemples dans les
bases d’apprentissage et de validation
• Pour une bonne généralisation, les exemples utilisés pour mettre au point le
réseau (bases d’apprentissage et de validation) doivent être représentatifs de
l’utilisation préconisée du réseau
– Couvrir tout l’espace utile des entrées
• Etendue dans chaque dimension (pas d’extrapolation)
• Pour toutes les combinaisons (pas de trous) : difficile à atteindre si les entrées sont nombreuses
Sortie 1
Sortie 1
8
7 12
6 10
8
5
Sortie
Sortie 1
6
4
4
3
2
2 10
0
8 5
1 6
-4 -2 0 2 4 6 8 10 12 4
2 0
Entrée 0
Entrée 2 Entrée 1
34
Test final du réseau
• Une fois un réseau satisfaisant trouvé
– Structure
• Entrées (éliminer entrées peu informatives)
• Sorties (un réseau à plusieurs sorties ou plusieurs réseaux)
• Nombre de neurones cachés
– Poids
• Bon ajustement sur la base d’apprentissage
• Bonne généralisation sur la base de validation
36
Classification avec RN
Entrées Sorties codant
représentant les Classifieur l’appartenance
descripteurs de RN aux différentes
l’objet à classer classes possibles
Difficultés potentielles
• Comment détecter et que faire si la réponse du classifieur est ambiguë Quand et
(plusieurs classes possibles)? comment dire
« je ne sais pas » ?
• Comment détecter et comment répondre si un objet d’une classe inconnue
est présenté en entrée?
• Que faire si les classes possibles ne sont pas connues a priori ? cf.
apprentissage non supervisé plus loin
37
Codage des classes
Codage linéaire : Codage « grand-mère » :
Une seule sortie, Autant de sorties que de classes,
dont la valeur dont les valeurs indiquent le degré
indique la classe d’appartenance à chaque classe
Fermeté Fermeté
0 = totalement affiné totalement affiné
Couverture 1 = affiné Couverture affiné Une seule
pH RN 2 = moyennement affiné
pH RN moyennement affiné sortie vaut 1,
3 = peu affiné peu affiné les autres 0
affinage affinage
4 = frais frais
… …
Classes ordonnées
Classes ordonnées
ou non
38
Surface discriminante
• La réponse du RN + la règle d’attribution d’un exemple à une classe (ex. degré
d’appartenance maximum) génèrent une partition de l’espace des entrées
• Les RN permettent de discriminer des classes non séparables linéairement
Entrée 2
Classe 2 Classes Classe 2 Classes non
linéairement séparables
séparables linéairement
Entrée 1 Entrée 1
Entrée 2
Classe 1
Entrée 2
Classe 2
Entrée 1
Surface un peu moins performante sur la base d’apprentissage
Mais régulière et plus plausible 40
Meilleures performances en validation
Plan
• L’idée – l’inspiration biologique
• Réseaux de neurones formels (artificiels)
• Apprentissage supervisé des RN
• Capacité de généralisation
• RN en classification
• Apprentissage non supervisé – autres types de RN
41
Réseaux à apprentissage
non supervisé
• Il n’y a pas de cible (sortie correcte) définie a
priori pour chaque exemple
Exemple
Demo – Les 3 entrés sont des coordonnées dans
l’espace colorimétrique RVB
Après apprentissage, les pays à qualité de vie similaire se retrouvent proches sur la carte
Les pays qui n’ont pas servi à l’apprentissage se retrouvent placés de manière cohérente
(généralisation)
45
Conclusion générale
• Les RN sont des outils puissants
– Théoriquement « universels »
46