You are on page 1of 33

Clase n 10 Ao acadmico 2003

Modelos ocultos de Markov


Introduccin Formulacin del problema Algoritmo de avance-retroceso Bsqueda de Viterbi Estimacin del parmetro de Baum-Welch Otras consideraciones Secuencias de observacin mltiple Modelos telefnicos para reconocimiento de voz continuo Modelos ocultos de Markov (HMMs) de densidad continua Cuestiones de implementacin

6.345 Reconocimiento automtico del habla

HMM 1

Enfoque terico de informacin al ASR (Reconocimiento automtico del habla/voz)


Generacin del habla Reconocimiento del habla

Generacin de texto

W Produccin ProcesadorA Descodificador del habla acstico lingstico

canal de comunicacin ruidoso

El reconocimiento se consigue al maximizar la probabilidad de la cadena lingstica W , dadas las pruebas acsticas A, ej., elegir la secuencia lingstica W tal que P(W |A) = max P(W |A)
W
6.345 Reconocimiento automtico del habla HMM 2

Enfoque terico de informacin al ASR


A partir de la regla de Bayes: P(W |A) = P(A|W )P(W ) P(A)

Los modelos ocultos de Markov (HMM) se ocupan de la cantidad P(A|W ) Cambio en la notacin: A W P(A|W ) O P(O|)

6.345 Reconocimiento automtico del habla

HMM 3

HMM: Un ejemplo
2
1

2
2

2
2

1
2

0 1
1

2
1

2
2

2
2

2
1

2
2

2
2

Considere 3 tazas, cada una conteniendo mezclas de piedras con estados 1 y 2 Las fracciones para la taza i th son ai1 y ai2 , y ai1 + ai2 = 1 b i (B) y bi (W ); bi (B) + bi (W ) = 1

Considere 2 urnas, cada una con mezclas de bolas blancas y negras. Las fracciones para la urna i th son

El vector de parmetro para este modelo es: = {a01 , a02 , a11 , a12 , a21 , a22 , b1 (B), b1 (W ), b2 (B), b2 (W )}
6.345 Reconocimiento automtico del habla HMM 5

HMM: Un ejemplo (continuacin)


2 2 2 2 2
1 1
2
1

2
2

2
2

2
1

2
2

2
2

2
1

2
2

2
2

2
1

2
2

2
2

2
1

2
2

2
2

2
1

2
2

2
2

Secuencia de observacin: O = {B, W , B, W , W , B} Secuencia de estado: Q = {1, 1, 2, 1, 2, 1} Objetivo: Dado el modelo y la secuencia de observacin O, cmo se puede determinar la secuencia de estado subyacente Q ?
6.345 Reconocimiento automtico del habla HMM 5

Elementos de un modelo oculto de Markov discreto


N: nmero de estados del modelo estados, s = {s1 , s2 , . . . , sN } estado en tiempo t, q t s M: nmero de smbolos de observacin (ej., observaciones discretas) smbolos de observacin, v = {v 1 , v2 , . . . , vM } observacin en tiempo t, o t v A = {aij }: distribucin de la probabilidad de la transicin del estado aij = P(qt+1 = sj |qt = si ), 1 i, j N B = {bj (k)}: distribucin de la probabilidad del smbolo de observacin del estado j bj (k) = P(vk at t|qt = sj ), 1 j N, 1 k M = {i }: distribucin del estado inicial i = P(q1 = si ), 1 i N
Desde una perspectiva notacional, un HMM se escribe tpicamente como: = {A, B, }

6.345 Reconocimiento automtico del habla

HMM 6

HMM: Un ejemplo (continuacin)


Para nuestro ejemplo simple: = {a01 , a02 }, A= a11 a12 a21 a22 , and B= b1 (B) b1 (W ) b2 (B) b2 (W )

Diagrama de estado
estado-2 estado-3

a11
1

a12
2

a22
1 2 3

a21 {b1(B), b1(W)} {b 2(B), b 2(W)}

6.345 Reconocimiento automtico del habla

HMM 7

Generacin de observaciones de HMM


1. Elegir un estado inicial
inicial,

