Algoritmo de adaptación LMS (Least Mean Squares)

Anuncio
Algoritmo de adaptación LMS
(Least Mean Squares)
Tratamiento Estadístico de Señales
Pablo Musé, Ernesto López, Luis Di Martino
{pmuse,elopez,dimartino}@fing.edu.uy
Departamento de Procesamiento de Señales
Instituto de Ingeniería Eléctrica
Facultad de Ingeniería
Mayo de 2015
Biblio:
I Haykin, Adaptive Filter Theory, 4ta. edición: Capítulos 4 y 5.
I Hayes, Statistical Digital Signal Processing and Modeling, 1996: Capítulo 9.
Introducción - Motivación
I
El algoritmo de steepest descent supone el conocimiento de
∇w J(w(n)) y una elección correcta de µ.
I
En muchos casos es imposible contar con esta información, y
debemos estimar ∇w J(w(n)) a partir de los datos.
I
Entre los algoritmos que estiman el gradiente, el LMS es el más
simple: no necesita medir correlaciones ni inversiones matriciales.
I
La forma de hacerlo es substituir p y R en la expresión de
∇w J(w(n)) por estimaciones. LMS utiliza la estimación más trivial:
los valores instantáneos.
∇w J(w(n)) = −2p + 2Rw(n)
b
R(n)
= u(n)u(n)H
b (n) = u(n)d∗ (n)
p
El algoritmo LMS
∗
Hb
[
De esta forma, ∇
w J(w(n)) = −2u(n)d (n) + 2u(n)u(n) w(n).
1
Teníamos w(n + 1) = w(n) − µ∇w J(w(n))
2
b + 1) = w(n)
b
b
⇒ w(n
+ µu(n)[d∗ (n) − uH (n)w(n)].
O de forma equivalente,

b H (n)u(n)
y(n) = w

e(n) = d(n) − y(n)

b + 1) = w(n)
b
w(n
+ µe∗ (n)u(n)
Observaciones
1. µe∗ (n)u(n) es la corrección en el estimado de w(n).
2. Dirección del gradiente muy ruidosa, puede estar muy lejos de la real.
3. A pesar de que los estimados de R y p son instantáneos, la
performance global es buena. ¿Porqué? Porque el mismo algoritmo,
al acumular, promedia los estimados.
4. La actualización de cada coeficiente requiere únicamente de una
multiplicación y una suma: wi (n + 1) = wi (n) + µu(n − i + 1)e∗ (n).
Complejidad del método LMS
Si el filtro tiene M coeficientes:
bH
Cálculo de la salida y(n) = w (n)u(n)
Actuallización de coeficientes
Cálculo del error e(n) = d(n) − y(n)
µe∗ (n)
TOTAL:
×
M
M
–
1
2M + 1
+
M −1
M
1
–
2M .
Convergencia del algoritmo LMS
I
LMS estima el gradiente mediante valores instantáneos. En general,
la corrección aplicada a los coeficientes del filtro no va a ser en la
dirección de máxima pendiente.
I
∗
[
Como E[∇
w J(w(n))] = −2E[u(n)e (n)] = ∇w J(w(n)), la
corrección se hace, en media, en la dirección de máxima pendiente.
Ejemplo: convergencia típica de LMS
Dos coeficientes, 500 iteraciones
w(0) = (0, 0)
w(0) = R−1 p.
Convergencia de LMS: marco estadístico
I
Suponemos u(n) y d(n) conjuntamente WSS.
I
Nos interesa saber las condiciones para las cuales
lı́m E[w(n)] = wo = R−1 p.
n→+∞
I
Tomando esperanzas en las ecuaciones del LMS:
b + 1)] = E[w(n)]
b
b
E[w(n
+ µE[u(n)d∗ (n)] − µE[u(n)uH (n)w(n)].
El último término es difícil de evaluar; supondremos para simplificar
que u(n) y w(n) son estadísticamente independientes. Esta
hipótesis es claramente no cierta del todo, pero conduce a resultados
que condicen relativamente con las simulaciones.
I
De esta forma,
b + 1)] = E[w(n)]
b
b
E[w(n
+ µE[u(n)d∗ (n)] − µE[u(n)uH (n)]E[w(n)]
b
= (I − µR)E[w(n)]
+ µp.
Convergencia de LMS: marco estadístico (cont.)
I
La ecuación anterior es la misma que fue obtenida para el algoritmo
de máxima pendiente, por lo que vale el mismo análisis.
I
Por lo tanto: Para un proceso WSS, el algoritmo LMS converge en
2
media si 0 < µ < λmax
, y si la hipótesis de independencia se
satisface.
La condición anterior tiene dos inconvenientes:
1. La convergencia de la media de w(n) no implica que permanezca
acotado.
2. No conocemos λmax .
Para el segundo punto,Ptenemos una forma razonable de solucionarlo:
M
sabemos que λmax ≤ k=1 λk = Traza(R). Luego, como R es Toeplitz,
Traza(R) = M r(0) = M E[|u(n)|2 ].
Tenemos entonces una condición suficiente para la convergencia del
2
algoritmo LMS: 0 < µ < M E[|u(n)|
2] .
PN −1
Podemos por ejemplo estimar E[|u(n)|2 ] = N1 k=0 |u(n − k)|2 .
Criterios de convergencia (cont.)
Algunos criterios posibles:
n→+∞
I
Convergencia de la media: E[ŵ(n) − wo ] −→ 0 (la solución de
Wiener). Criterio de poco valor práctico, cualquier secuencia de valor
medio cero converge en este sentido.
I
Convergencia en media: E[kŵ(n) − wo k] −→ 0. Más fuerte.
Difícil de probar debido a la singularidad en 0.
I
Convergencia en media cuadrática:
n→+∞
n→+∞
D(n) := E[kŵ(n)−wo k2 ] −→ 0, (D(n): Desvío del error cuadrático).
Es fácil de minimizar (funcional convexo diferenciable).
Otra condición para describir la convergencia del LMS es
n→+∞
J(w(n)) = E[|e2 (n)|] −→ cte.
Convergencia en media cuadrática del método LMS
Definimos el error en exceso como: Jex (n) = J(w(n)) − Jmin .
Es fácil mostrar que
λmin (R)D(n) ≤ Jex (n) ≤ λmax (R)D(n), ∀ n.
Entonces el decaimiento de Jex (n) y D(n) son matemáticamente
equivalentes. Nos focalizaremos entonces en el estudio de J(w(n)).
Tenemos
J(w(n)) = Jmin + (w(n) − wo )T R(w(n) − wo )
= Jmin + c(n)T Rc(n)
= Jmin + Jex (n).
El cálculo de Jex (n) no es sencillo (ver Haykin). Es posible establecer la
siguiente propiedad asintótica:
(
J(∞) = Jmin + Jex (∞)
1. 0 < µ < 2/λmax
PM −1
⇔
= 1−µ PMJ−1min
λk/(2−µλk ) < 1
2. µ
λ /(2−µλ )
k=0
k
k
k=0
Convergencia en media cuadrática del método LMS (cont.)
Luego,
PM −1
Jex (∞) = J(∞) − Jmin = µJmin
1−
λk/(2−µλk )
k=0
.
PM −1
µ k=0 λk/(2−µλk )
Si µ 2/λmax (cierto en general), entonces:
I
µλk 2 ⇒ la condición (2) anterior se vuelve µ < 2/Tr[R].
I
1
J(∞) ≈ Jmin 1− 1 µTr[R]
2
1
I
µTr[R]
Jex (∞) ≈ µJmin 1−2 1 µTr[R] ≈ 12 µJmin Tr[R]
2
Defs.: Desajuste, valor propio promedio
µ2/λmax
1
µTr[R]
(∞)
≈
µ 1−2 1 µTr[R] ≈ 12 µTr[R]
Desajuste: M = JJexmin
2
OBS: recordar que Tr[R] = potencia en los retardos, potencia en el
vector de observación.
PM
1
Valor propio promedio: λav = M
k=1 λk .
Convergencia en media cuadrática del método LMS (cont.)
I
Supongamos que aproximamos la curva de aprendizaje (promedio de
realizaciones o ensambles) por una sola exponencial.
I
La constante de tiempo será (siguiendo el mismo rationale que para
máxima pendiente): τmse,av = 2µλ1 av .
PM
Teníamos: M ≈ µ2 k=1 λk
I
⇒M≈
µ
M
M λav ≈
.
2
4τmse,av
Observaciones:
1. Para τmse,av fijo, M ∝ M .
2. M ∝
3.
1
τmse,av
∝
M∝µ
τmse,av ∝ 1/µ
1
tiempo para alcanzar el valor final
⇒ µ es elección de compromiso.
Steepest descent y LMS
I
El error cuadrático medio es mínimo cuando w(n) = wo .
I
El algoritmo de máxima pendiente:
I
I
Converge a wo cuando n → +∞. Puede hacerlo porque utiliza el
valor exacto del gradiente para cada iteración.
I
Tiene una curva de aprendizaje n 7→ J(n) bien definida, constituída
por exponenciales decrecientes según los modos, tantos como el
orden del filtro.
El algoritmo LMS:
I
Utiliza estimadores ruidosos del gradiente y por lo tanto sólo puede
aproximarse a wo y luego fluctuar entorno a éste.
I
Definimos el error cuadrático medio como J(∞), y el error
cuadrático medio en exceso como Jex (∞) = J(∞) − Jmin .
I
La curva de aprendizaje es ruidosa. Para analizar la dinámica del
filtro necesitamos estudiar E[J(n)]. En la práctica el ensamble de
promedios se aproxima con 50 a 200 simulaciones independientes.
Discusión
Los tres factores que afectan el comportamiento del algoritmo son: µ, M ,
y {λi }. Podemos resumir los efectos individuales de la siguiente forma:
µ:
I
Se puede interpretar como la memoria del algoritmo, ya que
determina el peso relativo que se le asigna a las nuevas
observaciones.
I
Cuando µ es grande, la adaptación es rápida. Utilizando menor
cantidad de datos, el error en exceso es mayor.
I
Cuando µ es pequeño, la adaptación es más lenta. El filtro utiliza
más datos (tiene más memoria), el error en exceso es menor.
M:
I
Las propiedades de convergencia del error cuadrático medio E[J(n)]
dependen de M .
I
E[w(n)] no depende de M .
I
E[J(n)] converge ⇐ 0 < µ < PM2 λ . En este caso se dice que el
k=1 k
LMS converge en media cuadrática.
I
2
E[ŵ(n)] converge ⇔ 0 < µ < λmax
. En este caso se dice que LMS
converge en la media.
PM
Dado que λmax ≤ k=1 λk , si E[J(n)] converge ⇒ E[ŵ(n)]
converge.
I
{λi }:
I
Cuando los valores propios de R están muy separados, tenemos:
I
I
I
Jex queda determinado fundamentalmente por los λi grandes.
El tiempo de convergencia de E[ŵ(n)] está limitado por los λi
pequeños.
ex
≈ 21 µTr[R]
Jex (∞) ≈ 12 µJmin Tr[R], M = JJmin
Resumen del algoritmo LMS
I
Parámetros: M : número de coeficientes; µ: paso de ajuste,
2
2
= M r(0)
.
0<µ<
potencia de entrada
I
Condiciones iniciales: ŵ(0) = 0.
I
Datos: u(n): vector de entrada; d(n): respuesta deseada
I
Valores a calcular: ŵ(n + 1)
I
Cálculo:
e(n) = d(n) − ŵH (n)u(n)
ŵ(n + 1) = ŵ(n) + µu(n)e∗ (n)
Algoritmo LMS en un entorno no-estacionario
El entorno no estacionario puede deberse a dos motivos:
1. La respuesta deseada varía en el tiempo. Ejemplo: identificación de
sistemas. En este caso R queda fija y p cambia.
2. {u(n)} no estacionario. Ejemplo: ecualizador de canal variante en el
tiempo. En este caso R y p cambian.
El algoritmo tiene la tarea de alcanzar el mínimo de la superficie de error
y también seguir ("track") su posición.
Sea wo (n) el valor óptimo en el tiempo n (cambia).
ε(n) = ŵ(n) − wo (n)
= [ŵ(n) − E[ŵ(n)] + [E[ŵ(n) − wo (n)]
{z
} |
{z
}
|
ε1 (n)
ε2 (n)
ε1 (n): errores en la estimación del gradiente (weight vector noise);
ε2 (n): retraso en el proceso adaptativo (weight vector lag).
Obs: En el caso estacionario, E[ŵ(n)] = wo (n) = wo ⇒ ε2 (n) = 0.
LMS Normalizado (NLMS)
Una de las dificultades en la implementación del LMS es la elección de µ.
Para un proceso estacionario:
2
λmax .
I
LMS converge en la media si 0 < µ <
I
LMS converge en media cuadrática si 0 < µ <
2
Tr[R] .
En general no conocemos R y se debe estimar, o al menos estimar su
traza. Una forma de hacerlo es
Tr[R] = M E[|u(n)2 |],
y la condición de media cuadrática puede substituírse por
2
M E[|u(n)2 |] ,
PM
1
E[|u(n)2 |] ≈ M
k=1
)
0<µ<
|u(n − k + 1)|2
⇒
convergencia en media
cuadrática vale si
0 < µ < u(n)H2 u(n) .
LMS Normalizado (NLMS) (cont.)
Una forma de incorporar esto en LMS es usando
µ(n) =
β
β
=
, con 0 < β < 2.
u(n)H u(n)
ku(n)k2
Esto da lugar al algoritmo adaptivo conocido como NLMS (Normalized
LMS):
u(n) ∗
e (n), 0 < β < 2
ŵ(n + 1) = ŵ(n) + β
ku(n)k2
Observaciones:
1. En LMS la corrección es proporcional a u(n). Cuando es grande,
podemos tener el problema de amplificar el ruido en el cálculo del
gradiente.
2. En el NLMS podemos tener problemas con valores de ku(n)k chicos.
Una alternativa que corrige este problema es:
ŵ(n + 1) = ŵ(n) + β
u(n)
e∗ (n), 0 < β < 2, ε > 0 chico
ku(n)k2 + ε
Descargar