Distorsión dinámica temporal y búsqueda

Anuncio
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
Descargar