Clase nº 9 Año académico 2003 Distorsión dinámica temporal y búsqueda • Distorsión dinámica temporal • Búsqueda – Algoritmos de búsqueda gráfica – Algoritmos de programación dinámicos 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 1 Coincidencia de plantilla basada en palabras - Medición de rasgos - Similitud de patrones 6 Palabra emitida - Regla de decisión - Palabra de salida Plantillas de referencia de palabras • Representación de la palabra completa: – No existe un concepto explícito de unidades de subpalabra (ej., fonos). – Las palabras entre sí no comparten nada. • Se utiliza en el reconocimiento de palabras aisladas y en el del discurso hablado. • Tuvo éxito desde finales de la década de los 70 hasta mediados de los 80. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 2 Mecanismo de coincidencia o encaje de plantillas • El patrón de prueba T y los patrones de referencia {R 1 , . . . , RV }, están representados por secuencias de mediciones de rasgos. • La similitud de patrones está determinada por el alineamiento del patrón de prueba T , con el patrón de referencia • Rv , con distorsión D(T , Rv ) La regla de decisión selecciona el patrón de referencia R ∗ , con la menor distorsión de alineamiento D(T , R ∗ ) R ∗ = arg min D(T , Rv ) v • La técnica de la distorsión dinámica temporal (DTW) se utiliza para calcular la mejor distorsión φ v , entre T D(T , R v ) de alineamiento posible asociada 6.345 Reconocimiento automático del habla y Rv , junto con la distorsión Distorsión dinámica temporal y búsqueda 3 Ejemplo de alineamiento m m M M Referencia Distorsión 1 1 n 0 1 N Prueba n 0 6.345 Reconocimiento automático del habla 1 N Distorsión dinámica temporal y búsqueda 4 Ejemplos de alineamiento digital Encaje 6.345 Reconocimietno automático del habla Desencaje Distorsión dinámica temporal y búsqueda 5 Distorsión dinámica temporal (DTW) • Objetivo: un alineamiento óptimo entre las secuencias de longitud variable T = {t1 , . . . , tN } y R = {r1 , . . . , rM } • La distorsión total D(T , R) se basa en una suma de distancias locales entre elementos d(t i , rj ) • Una distorsión de aleamiento especial φ, alinea T y R mediante un un mapeo de punto a punto φ = (φ t , φr ), de longitud Kφ tφt (k) ⇐⇒ rφr (k) 1 ≤ k ≤ Kφ • El alineamiento óptimo minimiza la distorsión global. D(T , R) = min Dφ (T , R) φ Kφ 1 d(tφt (k) , rφr (k) )mk Dφ (T , R) = Mφ k=1 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 6 Cuestiones sobre las técnicas de DTW • Restricciones de punto final: φt (1) = φr (1) = 1 • φt (K) = N φr (K) = M Monotonicidad: φt (k + 1) ≥ φt (k) • Los pesos de la trayectoria • El factor de normalización de trayectoria φr (k + 1) ≥ φr (k) mk , pueden influenciar la forma de la trayectoria óptima. M φ , permite la comparación entre distintas distorsiones (ej., con diferentes longitudes). Mφ = Kφ mk k=1 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 7 Cuestiones de DTW: Continuidad local [n,m] m TIPO I m-1 TIPO III m-2 m-1 m-2 n-2 n-1 n n-2 [n,m] m TIPO II [n,m] m m-1 TIPO IV m-2 n-1 n [n,m] m m-1 m-2 n-2 n-1 n n-2 n-1 n Las restricciones locales determinan la flexibilidad de alineamiento 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 8 Cuestiones de DTW : Restricciones globales gradiente = 2 (1,M) (N,M) Rango permitido 1 gradientel = 2 1 gradiente = 2 (N,1) (1,1) gradiente = 2 Las restricciones locales excluyen partes del espacio de búsqueda 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 9 Cómputo de alineamiento de la DTW 5 3 4 4 1 H 4 3 2 1 3 3 E F 1 1 2 [m,n] m 2 3 1 m-1 2 1 A D G 2 3 3 B C 3 4 1 4 m-2 n-2 4 n-1 n 5 S 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 10 Representaciones gráficas del espacio de búsqueda • Los espacios de búsqueda pueden representarse como grafos dirigidos. A - E * - B j F * S R C - D R - H j G • Las trayectorias a través de un grafo pueden representarse mediante un árbol. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 11 Árbol del espacio de búsqueda S A E ? H ? ) q B U F ? H = E ? H ? D ? F ~ G ? H F ? H C U G ? H ? H 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 12 Algoritmos de búsqueda gráfica • Los métodos iterativos que utilizan una cola para almacenar las trayectorias parciales: – En cada iteración se extrae de la cola la trayectoria parcial superior y se amplía un nivel. – Las nuevas ampliaciones se vuelven a colocar en la cola. – La búsqueda se completa cuando se alcanza el objetivo. • La profundidad de la cola está potencialmente ilimitada. • Se pueden examinar los gráficos pesados con el fin de encontrar la mejor trayectoria. • Los algoritmos admisibles garantizan la obtención de la mejor trayectoria. • Muchos problemas de búsqueda relativos al habla, pueden configurarse para que procedan en tiempo síncrono. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 13 Búsqueda primero en profundidad • Examina el espacio buscando una trayectoria al mismo tiempo. • Las ampliaciones de la trayectoria se colocan al principio de la cola. • La cola no se reordena ni se recorta. • No muy apropiado para los espacios con trayectorias de extremos largos. • Generalmente no se utiliza para encontrar la mejor trayectoria. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 14 Ejemplo de búsqueda primero en profundidad S A E ? H ? ) q B U F ? H = E ? H ? D ? F ~ G ? H F ? H C U G ? H ? H 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 15 Búsqueda primero en amplitud • Examina el espacio buscando todas las trayectorias en paralelo. • Las ampliaciones de la trayectoria se colocan al final de la cola. • La cola no se reordena ni se recorta. • La cola puede ir aumentando rápidamente en espacios con muchas trayectorias. • No se utiliza generalmente para encontrar la mejor trayectoria. • Es posible potenciar su efectividad mediante el recorte. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 16 Ejemplo de búsqueda primero en amplitud S A E ? H ? ) q B U F ? H = E ? H ? D ? F ~ G ? H F ? H C U G ? H ? H 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 17 Búsqueda primero el mejor • Se emplea para examinar un gráfico pesado. • Utiliza el avance rápido o el criterio óptimo paso a paso, según el cual cada iteración amplía la mejor trayectoria en curso. • En cada iteración, la cola es recurrida según la puntuación acumulativa de cada trayectoria parcial. • Si las puntuaciones de la trayectoria exhiben una conducta monotónica (ej.d(t i , rj ) ≥ 0), la búsqueda puede acabar cuando una trayectoria completa presente una puntuación mejor que todas las trayectorias parciales activas. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 18 Representación arbórea (con puntuaciones de nodo) S ? ) A 1 E B U 3 ? H 2 1 F = 6 ? H 1 E q 2 ? 3 ? H 2 ~ D 1 ? F G 2 ? 3 C 6 H 1 F U 3 ? H 1 G 1 ? H 1 ? H 1 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 19 Representación arbórea (con puntuacionea acumulativas) S ? ) A 2 E B U 5 ? H 7 1 F = 8 ? H 9 E q 3 ? 6 ? H 8 ~ D 4 ? F G 5 ? 7 C 7 H 6 F U 10 ? H 11 G 8 ? H 9 ? H 8 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 20 Ejemplo de la primera búsqueda el mejor S ? ) A 2 E B U 5 F 1 = 8 ? H 7 6.345 Reconocimiento automático del habla E q 3 ? 6 ? H 8 ~ D 4 ? F C 7 G 5 ? 7 H 6 Distorsión dinámica temporal y búsqueda 21 Recorte de trayectorias parciales • Tanto los algoritmos de avance rápido como los de programación dinámica, pueden obtener ventaja de la subestructura óptima: – Sea φ(i, j) la mejor trayectoria entre los nodos i y j – Si k es un nodo en φ(i, j): φ(i, j) = {φ(i, k), φ(k, j)} – Sea ϕ(i, j) el coste de φ(i, j) ϕ(i, j) = min(ϕ(i, k) + ϕ(k, j)) k • El cáculo de las soluciones a los subproblemas sólo es necesario una vez. • Las trayectorias parciales subóptimas se pueden descartar mientras se mantenga la admisibilidad de la búsqueda. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 22 Primera búsqueda mejor con recorte S ? ) A 2 E B U 5 F 1 = 8 ? H 7 6.345 Reconocimiento automático del habla E q 3 ? 6 ~ D 4 ? F C 7 G 5 ? 7 H 6 Distorsión dinámica temporal 23 Cálculo de puntuaciones futuras • Las puntuaciones de trayectoria parcial ϕ(1, i), se pueden incrementar con cálculos futuros, ϕ(i), del coste sobrante. ˆ ϕφ = ϕ(1, i) + ϕ(i) ˆ es un cálculo demasiado bajo del coste sobrante, las trayectorias adicionales • Si ϕ(i) pueden recortarse mientras se mantenga la admisibilidad de búsqueda. • Usos de la búsqueda A*: – Estrategia de búsqueda el primero mejor – Recorte – Estimaciones futuras 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 24 Representaciones arbóreas (con estimaciones futuras) S ? ) A 5 E B U 7 ? H 7 5 F = 9 ? H 9 E q 6 ? 8 ? H 8 ~ D 6 ? F G 6 ? 8 C 9 H 6 F U 10 ? H 11 G 9 ? H 9 ? H 8 6.345 Reconocimiento automático del habla Distorsión dinámica temporal 25 Ejemplo de búsqueda A* S ? ) A 5 E B U 7 F 5 = 9 E q 6 ? 8 ~ D 6 ? F 6.345 Reconocimiento automático del habla C 9 G 6 ? 8 H 6 Distorsión dinámica temporal y búsqueda 26 Búsqueda N-Best (N-mejor) • Utilizada para computar trayectorias superiores N – Puede ser repuntuada por técnicas más sofisticadas. – Empleada típicamente a nivel oracional. • Puede utilizar búsqueda A∗ modificada para clasificar trayectorias. – No se produce recorte de las trayectorias parciales. – Las trayectorias completadas se quitan de la cola. – Puede utilizar un umbral para recortar trayectorias, y todavía identificar las violaciones de admisibilidad. – También puede emplearse para generar un gráfico. • Se pueden utilizar métodos alternativos para calcular las salidas N-mejores (ej., DP (programación dinámica) asíncrona). 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 27 Ejemplo de búsqueda N -mejor S ? ) A 5 E B U 7 F 5 = 9 ? H 7 E q 6 ? 8 ? H 8 ~ D 6 ? F C 9 G 6 ? 8 H 6 ? H 8 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 28 Programación dinámica (DP) • Los algoritmos de DP no emplean la estrategia de avance rápido. • Los algoritmos de DP normalmente aprovechan la subestructura óptima y los subproblemas de solapamiento, organizando la búsqueda de manera que el subproblema se resuelva sólo una vez. • Se pueden implementar eficientemente: – El nodo j retiene sólo el coste de la mejor trayectoria de todos los ϕ(i, j) – El mejor nodo id anterior es necesario para recuperar la mejor trayectoria. • Puede ser en tiempo síncrono o asíncrono. • DTW y Viterbi son búsquedas en tiempo síncrono y parecen de primero en amplitud con recorte. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 29 Ejemplo de DP en tiempo síncrono S A - E - B - D j F j j G 6.345 Reconocimiento automático del habla C j - H Distorsión dinámica temporal y búsqueda 30 Variaciones de búsqueda • Puede utilizar un ancho de haz para reducir las hipótesis actuales. – Un ancho de haz puede ser estático o dinámico basado en la puntuación relativa. • Puede utilizar una aproximación a un límite inferior en A∗ de cara a la computación de la N-mejor. • La búsqueda es inadmisible, pero en la práctica puede resultar útil. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 31 Ejemplo de búsqueda en haz S A - E - B - D j F j j 6.345 Reconocimiento automático del habla C j - H G Distorsión dinámica temporal y búsqueda 32 Referencias • Cormen, Leiserson, Rivest, Introduction to Algorithms, 2ª ed., MIT Press, 2001. • Huang, Acero y Hon, Spoken Language Processing, Prentice-Hall, 2001. • Jelinek, Statistical Methods for Speech Recognition. MIT Press, 1997. • Winston, Artifcial Intelligence, 3ª ed., Addison-Wesley, 1993. 6.345 Reconocimiento automático del habla Distorsión dinámica temporal y búsqueda 33