Algorithme du gradient stochastique (least-mean-square –...

21
Algorithme du gradient stochastique (least-mean-square – LMS) L’algorithme du gradient stochastique est une approximation de l’algorithme du gradient d´ eterministe. L’algorithme LMS est certainement l’algorithme adaptatif le plus populaire qui existe en raison de sa simplicit´ e. INRS-EMT J. Benesty

Transcript of Algorithme du gradient stochastique (least-mean-square –...

Page 1: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Algorithme du gradientstochastique (least-mean-square –

LMS)

L’algorithme du gradient stochastique est uneapproximation de l’algorithme du gradient deterministe.L’algorithme LMS est certainement l’algorithmeadaptatif le plus populaire qui existe en raison desa simplicite.

INRS-EMT J. Benesty

Page 2: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Plan

• Rappels sur l’algorithme du gradient deterministe

• L’algorithme LMS

• Convergence de l’algorithme LMS

• Quelques regles

• L’algorithme LMS pour des donnees complexes

• Exemple: egalisation adaptative

• Resume

INRS-EMT J. Benesty 1

Page 3: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Rappels sur l’algorithme du gradientdeterministe

L’algorithme du gradient deterministe est:

h(n + 1) = h(n) − 12µg(n), (1)

ou

g(n) =∂J [h(n)]

∂h(n)(2)

= −2E{x(n)e(n)}= −2p + 2Rh(n)

est le gradient de la fonction cout J [h(n)] =E{e2(n)}. Cet algorithme peut encore s’ecrire enutilisant le signal d’erreur:

e(n) = d(n) − xT (n)h(n) (3)

h(n + 1) = h(n) + µE{x(n)e(n)}. (4)

Probleme: en pratique, E{x(n)e(n)} ou de maniereequivalente R et p ne sont pas connus.

INRS-EMT J. Benesty 2

Page 4: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

L’algorithme LMS

Puisque R = E{x(n)xT (n)} et p = E{x(n)d(n)} sontinconnus, on approchera ces grandeurs deterministespar des estimees R(n) et p(n) a l’instant n. Dans lecas du LMS, on choisit les estimees les plus simplespossibles, a savoir:

R(n) = x(n)xT (n), (5)

p(n) = x(n)d(n). (6)

Ce sont simplement les estimees instantanees descorrelations.

En remplacant R(n) et p(n) dans l’algorithme dugradient deterministe [eq. (1)], on obtient:

h(n + 1) = h(n) + µ[p(n) − R(n)h(n)]

= h(n) + µx(n)[d(n) − xT (n)h(n)]

= h(n) + µx(n)e(n), (7)

qui est l’algorithme LMS. On remarquera que h(n)est maintenant une variable aleatoire [puisqu’a chaquenouvelle iteration n, h(n) depend des processusaleatoires x(n) et d(n)].

INRS-EMT J. Benesty 3

Page 5: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Resume de l’algorithme LMS:

Calcul de la sortie du filtre:

y(n) = hT (n)x(n). (8)

Calcul du signal d’erreur:

e(n) = d(n) − y(n). (9)

Mise a jour du filtre:

h(n + 1) = h(n) + µx(n)e(n). (10)

µ est le pas d’adaptation de l’algorithme qui demarreavec une initialisation quelconque h(0).

L’algorithme LMS est tres simple: il necessiteseulement 2L + 1 multiplications et 2L additions pariteration, ou L est le nombre de coefficients du filtre.

INRS-EMT J. Benesty 4

Page 6: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Convergence de l’algorithme LMS

L’analyse de la convergence du LMS se fait en utilisantles deux criteres suivants:

• Convergence en moyenne du filtre h(n), cad:

limn→∞E{h(n)} = hopt. (11)

• Convergence du critere J(n) (en moyennequadratique), cad:

limn→∞ J(n) = J(∞) = constante. (12)

INRS-EMT J. Benesty 5

Page 7: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Convergence en moyenne:

L’equation du LMS est:

h(n + 1) = h(n) + µx(n)e(n), (13)

= h(n) + µx(n)[d(n) − xT (n)h(n)]

= [I − µx(n)xT (n)]h(n) + µd(n)x(n),

en prenant l’esperance mathematique et en supposantl’independance entre les donnees x(n) et les coefficientsdu filtre hl(n), on a:

E{h(n + 1)} = [I − µR]E{h(n)} + µp. (14)

Posons le vecteur misalignment:

c(n) = h(n) − hopt, (15)

l’equation (14) devient apres avoir additionner les deuxcotes avec −hopt et remplacer p = Rhopt:

E{c(n + 1)} = [I − µR]E{c(n)}. (16)

Puisque R = QΛQT , en prenant v(n) = QTc(n),l’equation precedente est maintenant:

E{v(n + 1)} = [I − µΛ]E{v(n)}, (17)

INRS-EMT J. Benesty 6

Page 8: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

ou encore, comme on l’a fait pour le gradientdeterministe:

E{vl(n)} = (1 − µλl)nE{vl(0)}, l = 0, 1, · · · , L − 1.

(18)

On voit bien que la condition de stabilite est:

0 < µ <2

λmax, (19)

ou λmax est la plus grande valeur propre de la matriceR. Dans ce cas:

limn→∞E{v(n)} = 0, (20)

et par consequent:

limn→∞E{h(n)} = hopt. (21)

INRS-EMT J. Benesty 7

Page 9: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Convergence en moyenne quadratique:

Le signal d’erreur produit par l’algorithme LMS est:

e(n) = d(n) − xT (n)h(n)

= d(n) − xT (n)hopt − xT (n)[h(n) − hopt]

= emin(n) − xT (n)c(n), (22)

ou emin(n) est le signal d’erreur obtenu avec le filtreoptimal de Wiener.

Reprenons l’equation du LMS:

h(n + 1) = h(n) + µx(n)e(n) (23)

= h(n) + µx(n)emin(n) − µx(n)xT (n)c(n),

qui s’ecrit aussi en fonction du vecteur c(n) =h(n) − hopt comme suit:

c(n + 1) = [I − µx(n)xT (n)]c(n) + µx(n)emin(n). (24)

La matrice d’autocorrelation du vecteur misalignmentc(n) est:

K(n) = E{c(n)cT (n)}. (25)

INRS-EMT J. Benesty 8

Page 10: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

En utilisant l’hypothese d’independance et a partir de(24) on deduit une equation d’adaptation pour K(n):

K(n + 1) = (I − µR)K(n)(I − µR) + µ2JminR, (26)

ou

Jmin = E{e2min(n)} (27)

est l’erreur quadratique moyenne minimale.

En utilisant les definitions precedentes et en invoquantl’hypothese d’independance, l’erreur quadratiquemoyenne J(n) due au LMS peut etre evaluee de lamaniere suivante:

J(n) = E{e2(n)} (28)

= E{[emin(n) − xT (n)c(n)][emin(n) − xT (n)c(n)]}= Jmin + E{cT (n)x(n)xT (n)c(n)}.

D’autre part:

E{cT (n)x(n)xT (n)c(n)} = E{tr[cT (n)x(n)xT (n)c(n)]}= E{tr[x(n)xT (n)c(n)cT (n)]}= tr{E[x(n)xT (n)c(n)cT (n)]}.

INRS-EMT J. Benesty 9

Page 11: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

En invoquant l’hypothese d’independance on afinalement:

E{cT (n)x(n)xT (n)c(n)}= tr{E[x(n)xT (n)]E[c(n)cT (n)]}= tr[RK(n)]. (29)

On peut reecrire l’erreur quadratique moyenne:

J(n) = Jmin + tr[RK(n)]. (30)

On definit l’erreur quadratique moyenne excedentaire(excess mean-square-error) comme:

Jex(n) = J(n) − Jmin

= tr[RK(n)] > 0. (31)

En utilisant la factorisation R = QΛQT dansl’expression precedente, on obtient:

Jex(n) = tr[QΛQTK(n)]

= tr[ΛQTK(n)Q]

= tr[ΛZ(n)], (32)

INRS-EMT J. Benesty 10

Page 12: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

ou Z(n) = QTK(n)Q. Puisque Λ est une matricediagonale, on peut encore ecrire:

Jex(n) =L−1∑l=0

λlzl(n), (33)

ou zl(n) sont les elements diagonaux de la matriceZ(n).

On se souvient de l’equation recursive:

K(n + 1) = (I − µR)K(n)(I − µR) + µ2JminR, (34)

soit en multipliant a gauche et a droite par QT et Q:

Z(n + 1) = (I − µΛ)Z(n)(I − µΛ) + µ2JminΛ, (35)

et les elements diagonaux de Z(n + 1) se calculentrecursivement:

zl(n + 1) = (1 − µλl)2zl(n) + µ2Jminλl. (36)

La recursion converge si |1−µλl| < 1, ∀l. L’algorithmeLMS est donc convergent en moyenne quadratique si:

0 < µ <2

λmax. (37)

INRS-EMT J. Benesty 11

Page 13: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

A l’infini et avec la condition de convergenceprecedente, on a:

zl(∞) = (1 − µλl)2zl(∞) + µ2Jminλl, (38)

soit

zl(∞) =µJmin

2 − µλl, l = 0, 1, · · · , L − 1. (39)

On en deduit:

Jex(∞) =L−1∑l=0

λlzl(∞)

= Jmin

L−1∑l=0

µλl

2 − µλl. (40)

D’ou:

limn→∞ J(n) = J(∞) = Jex(∞) + Jmin

= Jmin

(1 +

L−1∑l=0

µλl

2 − µλl

)= constante (41)

avec la condition de convergence.

INRS-EMT J. Benesty 12

Page 14: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Quelques regles

Comment choisir le pas d’adaptation: 0 < µ < 2λmax

?En pratique, λmax n’est pas facile a determiner.

On prend une estimee conservatrice:

tr[R] =L−1∑l=0

λl ⇒ tr[R] > λmax. (42)

D’autre part:

tr[R] = Lr(0) = Lσ2x. (43)

D’ou:

0 < µ <2

Lσ2x

, (44)

qui est un choix sur pour garantir la convergence del’algorithme LMS.

INRS-EMT J. Benesty 13

Page 15: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Soit la quantite suivante:

λmoy =1L

L−1∑l=0

λl, (45)

qui represente une moyenne des valeurs propres dela matrice R. En utilisant certains resultats obtenussur la constante de temps de l’algorithme du gradientdeterministe, on definit la constante de temps moyennede la courbe d’apprentissage de l’algorithme LMS:

τeqm,moy ≈ 12µλmoy

. (46)

On definit le “misadjustment” comme:

m =Jex(∞)Jmin

(47)

=L−1∑l=0

µλl

2 − µλl.

Si µλmax � 1, on a:

m ≈ µ

2

L−1∑l=0

λl =µ

2Lσ2

x. (48)

INRS-EMT J. Benesty 14

Page 16: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

En utilisant le pas normalise:

µ =α

Lσ2x

, (49)

ou 0 < α < 2, on obtient:

m ≈ α

2< 1. (50)

D’autre part, le misadjustment peut s’ecrire en fonctionde τeqm,moy:

m ≈ L

4τeqm,moy. (51)

D’ou les observations suivantes:

• La valeur de m augmente lineairement avec lalongueur L du filtre h.

• m est inversement proportionnel au temps deconvergence.

• m est proportionnel au pas d’adaptation, d’ouconflit entre vitesse de convergence et valeur finalede l’EQM.

INRS-EMT J. Benesty 15

Page 17: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

L’algorithme LMS pour des donneescomplexes

Calcul de la sortie du filtre:

y(n) = hH(n)x(n). (52)

Calcul du signal d’erreur:

e(n) = d(n) − y(n). (53)

Mise a jour du filtre:

h(n + 1) = h(n) + µx(n)e∗(n). (54)

µ, 0 < µ < 2Lσ2

x, est le pas d’adaptation de l’algorithme

qui demarre avec une initialisation quelconque h(0).

INRS-EMT J. Benesty 16

Page 18: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Exemple: egalisation adaptative

Dans cet exemple, on etudie l’utilisation de l’algorithmeLMS pour l’egalisation adaptative d’un canal lineairequi produit des distorsions. La Fig. 1 illustre le principed’un egaliseur adaptatif.

EGALISEURADAPTATIF

+

-

RETARD

+CANAL DETRANSMISSION

SIGNAL

BRUIT

y(n)

s(n) x(n)

u(n)

e(n)

d(n)

Figure 1: Egalisation adaptative.

Le signal de transmission s(n) est une sequencealeatoire ou s(n) = ±1. Le signal s(n) est deformepar un canal dont la reponse impulsionnelle est:

wk =

{12

[1 + cos

(2πβ (k − 1)

)], k = 0, 1, 2

0, sinon, (55)

INRS-EMT J. Benesty 17

Page 19: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

ou β controle la quantite de distorsion produite parle canal (plus β est grand et plus la distorsion estimportante). Dans notre exemple, β = 0.25.Un bruit blanc de moyenne nulle et de varianceσ2

u = 0.001 est ajoute a la sortie du canal.L’egaliseur est un filtre RIF de longueur L = 11.Le signal d’entree de ce filtre est:

x(n) =2∑

k=0

wks(n − k) + u(n). (56)

D’apres la Fig. 1, le signal d’erreur est:

e(n) = d(n) − y(n) = s(n − δ) − hT (n)x(n). (57)

La moyenne d’ensemble est approximee en moyennant200 realisations independantes.

La Fig. 2 montre les courbes d’apprentissagede l’algorithme LMS pour deux pas d’adaptationdifferents. On voit bien que pour un pas grand,l’algorithme converge plus rapidement qu’avec un pasplus petit mais l’erreur residuelle est plus importante.

INRS-EMT J. Benesty 18

Page 20: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

0 500 1000 1500−35

−30

−25

−20

−15

−10

−5

0

5

Iteration

EQ

M, d

B

µ = 0.02

µ = 0.1

Figure 2: Courbes d’apprentissage de l’algorithme LMSpour un egaliseur adaptatif RIF de longueur L = 11 etpour deux pas d’adaptation differents.

INRS-EMT J. Benesty 19

Page 21: Algorithme du gradient stochastique (least-mean-square – …externe.emt.inrs.ca/users/benesty/lectures/lecture06.pdf · Algorithme du gradient stochastique (least-mean-square –

Resume

• L’algorithme LMS est tres simple!

• Les performances du LMS dependent de troisfacteurs:1. le pas d’adaptation µ,2. les valeurs propres λl de la matrice R, et3. la longueur L du filtre h.

• Avec un pas d’adaptation petit, le LMS convergelentement mais l’EQM excedentaire est petite.

• Avec un pas d’adaptation grand, le LMS convergerapidement mais l’EQM excedentaire est grande.

• Le temps de convergence de l’algorithme LMSdepend du conditionnement χ(R) de la matriced’autocorrelation R: plus χ(R) est grand et plus leLMS met du temps a converger.

INRS-EMT J. Benesty 20