q 1 = si , basado en la distribucin del estado

2. Para t = 1 a T : Elegir o t = vk en funcin de la distribucin de probabilidad del smbolo en el estado si , bi (k) Transicin a un nuevo estado qt+1 = sj segn la distribucin de probabilidad de la transicin de estado para el estado si , aij 3. Incrementar en 1, volver al paso 2 si t T ; de lo contrario, terminar
a 0i q1 bi (k) a ij q2

.....

qT

o1
6.345 Reconocimiento automtico del habla

o2

oT
HMM 8

Representacin del diagrama de estado de Trellis

s1 s2 s3
0 1 2 3 4

La lnea con guiones representa una transicin nula, en la que no se genera ningn smbolo de observacin.

6.345 Reconocimiento automtico del habla

HMM 9

Tres problemas bsicos de HMM


1. Puntuacin: Dada una secuencia de observacin O = {o1 , o2 , ..., oT } y un modelo = {A, B, }, cmo calculamos P(O | ), la probabilidad de la
secuencia de observacin?

==> Algoritmo de avance-retroceso 2. Ajuste:


sea optimal? Dada una secuencia de observacin elegimos una secuencia de estado

O = {o 1 , o2 , ..., oT }, cmo Q = {q 1 , q2 , ..., qT } que de algn modo

==> Algoritmo de Viterbi 3. Entrenamiento: Cmo ajustamos los parmetros del modelo = {A, B, } para
maximizar P(O | )?

==> Procedimientos de reestimacin de Baum-Welch

6.345 Reconocimiento automtico del habla

HMM 10

Cmputo de P(O|)
P(O|) =
allQ

P(O, Q |)

P(O, Q |) = P(O|Q , )P(Q |) Considere la secuencia del estado jo: Q = q q2 . . . qT 1

P(O|Q , ) = bq1 (o1 )bq2 (o2 ) . . . bqT (oT ) P(Q |) = q1 aq1 q2 aq2 q3 . . . aqT 1 qT
Por tanto:

P(O|) =

q1 ,q2 ,...,qT

q1 bq1 (o1 )aq1 q2 bq2 (o2 ) . . . aqT 1 qT bqT (oT )

Clculo requerido 2T N T (existen N T secuencias)


Para N = 5, T = 100 2 100 5100 1072 cmputos
6.345 Reconocimiento automtico del habla HMM 11

El algoritmo de avance
Definamos la variable de avance
dado el modelo, ej.:

t (i), como la probabilidad de la


s i en el tiempo

secuencia de observacin parcial hasta el tiempo t y estado

t,

t (i) = P(o1 o2 . . . ot , qt = si |) Se puede demostrar fcilmente que: 1 (i) = i bi (o1 ), P(O|) = Por induccin : t+1 (j ) = [
N i=1 N

1iN T (i) 1t T 1 1jN

i=1

t (i ) aij ]bj (ot+1 ),

El clculo est en el orden de N 2 T .


Para N = 5, T = 100 100 52 cmputos, en vez de 1072
6.345 Reconocimiento automtico del habla HMM 12

Ilustracin del algoritmo de avance


s1 a1j si
t(i)

aij
t+1(j)

sj

ajj

aNj sN 1 t t+1 T

6.345 Reconocimiento automtico del habla

HMM 13

El algoritmo de retroceso
Del mismo modo, denamos la variable de retroceso t (i), como la probabilidad
de la secuencia de observacin parcial desde el tiempo t + 1 hasta el final, dado el estado

s i en tiempo t y el modelo, ej., t (i) = P(ot+1 ot+2 . . . oT |qt = si , )

Puede demostrarse fcilmente que: T (i) = 1,


y:

1iN i bi (o1 )1 (i)

P(O|) = Por induccin: t (i ) =


N j=1
6.345 Reconocimiento automtico del habla

N i=1

aij bj (ot+1 ) t+1 (j ),

t = T 1, T 2, . . . , 1 1iN
HMM 14

Ilustracin del procedimiento de retroceso


s1 ai1 si
t(i)

aii

