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 + ε