modelado acústico: modelos ocultos de markov...
TRANSCRIPT
TIC en Redes MóvilesTIC en Redes Móviles
Modelado AcústicoModelado Acústico::Modelos Ocultos de Modelos Ocultos de Markov Markov
(HMM)(HMM)
1. Definición2. Evaluación3. Descodificación4. Aprendizaje, el algoritmo EM
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov
Formalmente: Proceso doblemente estocástico formado por un proceso estocástico oculto, secuencia de estados, no observable directamente y un proceso estocástico observable, secuencia de vectores espectrales.
TIC en Redes MóvilesTIC en Redes Móviles
Modelado Acústico: HMMModelado Acústico: HMM
Time
Freq
uenc
y
0 0.05 0.1 0.15 0.2 0.25 0.3 0.350
1000
2000
3000
4000
5000
6000
7000
8000
0 1000 2000 3000 4000 5000 6000 7000-4000
-3000
-2000
-1000
0
1000
2000
3000
4000
U N O
TIC en Redes MóvilesTIC en Redes Móviles
Modelo Modelo SimpleSimple
Mezcla de GaussianasM 1
t tm m mm 0
P(O ) c N(O ; , )−
=
λ = µ Σ∑( ) ( )T 1
m mt tm1 O O2
t m 1/ 2m N / 2m
1N(O ; , ) e(2 )
−− −µ Σ −µµ Σ =
π Σ
- 4 - 2 0 2 4 6 8 1 00
0 . 0 5
0 . 1
0 . 1 5
0 . 2
0 . 2 5
0 . 3
0 . 3 5
0 . 4
0 . 4 5
0 . 5
o b s e r v a t io n v a lu e s
prob
abili
ty d
ensi
ty fu
nctio
n
TIC en Redes MóvilesTIC en Redes Móviles
Modelo Modelo SimpleSimple
Parámetros del modelo simple
{ }, , ,M C mm mλ µ= Σ
Suponiendo independencia entre observacionesT 1
tt 0
P(O ) P(O )−
=
λ = λ∏
ProblemaProblema: : La La secuencialidad secuencialidad temporal no esta temporal no esta modeladamodelada
TIC en Redes MóvilesTIC en Redes Móviles
Modelo SecuencialModelo Secuencial
T i m e
Freq
uenc
y
0 0 . 0 5 0 . 1 0 . 1 5 0 . 2 0 . 2 5 0 . 3 0 . 3 50
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
7 0 0 0
8 0 0 0
U N OS1 S2 S3
1P(O S1, )λ 2P(O S2, )λ 3P(O S3, )λiM 1
i,t i,ti,m i,m i,mm 0
P(O ) c N(O ; , )−
=
λ = µ Σ∑Problema: ¿Cómo encontrar las secciones?
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov
SecuencialidadSecuencialidad temporaltemporal: Cadena de Markov
S1 S2 S3
a2,2a1,1 a3,3
a1,2 a2,3
i, j j ia P(S S , )= λiM 1
t t ti i i,m i,m i,mm 0
b (O ) P(O S , ) c N(O ; , )−
=
= λ = µ Σ∑Suposición: Independencia entre observaciones
t 1t 0 ti iP(O O ,S , ) P(O S , )− λ = λ
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkovElementos de un modelo oculto de Markov
1. Conjunto de símbolos observables (discreto o continuo)p.e. Discretos M símbolos O={O1,O2,O3,....,OM}
2. Número de estados N S={S1,S2,...,SN}3. Matriz de probabilidades de transición entre estados
4. Probabilidades de emisión de símbolos en estados
5. Probabilidades de inicio
( )| 1a P q S q St j t iij= = =−
( )( ) |b O P O q Sk t ii k= =
( )0P q Siiπ = =
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkovRestricciones estocásticas
0 ( ) 0 0
, ,1 ( ) 1 1
1 1 1
a b Oij i k ii j kN M N
a b Oij i k jj k j
π
π
≥ ≥ ≥
∀= = =∑ ∑ ∑
= = =
SuposicionesProceso de Markov de orden 1
( ) ( )| , ,..., |1 2 0 1P q S q S q S q S P q S q St i t j t k m t i t j= = = = = = =− − −Independencia entre observaciones
( )1| , |0 0t tP O O q P O qt t t−⎛ ⎞=⎜ ⎟
⎝ ⎠
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkovProblemas a resolver
1. Estructura de la cadena de Markov
2. Aprendizaje, dado un modelo λ y un conjunto de observaciones, ¿Cómo ajustar los parámetros del modelo para maximizar la probabilidad?
3. Evaluación, dado un modelo λ y una secuencia de T observaciones O, calcular P(O|λ) de forma eficiente
4. Descodificación, dado un modelo λ y una secuencia de T observaciones O, ¿cuál es la secuencia más probable de estados Q?
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Estructura: Estructura¿Número de estados?
Dependiente del modelo acústicoDe 1 a 3 estados por fonema
¿Transiciones?Modelos de Bakis: transiciones izquierda-derecha, permitiendo saltar estados
Modelo de duración enestados exponencial: punto débil
( ) (1 )tD t a ai ii ii
= −
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Estructura: Estructura¿Observaciones?
Discretas: Cuantificación Vectorial para discretizar los vectores de parámetros Mel_Cepstrum, PLP,...¿Tamaño del cuantificador? = Número de observacionesCálculo de probabilidad= mirar en una tabla.
Continuas: Estimar la función de densidad de probabilidad para cada estado.Muy utilizado: Mezclas de Gaussianas
Determinar el número de mezclas vs. gasto computacionalCálculo de probabilidad= gaussianas !!!! -> verosimilitudes.
Semicontinuos: Asociar a cada observación discreta una función de densidad de probabilidad (p.e. Gaussiana). Todos los estados comparten las mismas gaussianas.
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Evaluación: Evaluación
¿P(O|λ) de forma eficiente?
( ) ( ) ( )| , | | ( | , )P O P O Q P Q P O QQ Q
λ λ λ λ= =∑ ∑∀ ∀
Para una secuencia particular { }, ,...,1 2Q q q qT=
( | ) ( | ) ( | , )11 1 1 2 12
TP Q P q P q q a at t q q q q qT Tt
λ λ λ π= =∏ −−=
L
( | , ) ( | , ) ( ) ( ) ( )1 21 21
TP O Q P O q b O b O b Ot t q q q TTt
λ λ= =∏=
L
De esta forma( | ) ( ) ( ) ( )1 21 1 1 2 2 1
P O b O a b O a b Oq q q q q q q q TT T TQλ π= ∑
−∀L
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Evaluación: EvaluaciónProblema computacional ..... O(NT)SoluciónPara el cálculo de solo se involucran los estados actual y anterior y la observación actual
( | , ) ( | , )1
P q q P O qt t t t
λ λ−
Variable Forward ( ) ( , | )1ti P O q S
t t iα λ= =
Por la independencia entre observaciones y orden 1
1| ) ( , | ) ( , | ,1 1 11 1
N tt q S P O q S P O q S q St j t t i t jt i j( , )P O λ λ λ−= = = = =∑ − −
=
( , | , ) ( | , ) ( | , )1 1
P O q S q S P O q S P q S q St t i t j t t i t i t j
λ λ λ= = = = = =− −
( )1
jt
α−
aji
( )b Oi t
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Evaluación: Evaluación
( )( ) ( ) ( )11
Ni j a b Ot jit i tj
α α= ∑ −=
La variable forward se calcula recursivamente como
Algoritmo Forward
Inicialización
Recursión
Finalización
( ) ( ) 11 1
i b O i Ni i
α π= ≤ ≤
( )( ) ( ) ( ) 2 ;111
Ni j a b O t T i Nt jit i tj
α α= ≤ ≤ ≤ ≤∑ −=
( | ) ( )1
NP O iT
iλ α= ∑
=
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Evaluación: Evaluación
(1)1t
α−
(2)1t
α−
(3)1t
α−
(3)t
α
13a23
a33
a ( )3
b Ot
t-1 t
( )(3) (1) (2) (3) ( )1 13 1 23 1 33 3a a a b Ot t tt t
α α α α= + +− − −
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Evaluación: Evaluación
Variable backward
( ) ( | , ) ( ) ( )1 11 1
NTi P O q S a b O jij j t tt t t i jβ λ β= = = ∑ + ++
=( ) 1i
Tβ =
Permite el cálculo de
( , | ) ( , | ) ( | , ) ( ) ( )1 1 1T t TP O q S P O q S P O q S i i
t i t i t t i t tλ λ λ α β= = = = =
+
( , , | ) ( ) ( ) ( )1 1 1TP O q S q S i a b O j
t i t j t ij j t tλ α β= = =
− −Necesarios para el aprendizaje de los parámetros del modelo
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Descodificación: DescodificaciónObjetivo: Buscar la secuencia más probable de estados
( , | )ˆ 1 1arg max ( | , ) arg max1 1 ( | )1
T TP Q OT TQ P Q OTP OQ Q
λλ
λ= =
ˆ arg max ( , | )1 1T TQ P Q O
Qλ=
definimos1( ) ( , , | )
1 1t tV i P O Q q S
t t iλ−= =
Mejor camino secuencia de estados hasta el instante t que ha generado la secuencia y termina en el estado Si1
tO
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Descodificación: Descodificación
Algoritmo de Viterbi1( ) ( , , | )
1 11 2max ( , , | ) ( | , )1 1 1 1
( | , )
t tV i P O Q q St t i
t tP O Q q S P q S q St j t i t jj
P O q St t i
λ
λ λ
λ
−= = =
− −⎡ ⎤= = =− −⎢ ⎥⎣ ⎦=
recursión
( ) max ( ) ( )1V i V j a b Ot jit i tj⎡ ⎤= −⎣ ⎦
ˆ arg max ( , | ) arg max ( ) 11 1T TQ P Q O V i i N
TQ Qλ= = ≤ ≤
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Descodificación: Descodificación
Algoritmo de Viterbi
Estado
observación1
2
3
1 2 T
Inicialización V1(i) = pi bi(O1)B1(i) = 0 1 ≤ i ≤ N
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Descodificación: Descodificación
Algoritmo de Viterbi
Estado
1
2
3
1 2 Vt-1(i)
aij Vt(j)
observaciónT
Recursión Vt(j) = max [Vt-1(i) aij] bj(Ot) 2 ≤ t ≤ T1 ≤ i ≤ N
Bt(j) = arg max [Vt-1(i) aij] 1 ≤ j ≤ N1 ≤ i ≤ N
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Descodificación: Descodificación
Algoritmo de Viterbi
Backtraking P* = max [VT(i)] 1 ≤ i ≤ N
qT*=arg max [VT(i)] 1 ≤ i ≤ N
qt* = Bt+1( qt+1*) t = T-1, T-2, ...1
Estado
observación1
2
3
1 2 T
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: Aprendizaje
Estimación de máxima verosimilitud
Problema: conjunto de datos incompletos, conocemos las observaciones O pero no la secuencia de estados Q
¿Cómo lo resolvemos?Suponemos un modelo inicial λ y estimamos la probabilidad de que cada estado ocurra en la generación de O
Con el nuevo modelo volvemos a iterar.
arg max ( | )MLE
P Oλ λλ
=
arg max ( , | )P O Qλ λλ
= ⎡ ⎤⎣ ⎦
λ
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: Aprendizaje
¿Converge? Tratamos O y Q como variables aleatorias discretas( , | ) ( | , ) ( | )P O Q P Q O P Oλ λ λ=
Tomando logaritmos y teniendo en cuenta que buscamos maximizar (para nosotros es una v.a.)( | )P O λ
log( ( | )) log( ( , | )) log( ( | , ))P O P Q O P Q Oλ λ λ= −
Tomamos el valor medio de la ecuación anterior con respecto a Q utilizando el modelo λ
log( ( | )) log( ( | )) ( | , ) log( ( | ))|
E P O P O P Q O P OQ O Q
λ λ λ λλ⎡ ⎤ ⎡ ⎤= =∑⎣ ⎦⎣ ⎦
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: Aprendizaje
De esta formalog( ( | )) log( ( | ))
|log( ( , | )) log( ( | , ))
| |( , ) ( , )
P O E P OQ O
E P Q O E P Q OQ O Q O
Q H
λ λλλ λ
λ λλ λ λ λ
⎡ ⎤= =⎣ ⎦
⎡ ⎤ ⎡ ⎤− =⎣ ⎦ ⎣ ⎦
−
Donde( , ) ( | , ) log( ( , | ))Q P Q O P Q O
Qλ λ λ λ=∑
( , ) ( | , ) log( ( | , ))H P Q O P Q OQ
λ λ λ λ=∑
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: Aprendizaje
Pero por la desigualdad de Jensen
( , ) ( , )H Hλ λ λ λ≤Efectivamente
( | , ) ( | , )( | , ) log ( | , ) 1( | , ) ( | , )
P Q O P Q OP Q O P Q OP Q O P Q OQ Q
λ λλ λλ λ
⎛ ⎞ ⎛ ⎞≤ −∑ ∑⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
( | , ) ( | , )( | , ) ( | , ) ( | , ) 0( | , )
P QO P QOP QO P QO P QOP QOQ Q Q
λ λλ λ λλ
⎛ ⎞− = − =∑ ∑ ∑⎜ ⎟⎝ ⎠
1 1Luego
TIC en Redes MóvilesTIC en Redes Móviles
( | , ) log( ( | , )) ( | , ) log( ( | , ))P Q O P Q O P Q O P Q OQ Q
λ λ λ λ≤∑ ∑
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: AprendizajeLa convergencia está garantizada si
( , ) ( , )Q Qλ λ λ λ≥Conocida como función auxiliar de Baum.Este método de aprendizaje es conocido comoAlgoritmo EM (Expectation-Maximization),
en HMM también se conoce como Algoritmo de Baum-Welch
Maximizando la función auxiliar de Baum se consigue que
( ) ( )log ( | ) log ( | )P O P Oλ λ≥
Objetivo conseguido!!!
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: Aprendizaje
ALGORITMO EMALGORITMO EM
1. Inicialización: Elegir un modelo inicial λ
2. Expectation: Calcular la función auxiliar
3. Maximization: buscar parámetros del modelo que maximiza la función auxiliar
4. Iteración: tomar y volver al paso 2.
( , )Q λ λ
arg max ( , )Qλ λ λλ
⎡ ⎤=⎣ ⎦
)
λ λ=)
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: AprendizajeAplicación a los modelos ocultos de Markov: Baum-Welch
( , ) ( | , ) log( ( , | ))Q P Q O P Q OQ
λ λ λ λ=∑
( , | ) ( )11 2
TP Q O a b Oq q q tq t t tt
λ π= ∏−=
Podemos definir las funciones auxiliares
( )( , ) ( | , ) log11
NQ P q S Oi i
iλ π λ π
π= =∑=
( )( , ) ( , | , ) log121
TNQ a P q S q S O at i t j ija i ti i
λ λ= = =∑∑ −==
( )( , ) ( | , ) log ( )2
TQ b P q S O b Ot i i tb ii t
λ λ= =∑=
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: Aprendizaje
La función auxiliar queda:
( , ) ( , ) ( , ) ( , )1 1
N NQ Q Q a Q ba i b ii ii iλ λ λ π λ λ
π= + +∑ ∑
= =Las funciones auxiliares son de la forma
( )log1
Nw yj i
j∑=
Con las restricciones estocásticas 1 01
Ny e yj i
j= ≥∑
=El máximo global se encuentra en
1,...,
1
wiy j Ni N
w jj
= =
∑=
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: AprendizajeLas ecuaciones de reestimación quedan
( , | ) ( ) ( )1 1 1( | )
( )1
P q S O i iii NP O
jTj
λ α βπ
λα
== =
∑=
( , | , ) ( ) ( ) ( )1 12 2
( , | , ) ( ) ( )1 1 11 2 2
T TP q S q S O i a b O jt i t j t ij j t tt ta
ij N T TP q S q S O i jt i t j t tj t t
λ α β
λ α β
= =∑ ∑− −= == =
= =∑ ∑ ∑− − −= = =
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: AprendizajePara modelos discretos,
( , | ) ( , ) ( ) ( ) ( , )2 2( )
( , | ) ( ) ( )2 2
T TP q S O O k i i O kt i t t t tt tb k
i T TP q S O i it i t tt t
λ δ α β δ
λ α β
=∑ ∑= == =
=∑ ∑= =
Para modelos continuos con funciones de densidad de probabilidad representadas por mezclas de gaussianas, procedimiento similar
jM 1
tj t jm jm jmm 0
b (O ) c N(O ; , )−
=
= µ Σ∑
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: Aprendizaje
Simplificación: Algoritmo Segmental1. Con el modelo λ se realiza una descodificación,
obteniéndose una segmentación de observaciones a estados
2. Pasa a ser un problema de estimación de una mezcla de gaussianas MLE con datos incompletos: Algoritmo EM
( ; , )
( ; , )1 1
j
c N Ojm jm t jm jmcjm jmM M j
c N Ojm jm t jm jmm m
γ µγ
γ µ
Σ= =
Σ∑ ∑= =
TIC en Redes MóvilesTIC en Redes Móviles
Modelos Ocultos de Modelos Ocultos de MarkovMarkov: Aprendizaje: Aprendizaje
Algoritmo segmental (cont.)
( )( )
Ojm ttjm
jmtTO Ojm t jm t jmt
jmjmt
γµ
γ
γ µ µ
γ
∑=
∑
− −∑Σ =
∑
TIC en Redes MóvilesTIC en Redes Móviles
SecuenciaToooO K21=
“casa”
Dictionary
“hola”
“gato”
M
K
K
K
1P
2P
3P
Max 2P
Aplicación al reconocimiento de palabras aisladas
A/D
Window
Mel-cepstrumEvaluación
Secuencia de observaciones
ToooO K21=
“Gato”