aij sj aiN sN 1 t t+1 T


t+1(j)

6.345 Reconocimiento automtico del habla

HMM 15

Hallando secuencias optimales de estado


Un criterio selecciona estados qt , que son individualmente los ms probables

Esto maximiza el nmero esperado de estados correctos Definamos t (i) como la probabilidad de estar en el estado si en el tiempo t,
N i=1

dada la secuencia de observacin y el modelo, ej..

t (i) = P(qt = si |O, )

t (i) = 1,

Luego el estado individualmente ms probable q t , en tiempo t es: qt = argmax t (i)


1iN

1tT

Observe que se puede demostrar que: t (i) =


6.345 Reconocimiento automtico del habla

t (i)t (i) P(O|)


HMM 16

Hallando secuencias optimales de estado


El criterio de optimalidad individual presenta el problema de que la secuencia del
estado optimal puede no obedecer a las restricciones de transicin de estado.

Otro criterio de optimalidad consiste en elegir la secuencia de estado que


maximice P(Q , O|); Esto se puede hallar mediante el algoritmo de Viterbi .

Definamos

t (i) como la probabilidad ms alta a lo largo de una trayectoria max P(q1 q2 . . . qt1 , qt = si , o1 o2 . . . ot |) = [max t (i)aij ]bj (ot+1 )
i

simple en tiempo t, que da cuenta de las primeras observaciones t , ej..

t (i) = Por induccin:

q1 ,q2 ,...,qt1

t+1 (j)

Para recuperar la secuencia de estado, debemos seguir la pista de la secuencia de


estado que proporcion la mejor trayectoria, en tiempo t, al estaso si

Hacemos esto en una matriz aparte t (i)


6.345 Reconocimiento automtico del habla HMM 17

El algoritmo de Viterbi
1. Inicializacin: 1 (i) = i bi (o1 ), 1 (i) = 0 2. Recursin: t (j) = max [t1 (i)aij ]bj (ot ), t (j) = argmax[t1 (i)aij ],
1iN 1iN

1iN

2tT 2tT

1jN 1jN

3. Terminacin:

P = max [T (i)]
qT 1iN

= argmax[T (i)]
1iN

4. Trayectoria inversa (secuencia de estado):


qt = t+1 (qt +1 ),

t = T 1, T 2, . . . , 1

Cmputo N 2 T
6.345 Reconocimiento automtico del habla HMM 18

El algoritmo de Viterbi: Un ejemplo


.8 .2 .5 1 .7 .3 .3 .2 .4 2 .1 O={a a b b} .5 .5 .3 .7 .5 3 P(a) P(b)

0 s1 .40

a .40

a .10

b .10

s2

.21 .21 .20 .20 .20 .20 .10 .15 .10 .15

.09 .09 .20 .20 .20 .20 .35 .10 .10 .35

.20

.10

s3 0 1 2 3 4

6.345 Reconocimiento automtico del habla

HMM 19

El algoritmo de Viterbi: Un ejemplo (continuacin)


0 s1 s2 s3 1.0 s1 , a s1 , 0 s1 , a s2 , a s2 , 0 s2 , a a .4 .08 .21 .04 .021 .03 s1 , a s1 , 0 s1 , a s2 , a s2 , 0 s2 , a aa .16 .032 .084 .042 .0084 .0315 s1 , b s1 , 0 s1 , b s2 , b s2 , 0 s2 , b aab .016 .0032 .0144 .0168 .00168 .0294 s1 , b s1 , 0 s1 , b s2 , b s2 , 0 s2 , b aabb .0016 .00032 .00144 .00336 .000336 .00588

s1 , 0 s2 , 0

.2

.02

a
1.0 0.4

a
0.16

b
0.016

b
0.0016

s1 s2 s3

0.2

0.21

0.084

0.0168

0.00336

0.02

0.03

0.0315

0.0294

0.00588

0
6.345 Reconocimiento automtico del habla

4
HMM 20

Correspondencia mediante el algoritmo de avance-retroceso


