Algorithme du gradient déterministe (steepest descent)

publicité
Algorithme du gradient
déterministe (steepest descent)
L’algorithme du gradient déterministe est une première
approche pour résoudre l’équation de Wiener-Hopf
de manière itérative, sans avoir besoin d’inverser une
matrice.
INRS-EMT J. Benesty
Plan
• Principe de l’algorithme du gradient déterministe
• Application de l’algorithme du gradient déterministe
au filtrage de Wiener
• Stabilité de l’algorithme du gradient déterministe
• Exemple
INRS-EMT J. Benesty
1
Principe de l’algorithme du gradient
déterministe
Soit une fonction coût J(h) continue et différentiable,
dépendant d’un vecteur inconnu h. On désire trouver
une solution optimale hopt qui satisfait:
J(hopt) ≤ J(h), ∀h.
(1)
Le principe d’un algorithme itératif simple est le
suivant: en commençant avec une condition initiale
h(0), générer une séquence de vecteurs h(1), h(2), · · · ,
de telle manière que la valeur de la fonction J(h)
diminue à chaque itération:
J [h(n + 1)] < J [h(n)] .
(2)
On espère ainsi que l’algorithme convergera vers la
solution optimale hopt.
INRS-EMT J. Benesty
2
Un algorithme classique est l’ algorithme du gradient
déterministe:
1
h(n + 1) = h(n) − µg(n),
2
(3)
où n dénote l’itération, µ est une constante positive
(pas d’adaptation), et
∂J [h(n)]
g(n) =
∂h(n)
(4)
est le gradient de la fonction coût J [h(n)]. De
l’itération n à l’itération n + 1, le vecteur h est mis à
jour comme suit:
δh(n) = h(n + 1) − h(n)
1
= − µg(n).
2
INRS-EMT J. Benesty
(5)
3
Pour montrer que l’algorithme du gradient déterministe
satisfait J [h(n + 1)] < J [h(n)], on utilise un
développement de Taylor au premier ordre autour de
h(n):
J [h(n + 1)] = J [h(n) + δh(n)]
≈ J [h(n)] + gT (n)δh(n),
(6)
ce qui est justifié pour µ petit. On a donc:
1
J [h(n + 1)] ≈ J [h(n)] − µg(n)2,
2
(7)
ce qui montre que J [h(n + 1)] est plus petit que
J [h(n)]. Ainsi, en augmentant n, la fonction J décroit
progressivement, approchant sa valeur minimale Jmin
quand n → ∞.
INRS-EMT J. Benesty
4
Application de l’algorithme du gradient
déterministe au filtrage de Wiener
Dans le filtrage de Wiener, on minimise l’erreur
quadratique moyenne (EQM):
J = E{e2(n)},
(8)
e(n) = d(n) − xT (n)h
(9)
où
est le signal d’erreur, h est un filtre RIF de longueur L,
x(n) est le signal d’entrée, et d(n) est le signal désiré.
Le gradient de J est:
∂J(h)
∂h
= −2E{x(n)e(n)}
g =
(10)
= −2E{x(n)d(n) − x(n)xT (n)h}
= −2p + 2Rh.
INRS-EMT J. Benesty
5
On en déduit l’algorithme du gradient déterministe
pour le filtrage de Wiener:
1
h(n + 1) = h(n) − µg(n)
2
= h(n) + µ[p − Rh(n)].
(11)
Cet algorithme peut encore s’écrire en utilisant le signal
d’erreur:
e(n) = d(n) − xT (n)h(n)
(12)
h(n + 1) = h(n) + µE{x(n)e(n)}.
(13)
Eventuellement, à l’infini, l’algorithme converge vers la
solution optimale de Wiener-Hopf:
h(∞) = hopt = R−1p.
INRS-EMT J. Benesty
(14)
6
Algorithme du gradient déterministe
Algorithme itératif pour trouver le filtre optimal de
Wiener.
Données
• la matrice d’autocorrélation R
• le vecteur d’intercorrélation p
Initialisation avec un vecteur quelconque h(0)
Itérer n = 1, 2, · · · , N
h(n + 1) = h(n) + µ[p − Rh(n)]
Arrêter si p − Rh(n) < ε
INRS-EMT J. Benesty
7
Stabilité de l’algorithme du gradient
déterministe
Comment choisir le pas d’adaptation µ pour que
l’algorithme soit stable?
Pour déterminer la condition de stabilité de
l’algorithme, on examinera ces modes naturels, càd
la représentation en valeurs propres de la matrice
d’autocorrélation R.
L’algorithme est:
h(n + 1) = h(n) + µ[p − Rh(n)],
(15)
en utilisant l’équation de Wiener-Hopf p = Rhopt, on
obtient:
h(n + 1) = h(n) + µR[hopt − h(n)].
(16)
Soit le vecteur misalignment suivant:
c(n) = hopt − h(n),
(17)
l’équation (16) s’écrit maintenant:
c(n + 1) = (I − µR)c(n).
INRS-EMT J. Benesty
(18)
8
On se rappelle que la matrice d’autocorrélation R
peut s’exprimer en fonction de ses valeurs et vecteurs
propres:
R = QΛQT ,
(19)
où QQT = I et Λ = diag{λ0, λ1, · · · , λL−1} est une
matrice diagonale. En utilisant (19) dans l’équation
d’adaptation, on a:
c(n + 1) = (I − µR)c(n)
= (I − µQΛQT )c(n).
(20)
En multipliant à gauche les deux côtés de l’équation
précédente par QT , on obtient:
QT c(n + 1) = (I − µΛ)QT c(n),
(21)
v(n + 1) = (I − µΛ)v(n),
(22)
soit
où
v(n) = QT c(n)
= QT [hopt − h(n)].
INRS-EMT J. Benesty
(23)
9
Pour le lth mode naturel de l’algorithme du gradient
déterministe, on a ainsi:
vl(n + 1) = (1 − µλl)vl(n), l = 0, 1, · · · , L − 1, (24)
ou encore
vl(n) = (1 − µλl)nvl(0), l = 0, 1, · · · , L − 1.
(25)
L’algorithme converge si vl(n) → 0 quand n → ∞
(dans ce cas h(n) → hopt). Pour cela il faut que:
−1 < 1 − µλl < 1, ∀l,
(26)
2
0 < µ < , ∀l,
λl
(27)
soit
ou encore
0<µ<
2
λmax
,
(28)
qui est une condition nécéssaire et suffisante pour la
convergence ou la stabilité de l’algorithme du gradient
déterministe.
INRS-EMT J. Benesty
10
La constante de temps (time constant) pour le lth
mode est définie comme suit:
|1 − µλl| = exp −
1
,
τl
(29)
d’où
τl =
−1
.
ln(|1 − µλl|)
(30)
En fait, τl est le nombre d’itérations requis pour que
l’amplitude du lth mode |vl(n)| décroisse de 1/e de sa
valeur initiale |vl(0)|.
De manière équivalente, on peut prendre pour le pas
d’adaptation:
α
,
(31)
0<α<2
(32)
µ=
λmax
où maintenant
pour garantir la convergence de l’algorithme. α est le
pas d’adaptation normalisé.
INRS-EMT J. Benesty
11
Supposons que la valeur propre minimale soit λL−1 =
λmin, dans ce cas:
τL−1 =
=
−1
ln(|1 − αλmin/λmax|)
−1
,
ln(|1 − α/χ(R)|)
(33)
où χ(R) = λmax/λmin est le conditionnement de la
matrice d’autocorrélation R. On voit bien que la
vitesse de convergence du mode le plus lent dépend du
conditionnement de R.
On peut exprimer la même chose en fonction du filtre
adaptatif directement. En effet, on a:
v(n) = QT [hopt − h(n)],
(34)
soit en multipliant par Q:
h(n) = hopt − Qv(n)
= hopt −
L−1
qlvl(n).
(35)
l=0
En remplaçant vl(n) = (1 − µλl)nvl(0) dans l’équation
INRS-EMT J. Benesty
12
précédente, on obtient:
h(n) = hopt −
L−1
ql(1 − µλl)nvl(0).
(36)
l=0
Cette équation montre que chacun des coefficients
du filtre de l’algorithme est une somme de L
exponentielles. La constante de temps globale (τ )
n’est pas facile à déterminer. On a par contre:
−1
−1
≤τ ≤
,
ln(|1 − µλmax|)
ln(|1 − µλmin|)
(37)
la convergence est d’autant plus faible que le pas est
faible.
On se souvient de la forme canonique de l’erreur
quadratique moyenne (EQM):
J(n) = Jmin +
L−1
λlvl2(n),
(38)
l=0
où Jmin est l’EQM minimale. En utilisant vl(n) =
(1 − µλl)nvl(0), nous pouvons écrire:
J(n) = Jmin +
L−1
λl(1 − µλl)2nvl2(0).
(39)
l=0
INRS-EMT J. Benesty
13
Lorsque l’algorithme est convergent, càd lorsque
0 < µ < 2/λmax, limn→∞ J(n) = Jmin quelque
soient les conditions initiales. La courbe obtenue en
traçant J(n) en fonction du nombre d’itérations n est
appelée courbe d’apprentissage (learning curve).
D’après l’équation (39) cette courbe consiste en une
somme d’exponentielles décroissantes, chacune d’elle
correspondant à un mode propre de l’algorithme. La
vitesse de convergence du mode l est liée à (1−µλl)2n.
De la même manière qu’on l’a fait pour les coefficients
du filtre, on définit la constante de temps de l’EQM
pour le lth mode:
τeqm,l =
≈
−1
2 ln(|1 − µλl|)
1
,
2µλl
(40)
pour µλl 1, ce qui est le cas en général.
Le mode le plus lent est lié à la valeur propre la plus
petite et le mode le plus rapide est lié à la valeur propre
la plus grande.
INRS-EMT J. Benesty
14
Exemple
Reprenons l’exemple simple suivant:
R =
p =
1.1 0.5
0.5 1.1
0.5272
−0.4458
,
,
la solution optimale est:
hopt = R−1p
0.8363
=
.
−0.7854
On va essayer d’obtenir cette solution avec l’algorithme
du gradient déterministe et voir l’effet du pas
d’adaptation (µ) sur le comportement de l’algorithme.
On va utiliser le misalignment normalisé en dB:
h(n) − hopt2
.
10 log10
2
hopt
INRS-EMT J. Benesty
(41)
15
Cette mesure est très utile en pratique et pour tous
les algorithmes adaptatifs. Elle montre comment
l’algorithme converge vers la solution optimale.
Code en MATLAB
R=[1.1 0.5;0.5 1.1];
p=[0.5271;-0.4458];
h=[-1;-1];
mu=0.01;
H=h;
for n=1:1000
h=h+mu*(p-R*h);
H=[H h];
end
INRS-EMT J. Benesty
16
(a)
(b)
0
0.5
−10
Misalignment (dB)
1
h1
0
−0.5
−1
−1.5
−1.5
−20
−30
−40
−50
−1
−0.5
0
h0
0.5
1
1.5
−60
200
400
600
Iteration
800
1000
Figure 1: Pas d’adaptation µ = 0.01. (a) Processus
d’adaptation du filtre h(n) d’un point quelconque
h(0) = [−1 − 1]T et convergence vers la solution de
Wiener hopt = [0.8363 − 0.7854]T . (b) Convergence
du misalignment normalisé.
INRS-EMT J. Benesty
17
(a)
(b)
0
0.5
−10
Misalignment (dB)
1
h1
0
−0.5
−1
−1.5
−1.5
−20
−30
−40
−50
−1
−0.5
0
h0
0.5
1
1.5
−60
200
400
600
Iteration
800
1000
Figure 2: Pas d’adaptation µ = 1. (a) Processus
d’adaptation (oscillations stables) du filtre h(n) d’un
point quelconque h(0) = [−1 −1]T et convergence vers
la solution de Wiener hopt = [0.8363 − 0.7854]T . (b)
Convergence très rapide du misalignment normalisé.
INRS-EMT J. Benesty
18
(a)
(b)
0
0.5
−10
Misalignment (dB)
1
h1
0
−0.5
−1
−1.5
−1.5
−20
−30
−40
−50
−1
−0.5
0
h0
0.5
1
1.5
−60
200
400
600
Iteration
800
1000
Figure 3: Pas d’adaptation µ = 4. (a) Processus
d’adaptation (oscillations instables) du filtre h(n) d’un
point quelconque h(0) = [−1 − 1]T et divergence de
la solution de Wiener hopt = [0.8363 − 0.7854]T . (b)
Divergence du misalignment normalisé.
INRS-EMT J. Benesty
19
(a)
(b)
0
0.5
−10
Misalignment (dB)
1
h1
0
−0.5
−1
−1.5
−1.5
−20
−30
−40
−50
−1
−0.5
0
h0
0.5
1
1.5
−60
200
400
600
Iteration
800
1000
Figure 4: Pas d’adaptation µ = 0.001. (a) Processus
d’adaptation très lent du filtre h(n) d’un point
quelconque h(0) = [−1 − 1]T et convergence vers
la solution de Wiener hopt = [0.8363 − 0.7854]T . (b)
Convergence très lente du misalignment normalisé.
INRS-EMT J. Benesty
20
Téléchargement