Artificiels
1
Contenu du cours
Introduction
Historique, neurone biologique, neurone artificiel
Rappel mathématique (minimisation des fonctions)
Rappel mathématique
Modèle du neurone artificiel
Apprentissage supervisé
Réseau de neurone à une couche
Réseau de neurone multi couches (MLP)
Algorithme de rétro-propagation
Critère à minimiser
Calcul du prédicteur à un pas
Calcul de la commande
Exemple de simulation 2
Introduction
3
Réseaux de neurones Artificiels (RNA)
1943: Travaux de Mac-Culloch et Pitts. Proposition du
premier modèle inspiré du fonctionnement du neurone
biologique.
1949: Lois d’adaptation créées par les systèmes
neuronaux (travaux de Hebb).
1958: Définition du perceptron par Rosenblatt.
1976: Modélisation des systèmes non linéaires par les
RNA (Grossberg)
Réseaux de: Hopfield 1982, Jordan 1986, Elman 1990
5
Le nombre total de neurones du cerveau humain est estimé de
86 à 100 milliards (1011). Il existe plus de 200 types de neurones.
7
Rappel mathématique
8
Problème: Calcul de la valeur minimale d’une fonction non
linéaire à une seule variable: f (x).
min f ( x)
x
Méthode de gradient:
10
Exemple
f ( x) x 4 3x3 1,5x 2 10x
Fonction non convexe:
2 minimums sur l’intervalle: x 2, 3
x1min 1, f ( x1min ) 7,5
x2 min 2, f ( x2 min ) 6
Méthode de gradient:
f ( x)
x (4x3 9x2 3x 10)
x
x(i) x(i 1) x i 1, 2, ..., n
12
Problème: Calcul de la valeur minimale d’une fonction
quadratique à m variables: 1
J h( y) f ( g ( x1, x2 ,..., xm ))
2
2
Méthode de gradient:
- Terme de correction: x j J j 1, ..., m 0 1
- Valeur actuelle: x j
x j x j x j j 1,..., m i 1, 2, ..., n
Valeur optimale: x j ,min x j ,optimale x j (n)
J J ( x j ) f g J f g
h( y) f ( g ( x1,..., xm )
x j f g x j x j g x j
J
x optimale
x j
0 f ( g ( x1,opt ,..., xm,opt ) h( y)
13
Chapitre 2
Modélisation par les réseaux de neurones
artificiels
Modèle de Mac-Culloch et Pitts
Equations
xi : ième entrée.
w0 : biais ou seuil
d’activation du neurone.
Wi : poids des connexions (pondération)
n
v wi xi w0 w1 x1 ... wn x n
i0
Sortie du neurone:
y f (v )
Fonction d’activation du neurone: f (v) 1 v 0
0 v 0
Ce modèle peut être utilisé pour réaliser les fonctions
logiques (ET, OU, Non, Nand, Nor, …).
15
Modèle du neurone artificiel
Equations
xi : ième entrée.
w0 : biais ou seuil d’activation du neurone.
n
v wi xi w0 w1 x1 ... wn x n
i0
Sortie du neurone: y f (v )
Fonction d’activation du neurone: (v c ) 2
n 1 1 e 2 v 2
f (v) ai vi f (v ) 2 v
f (v ) 2 v
f (v ) e
i 0 1 e 1 e
Polynômiale Sigmoïde Tangente Radiale
hyperbolique de base
Modèle permettant de traiter des données réels.
Article à lire:
https://spectrum.ieee.org/what-is-deep-learning/particle-17
16
polynôme sigmoïde
y (k ) f (v(k ))
Critère à minimiser:
x1(k) y(k)
Neurone
1
J d (k ) y(k )2 xn(k)
artificiel
Sortie du
2 neurone
Entrées
d’adaptation
+ Sortie
y(k): sortie du neurone désirée
19
Algorithme de gradient:
- Modification des paramètres (pondération, poids) d’une
quantité proportionnelle au gradient du critère J et de
signe opposé à celui-ci. J
- Terme de correction (d’actualisation): wi
wi
- Valeur actuelle: wi (k ) wi (k 1) wi
1
Calcul de wi J d (k ) y(k )2
2
J
(d (k ) y (k ))
y(k )
J y (k ) v(k ) y (k ) v(k )
wi (d (k ) y (k ))
y(k ) v(k ) wi v(k ) wi
21
Exemple:
Système: g (k ) 0,4 sin(0,2k ) 0,6 cos(0,4k )
Modèle:
Un seul neurone à deux entrées:
x1(k ) g (k 1) x2 (k ) g (k 2) g(k-1) y(k)
Neurone
v(k ) w0 w1g (k 1) w2 g (k 2) artificiel
Sortie du
g(k-2)
neurone
y(k ) gˆ (k ) f (v(k )) Entrées
-
g(k)
Algorithme
1
J g ( k ) gˆ ( k ) 2 d’adaptation
+ Sortie
2 désirée
. Résultats
Evolution de g(k) (k=1:50) Evolution de g(k) et la sortie du neurone
1 1
0.6
0.5
0.2
g(k)
-0.2 0
-0.6
-0.5
-1 g(k)
0 10 20 30 40 50 s(k)
k -1
0 10 20 30 40 50
-0.5
g(k)
w0 0.1, w1 0.1, w2 0.1
s(k)
-1
0 10 20 30 40 50 Valeurs retrouvées après 30 passages:
k
23
Exemple:
Système: g (k ) 0,4 sin(0,2k ) 0,6 cos(0,4k )
Modèle retrouvé:
Un seul neurone à deux entrées:
v(k ) w0 w1g (k 1) w2 g (k 2) w0 0.0027, w1 2.02, w2 1.07
y(k ) gˆ (k ) f (v(k )) f (v(k ))
1 e 2v (k )
1 e 2v ( k )
Prédiction:
gˆ (k 1) f (0.0027 2.02 g (k ) 1.07 g (k 1))
gˆ (k j ) f (0.0027 2.02 gˆ (k j 1) 1.07 gˆ (k j 2))
1
Apprentissage Test
0.5 -1
g(k-1) w1 w0
0
gˆ (k )
-0.5
w2 / f
g(k)
s(k) g(k-2)
-1
0 10 20 30 40 50 60 70 80
k
24
Exemple:
Système: g (k ) 0,4 sin(0,2k ) 0,6 cos(0,4k )
Modèle: Un réseau de trois neurones
- Entrées: g (k 1) g (k 2)
- Couche cachée: 2 neurones
- Couche de sortie: un neurone
-1 w10 -1
w11 s1 (k ) w30
g(k-1) / f w31
w21 gˆ (k )
w12
s2 ( k ) w32 / f
g(k-2)
/ f
w22
w20
-1
Entrées couche cachée couche de sortie
25
Exemple:
Système: g (k ) 0,4 sin(0,2k ) 0,6 cos(0,4k )
Modèle: Un réseau de trois neurones
- Entrées: g(k 1) g(k 2)
- Sorties de la couche cachée
v1(k ) w10 w11g (k 1) w12g (k 2)
v2 (k ) w20 w21g (k 1) w22 g (k 2)
s1 (k ) f (v1 (k ))
s2 (k ) f (v2 (k ))
- Sortie de la couche de sortie
v(k ) w30 w31s1(k ) w32s2 (k )
gˆ (k ) f (v(k ))
26
Exemple:
Système: g (k ) 0,4 sin(0,2k ) 0,6 cos(0,4k )
Modèle: Un réseau de trois neurones
Critère à minimiser: J 1 g (k ) gˆ (k )2
2
Adaptation des paramètres:
J
w(k ) w(k 1) w w
w
Paramètres du neurone de sortie:
J J gˆ (k ) v(k )
w3i i 0, 1, 2
w3i gˆ (k ) v(k ) w3i
Adaptation des paramètres du neurone de sortie:
w30 ( g (k ) gˆ (k )) f ' (v(k ))(1)
w31 ( g (k ) gˆ (k )) f ' (v(k ))s1 (k )
w32 ( g (k ) gˆ (k )) f ' (v(k ))s2 (k )
27
1
Critère à minimiser: J g (k ) gˆ (k )2 w(k ) w(k 1) w
2 J
w
w
Paramètres des neurones de la couche cachée:
• Adaptation des paramètres w1i:
J J gˆ (k ) v(k ) s1(k ) v1(k )
w1i i 0, 1, 2
w1i gˆ (k ) v(k ) s1(k ) v1(k ) w1i
w10 ( g (k ) gˆ (k )) f ' (v(k ))w31 f ' (v1 (k ))(1)
w11 ( g (k ) gˆ (k )) f ' (v(k ))w31 f ' (v1 (k )) g (k 1)
w12 ( g (k ) gˆ (k )) f ' (v(k ))w31 f ' (v1 (k )) g (k 2)
• Adaptation des paramètres w2i:
J J gˆ (k ) v(k ) s2 (k ) v2 (k )
w2i i 0, 1, 2
w2i gˆ (k ) v(k ) s2 (k ) v2 (k ) w2i
. Résultats
Evolution de g(k) (k=1:50) Evolution de g(k) et la sortie du neurone
1 0.8
0.6
0.6 0.4
0.2
0.2
g(k)
-0.2 -0.2
-0.6 -0.4
-0.6
g(k)
-1 gest(k)
0 10 20 30 40 50 -0.8
k -1
0 5 10 15 20 25 30 35 40 45 50
0.8
0.6
Après un seul passage
0.4
0
f (v(k ))
-0.2 1 e 2v ( k )
-0.4
Valeurs retrouvées après 15 passages:
w10 0.074, w11 1.375, w12 0.764
-0.6
g(k)
-0.8 gest(k)
Après 15 passages
w30 0.15, w31 1.57, w32 0.225
29
Modèle neuronal:
Système: Y ( z) B( z)
H ( z)
U ( z) A( z)
A( z) 1 a1 z 1 ... anA z nA B( z) z 1 (b0 b1 z 1 ... bnB z nB )
Equation récurrente:
A( z)Y ( z) B( z)U ( z)
z F ( z) f ((k )Te ) f (k )
y(k ) a1 y(k 1) ... anA y(k nA ) b0u(k 1) ... bnBu(k nB 1)
- yk)
Algorithme
d’adaptation + Sortie
désirée
31
Filtre neuronal
Sortie du filtre:
yˆ (k ) NN( y(k 1),..., y(k nA ) u(k ),...,u(k nB ))
Critère à minimiser:
1
J y(k ) yˆ (k )2
2
y(k) : sortie du canal
yˆ (k ) : sortie du filtre neuronal
wij (k ) wij (k 1) wij
J
wij
wij
32
Exemple:
0 ,0361 z 1 (1 2 z 1 z 2 )
Système: H (z)
1 1,394 z 1 0 ,539 z 2
y(k) 1,394y(k 1) 0,539y(k 2) 0,0361u(k 1) 0,0722u(k 2) 0,0361u(k 3)
33
.
. Résultats
Evolution de y(k) et la sortie du neurone lors du dernier passage (p=30).
k 1
34
Modèle neuronal d’un système non linéaire:
Système: y(k ) h( y(k 1),..., y(k n), u(k 1),...,u(k m))
h : fonction non linéaire
y(k 1)
y(k ) u ( k 2) 2
1 y(k 2)
3
y(k-n) Modèle
u(k-1) Sortie du
neuronal neurone
u(k-m)
- yk)
Algorithme
d’adaptation + Sortie
désirée
36
Modèle neuronal
Sortie du modèle:
yˆ (k ) NN( y(k 1),..., y(k n) u(k 1),...,u(k m))
Critère à minimiser:
1
J y(k ) yˆ (k )2
2
y(k) : sortie du système réel
yˆ (k ) : sortie du modèle neuronal
wij (k ) wij (k 1) wij
J yˆ (k )
wij ( y(k ) yˆ (k ))
wij wij
37
Exemple: système non linéaire
(u(k 1))2
y(k ) 0.8 y(k 2) 0.033y(k 1) 0.5u(k 1) 0.8
1 (u(k 1))2
-1 w10 -1
w11 s1(k) w0
v j (k ) wj 0 wj1 y(k 1) y(k-1)
/ f w1
wj 2u(k 1) j 1,..., N1 w12 yˆ(k)
/ f
wN11
s j (k ) f1 (v j (k )) u(k-1) s10(k)
wN1
wN12 / f
v(k ) w0 w1s1 (k ) ... wN1 sN1 (k )
wN10
yˆ (k ) f 2 (v(k )) -1
38
Exemple: v j (k ) wj 0 wj1 y(k 1) s j (k ) f1 (v j (k ))
wj 2u(k 1) j 1,..., N1
v(k ) w0 w1s1 (k ) ... wN1 sN1 (k ) yˆ (k ) f 2 (v(k ))
Critère 1
J y(k ) yˆ (k )
2
2
Adaptation de poids du neurone de sortie:
J yˆ (k ) i 0,..., N1
wi ( y(k ) yˆ (k ))
wi wi
yˆ (k ) yˆ (k ) v(k )
f 2' (v(k ) si (k ) s0 (k ) 1 k
wi v(k ) wi
2
Adaptation de poids des neurones de la couche cachée:
J yˆ (k )
w ji ( y (k ) yˆ (k )) j 1,..., N1 i 0,1, 2
w ji w ji
yˆ (k ) yˆ (k ) v(k ) s j (k ) v j (k )
w ji v(k ) s j (k ) v j (k ) w ji
yˆ (k )
f 2' (v(k )) w j f1' (v j (k )) (1)
w j 0
yˆ (k )
f 2' (v(k )) w j f1' (v j (k )) u (k 1)
w j 2
yˆ (k )
f 2' (v(k )) w j f1' (v j (k )) y (k 1)
w j1 40
Adaptation de poids des neurones de la couche cachée:
w ji w ji w ji
41
.
. Résultats
Evolution de l’entrée u(k) et de la sortie du système y(k), L’entrée est une séquence
aléatoire entre -1 et 1. Le nombre de mesures est N=50.
1
u(k)
y(k)
0.5
-0.5
-1
0 10 20 30 40 50
42
.
. Résultats
Apprentissage du modèle neuronal.
=0,1.
- Fonction d’activation des neurones de la 1 e 2v ( k )
couche cachée (fonction non linéaire): f1 (v(k ))
1 e2v( k )
- Fonction d’activation du neurone de sortie
(fonction linéaire): f 2 (v(k )) v(k )
Neurone de sortie
W = [0.3150 -0.1296 0.2486 -0.2344 0.0522 0.1165 0.1690 -0.0399 -0.6324 -0.2772]
= 0.0926 43
.
. Résultats
Evolution de la sortie du système et de la sortie du modèle neuronal.
1
y(k)
sortie neurone
0.5
-0.5
-1
0 10 20 30 40 50
44
FIN
45