0 s1 s2 s3 1.0 s1 , a s1 , 0 s1 , a s2 , a s2 , 0 s2 , a a .4 .08 .21 .04 .033 .03 s1 , a s1 , 0 s1 , a s2 , a s2 , 0 s2 , a aa .16 .032 .084 .066 .0182 .0495 s1 , b s1 , 0 s1 , b s2 , b s2 , 0 s2 , b aab .016 .0032 .0144 .0364 .0054 .0637 s1 , b s1 , 0 s1 , b s2 , b s2 , 0 s2 , b aabb .0016 .00032 .00144 .0108 .001256 .0189

s1 , 0 s2 , 0

.2

.02

a
1.0 0.4

a
0.16

b
0.016

b
0.0016

s1 s2 s3

0.2

0.33

0.182

0.0540

0.01256

0.02

0.063

0.0677

0.0691

0.020156

0
6.345 Reconocimiento automtico del habla

4
HMM 21

Reestimacin de Baum-Welch

La reestimacin de Baum-Welch emplea el algoritmo de EM para determinar los parmetros de ML

Denir t (i, j) como la probabilidad de estar en el estado si en tiempo t y en el estado s en tiempo t + 1, dado el modelo y la secuencia de observacin j t (i, j) = P(qt = si , qt+1 = sj |O, ) Luego: t (i, j) = t (i) = t (i)aij bj (ot+1 )t+1 (j) P(O|)
N

t (i, j)

j=1

Sumando t (i) y t (i, j), obtenemos:


T 1 t=1 T 1 t=1
6.345 Reconocimiento automtico del habla HMM 22

t (i) = nmero esperado de transiciones desde si

t (i, j) = nmero esperado de transiciones desde si a sj

Procedimientos de reestimacin de Baum-Welch


s1

si

t(i)

aij

sj

t+1(j)

sN 1 t-1 t t+1 t+2 T

6.345 Reconocimiento automtico del habla

HMM 23

Frmulas de reestimacin de Baum-Welch


= nmero esperado de tiempos en el estado s en t = 1 i = 1 (i) aij =
nmero esperado de transiciones desde el estado si a sj
T 1

nmero esperado de transiciones desde el estado

si

t (i, j) t (i)

t=1 T 1 t=1

j (k) = nmero esperado de tiempos en el estado sj con smbolo vk b


T
t=1 ot =vk

nmero esperado de tiempos en el estado s j

t (j)

T t=1

t (j)
HMM 24

6.345 Reconocimiento automtico del habla

Frmulas de reestimacin de Baum-Welch


Si = (A, B, ) es el modelo inicial, y = ( B, ) es el modelo A,
reestimado. Se puede demostrar entonces que:

1. El modelo inicial , dene un punto crtico de la funcin de probabilidad, en cuyo caso = , o 2. El modelo es ms probable que en el sentido de que P(O| > P(O|), ) ej., hemos encontrado un nuevo modelo , a partir del cual es ms probable que
la secuencia de observacin se haya producido.

Por tanto, podemos mejorar la probabilidad de que O sea observado a partir del modelo, si utilizamos iterativamente en lugar de y repetimos la reestimacin hasta que se alcance algn punto restrictivo. El modelo resultante es conocido como el HMM con mxima probabilidad.

6.345 Reconocimiento automtico del habla

HMM 25

Secuencias de observacin mltiple

En reconocimiento de voz se utilizan normalmente los HMM de izquierda a derecha. Estos HMM no pueden entrenarse mediante una secuencia de observacin simple, porque nicamente se encuentran disponibles un pequeo nmero de observaciones para entrenar a cada estado. Para obtener estimaciones fiables de parmetros del modelo, se deben emplear las secuencias de observacin mltiples. En este caso, el procedimiento de reestimacin debe ser modificado.

Denotemos el conjunto de las secuencias de observacin K como

O = {O (1) , O (2) , . . . , O (K) }


donde

O (k) = {o ,1o ,2. . . , o

(k)

(k)

(k)

Tk } es la secuencia de observacin k-th.

Suponga que las secuencias de observacin son mutuamente independientes, y que queremos calcular los parmetros con el fin de maximizar

