modelado acústico: modelos ocultos de markov...

38
TIC en Redes Móviles TIC en Redes Móviles Modelado Acústico Modelado Acústico : : Modelos Ocultos de Modelos Ocultos de Markov Markov (HMM) (HMM) 1. Definición 2. Evaluación 3. Descodificación 4. Aprendizaje, el algoritmo EM

Upload: others

Post on 27-Oct-2019

30 views

Category:

Documents


0 download

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 MarkovMarkov

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”

TIC en Redes MóvilesTIC en Redes Móviles

Aislado

Modos de AprendizajeModos de Aprendizaje

Continuo

TIC en Redes MóvilesTIC en Redes Móviles

Modos de AprendizajeModos de Aprendizaje

Continuo