Vous êtes sur la page 1sur 26

Filtrage Optimal

Filtrage basé sur les réseaux de


neurones artificiels

1
Plan
 Introduction
 Modèle de Mac-Culloch et Pitts
 Modèle du neurone artificiel
 Apprentissage supervisé
 Exemple
 Réseau Multi Couche (MLP)

2
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 le 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
 Applications: Modélisation, commande, classification,
filtrage, prédiction, …

3
Modèle d’un seul neurone
Neurone biologique
Neurone biologique

Dendrites: collecte des


informations

Corps cellulaire: Traitement y (n )

Axone: transfert du flux nerveux

Synapses: connections avec


d’autres neurones.

4
Le nombre total de neurones du cerveau humain est estimé de
86 à 100 milliards (1011). Il existe plus de 200 types de neurones.

Apprentissage
- Renforcement des liaisons entre certaines neurones
- Affaiblissement des autres liaisons
- Changement des tailles des synapses
Cerveau: très puissant, complexe 5
Neurone artificiel
Formule mathématique = approximation simple du neurone biologique
 un réseau de neurones artificiels est formé du même type de neurones

 apprentissage : un algorithme mathématique

6
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
i0
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.
7
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
i0
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.


8
polynôme sigmoïde

Tangente hyperbolique FRB


9
Neurone artificiel:
- Modèle non linéaire
- Traitement des données réelles
Apprentissage
Détermination des poids de connexions.
Sortie
x1(k) d(k)
désirée
Système
xn(k)

Critère à minimiser: x1(k) y(k)


Neurone
artificiel
1
J d (k )  y(k )2 xn(k) Sortie du
neurone
2 Entrées
d(k)
-
d(k): sortie désirée Algorithme
d’adaptation
y(k): sortie du neurone +

10
Apprentissage
Détermination des poids de connexions.
Exemple d’un seul neurone à n entrée et une sortie
n
v(k )   wi xi (k )
i 0
 w0  w1x1(k )  ...  wn xn (k )
y (k )  f (v(k ))
x1(k) y(k)
Neurone
artificiel
Critère à minimiser: xn(k) Sortie du
1 neurone
J  d (k )  y(k )2 Entrées
2 Algorithme
- d(k)

d(k): sortie désirée d’adaptation


+ Sortie
y(k): sortie du neurone désirée

11
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

wi   (d (k )  y(k )) f ' (v(k )) xi (k ) i  0 , ..., n


12
Algorithme d’apprentissage:
L’apprentissage des réseaux de neurones artificiels
(détermination des poids de connexions) est basé sur la
répétition des mesures.

Initialisation: N: nombre de mesure,  , valeurs faibles et


aléatoire des paramètres du neurone (wi )

Boucle de passage (p=1: maxp)


Boucle de mesures (k=1:N)
- Calcul de la sortie du neurone suite à la présentation des entrées
- Modification des pondérations
wi (k )  wi (k  1)  wi
wi   (d (k )  y(k )) f ' (v(k )) xi (k )
Fin boucle de mesures
Fin boucle de passages

13
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
artificiel
v(k )  w0  w1g (k 1)  w2 g (k  2) g(k-2) Sortie du
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

wi (k )  wi (k 1)  wi i  0,1, 2 -1


g(k-1) w1 w0
w0   ( g (k )  gˆ (k )) f ' (v(k ))(1)
gˆ (k )
/ f
w1   ( g (k )  gˆ (k )) f ' (v(k )) g (k  1) w2
g(k-2)

w2   ( g (k )  gˆ (k )) f ' (v(k )) g (k  2)


14
.

. 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

1 Après un seul passage


k

0.5 =0.2. Fonction d’activation:


1  e 2v (k )
f (v(k )) 
0
Valeurs initiales: 1  e  2v ( k )

-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

Après 30 passages w0  0.0027, w1  2.02, w2  1.07

15
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
16
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

17
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 ))

18
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 )

19
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

w20   ( g (k )  gˆ (k )) f ' (v(k ))w32 f ' (v2 (k ))(1)


w21   ( g (k )  gˆ (k )) f ' (v(k ))w32 f ' (v2 (k )) g (k  1)
w22   ( g (k )  gˆ (k )) f ' (v(k ))w32 f ' (v2 (k )) g (k  2)
20
.

. 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.25. Fonction d’activation:


1  e 2v (k )
0.2

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)

w20  0.007, w21  0.259, w22  0.061


-1
0 5 10 15 20 25 30 35 40 45 50

Après 15 passages
w30  0.15, w31  1.57, w32  0.225
21
Filtre neuronal:
Canal: Y ( z) B( z)
H ( z)  
U ( z) A( z)
A( z)  1  a1 z 1  ...  anA z nA B( z)  b0  b1z 1  ...  bnB z nB
Equation récurrente:
y(k )  a1 y(k 1)  ...  anA y(k  nA )  b0u(k )  ...  bnBu(k  nB )
La sortie à l’itération k sera calculée en fonction des
anciennes mesures (de la sortie et de l’entrée)

Filtre basé sur les neurones


- Entrées: anciennes mesures de
la sortie et de l’entrée, y(k-1)
y(k-nA)
- Couche cachée u(k)
Filtre
neuronal Sortie du

- Couche de sortie u(k-nB)


neurone

- yk)
Algorithme
d’adaptation + Sortie
désirée
22
Filtre neuronal
Sortie du filtre:
yˆ (k )  NN( y(k 1),..., y(k  nA ) u(k ),...,u(k  nB ))

NN: le réseau de neurone avec des pondérations


inconnues,

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
23
Exemple:
0 ,0361 (1  2 z  1  z  2 )
Canal à RII: H (z) 
1  1,394 z 1  0 ,539 z  2
y(k )  1,394y(k 1)  0,539y(k  2)  0,0361u(k )  0,0722u(k 1)  0,0361u(k  2)
Modèle: un seul neurone à deux entrées
x1 (k )  y(k 1) x2 (k )  u(k ) v(k )  w0  w1 y(k 1)  w2u(k )
yˆ (k )  f (v(k ))
1
Critère: J  y(k )  yˆ (k )2 wi (k )  wi (k 1)  wi i  0,1, 2
2

w0   ( y(k )  yˆ (k )) f ' (v(k ))(1) -1


y(k-1) w1 w0
w1   ( y (k )  yˆ (k )) f ' (v(k )) y(k  1) yˆ (k )
/ f
w2
w2   ( y(k )  yˆ (k )) f ' (v(k ))u (k ) u(k)

24
.

. Résultats
Evolution de y(k) et la sortie du neurone

0.6
=0,1. Fonction d’activation:
0.5
y
1  e 2v (k )
yest
f (v(k )) 
0.4 1  e  2v ( k )
Valeurs retrouvées après 20 passages:
0.3

w0  0.017, w1  0.853, w2  0.038


0.2

0.1

-0.1

-0.2

-0.3
0 10 20 30 40 50 60 70 80 90 100

Après 20 passages

25
FIN

26

Vous aimerez peut-être aussi