P(O | ) =
6.345 Reconocimiento automtico del habla

K k=1

P(O (k) | ) =

K k=1

Pk
HMM 26

Secuencias de observacin mltiple (continuacin)


Dado que las frmulas de reestimacin estn basadas en la frecuencia de aparicin
de varios eventos, podemos modificarlos mediante la adicin de frecuencias individuales de aparicin para cada secuencia.
K Tk 1 k t (i, j)

aij =

k=1 t=1 K Tk 1 k=1 t=1 K k=1 Tk


t=1 (k) ot =v

=
k t (i)

1 Tk 1 k (k) t (i)aij bj (ot+1 )k (j) t+1 Pk t=1 k=1


K

1 Tk 1 k t (i)k (i) t Pk t=1 k=1


K

k t (j)

1 P k=1 k =
K

Tk
t=1 (k) ot =v

k (i)k (i) t t

j ( ) = b

K Tk k=1t=1

k t (j)

1 Tk k t (i)k (i) t Pk t=1 k=1


HMM 27

6.345 Reconocimiento automtico del habla

Los HMM en entornos telefnicos


Los HMM basados en palabras son adecuados para el reconocmiento de pequeos
vocabularios. Para el reconocimiento automtico (ASR) de extensos vocabularios, los modelos basados en subpalabras (ej., entornos telefnicos) son ms apropiados.

6.345 Reconocimiento automtico del habla

HMM 28

HMMs en entornos telefnicos (continuacin)


a partir de una concatenacin de modelo telefnicos.

Los modelos telefnicos pueden presentar muchos estados, y las palabras se forman

6.345 Reconocimiento automtico del habla

HMM 29

Modelos ocultos de Markov de densidad continua


Un HMM de densidad continua sustituye las probabilidades de observacin discreta bj (k), mediante un PDF continuo bj (x) Una prctica comn es representar bj (x) =
donde
M k=1

bj (x) como una mezcla de gaussianas: 1jN

cjk N[x, jk , jk ]

cjk es el peso de mezcla cjk 0 (1 j N, 1 k M, y

cjk = 1, 1 j N),

N es la densidad normal, y con el estado j y la mezcla k.

k=1

jk y jk son el vector de medias y la matriz de covarianza asociados

6.345 Reconocimiento automtico del habla

HMM 30

Variaciones en el modelado acstico


Los HMM semicontinuos computan primero un libro de cdigo de VQ de tamao M

El libro de cdigo de VQ se modela entonces como una familia de PDF gaussianos.


junto con otros para modelar los vectores acsticos.

Cada palabra e cdigo est representada por un PDF gaussiano, y se puede utilizar Desde la perspectiva de los CD-HMM ( HMM de densidad continua), esto equivale
a utilizar el mismo conjunto de mezclas M para modelar todos los estados.

Por tanto, se le conoce normalmente como un HMM de mezcla enlazada. Los tres mtodos se han utilizado en muchas tareas de reconocimiento de voz,
con diversos resultados.

Para extensos vocabularios, en el reconocimiento de voz continuo con una cantidad


suficiente (ej., decenas de horas) de entrenamiento de datos, los sistemas CD-HMM actualmente producen el mejor rendimiento, pero con un aumento considerable el el cmputo.
6.345 Reconocimiento automtico del habla HMM 31

Cuestiones de implementacin
Escalamiento: para prevenir la generacin de un valor inferior al mnimo aceptable. Entrenamiento de K-medias segmentales: para entrenar probabilidades de observacin, ejecutando en primer lugar el alineamiento de Viterbi.

Estimaciones iniciales de : para facilitar modelos robustos. Recorte: para reducir el cmputo de bsqueda.

6.345 Reconocimiento automtico del habla

HMM 32

Referencias
X. Huang, A. Acero y H. Hon, Spoken Language Processing, Prentice-Hall, 2001. F. Jelinek, Statistical Methods for Speech Recognition. MIT Press, 1997. L. Rabiner y B. Juang, Fundamentals of Speech Recognition, Prentice-Hall, 1993.

6.345 Reconocmiento automtico del habla

HMM 33

You might also like