51
1 1 Doroteo Torre Doroteo Torre Toledano y Joaqu Toledano y Joaquí n Gonz n González Rodr lez Rodrí guez guez Área de Tratamiento de Voz y Señales, http://atvs.ii.uam.es/ Escuela Politécnica Superior Universidad Autónoma de Madrid HMMs HMMs HMMs 2 Índice 1. Introducción 2. Modelos de Markov (Markov Chains) 3. Modelos Ocultos de Markov (HMMs) 4. Adaptación al Locutor (MAP, MLLR) 5. Entrenamiento y Evaluación con HTK 6. Conclusiones

HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

  • Upload
    lyhuong

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

1

1

Doroteo Torre Doroteo Torre Toledano y JoaquToledano y Joaquíín Gonzn Gonzáález Rodrlez RodrííguezguezÁrea de Tratamiento de Voz y Señales, http://atvs.ii.uam.es/

Escuela Politécnica Superior

Universidad Autónoma de Madrid

HMMsHMMsHMMs

2

Índice

1. Introducción

2. Modelos de Markov (Markov Chains)

3. Modelos Ocultos de Markov (HMMs)

4. Adaptación al Locutor (MAP, MLLR)

5. Entrenamiento y Evaluación con HTK

6. Conclusiones

Page 2: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

2

1. Introducción

Introducción

� Los Modelos Ocultos de Markov (HiddenMarkov Models, HMMs) � Son los modelos más utilizados en reconocimiento de

voz� Modelan estadísticamente la acústica de la voz (i.e.

modelar cómo suenan los distintos fonemas y palabras)� Sustituyeron hacia la década de los 80 a las técnicas

de comparación de patrones (Dynamic Time Warping, DTW) que modelaban la voz de forma determinista

� Desde entonces siguen siendo la base tecnológica de los reconocedores de voz comerciales

Page 3: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

3

2. Modelos de Markov –

Cadenas de Markov

Modelo de Markov (de primer orden,

discreto y observable) � Consideremos un sistema

� Que produzca una salida en cada instante de tiempo discreto, t = 1, 2, 3, …

� Cuya salida en cada instante t (denotada por qt) estélimitadas a un conjunto finito de salidas {S1, …, SN}

� Y tal que la probabilidad de obtener la salida Sj en el instante t (qt = Sj) dependa de todas las salidas anteriores

� Este sistema todavía es mucho más complejo y genérico que un modelo o cadena de Markov

Page 4: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

4

Modelo de Markov (de primero orden,

discreto y observable): Simplificaciones (i)

� Para llegar al modelo de Markov debemos hacer algunas simplificaciones:� En lugar de depender de todas las salidas anteriores

limitamos el sistema a que dependa de únicamente las n salidas anteriores (Modelo de Markov de orden n)

� En la práctica en reconocimiento de voz se usan únicamente modelos de Markov de primer orden

Modelo de Markov (de primer orden,

discreto y observable): Simplificaciones (ii)

� Simplificación adicional para llegar a los modelos de Markov de primer orden:� Se asume que el sistema es invariante en el tiempo (el

proceso estacionario), con lo cual las probabilidades de transición de una salida Si a una salida Sj no dependen del tiempo.

� De este modo el sistema queda definido por un conjunto de probabilidades de transición:

� Que cumplen

Page 5: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

5

Modelo de Markov: Representación

gráfica � En un modelo de

Markov observable cada posible salida se asocia a un estado del sistema� Se dice que es observable

porque a la salida se “observa” la secuencia de estados

� Los estados se representan con círculos y las probabilidades de transición con arcos

Modelo de Markov: Todavía nos falta

algo…� Con lo visto hasta el momento podemos

calcular la probabilidad de estar en cualquier estado dado el estado anterior del sistema

� PERO nos falta conocer el estado inicial del sistema

� Este estado viene definido por las probabilidades iniciales de cada estado

� Muchas veces se asume que el estado inicial es uno de forma determinista, pero también pueden definirse probabilidades iniciales distintas de 1 y 0.

Page 6: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

6

En Resumen…

� Un modelo de Markov de primer orden, discreto y observable viene determinado por:� El número de estados (posibles salidas) del

sistema, N.� Una matriz de transición entre estados

(posibles salidas):

� Un vector de probabilidades iniciales de cada estado.

Ejemplo 1

� Consideremos un modelo de Markov simple para prever el tiempo en una ciudad:� Clasificamos el tiempo que hace a las 12 del mediodía

� 3 estados: lluvia/nieve (S1), nublado (S2), soleado (S3)

� Tras varios días de observación estimamos la matriz de transiciones entre estados

Page 7: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

7

Ejemplo 1 (ii)

� Asumiendo este modelo, podemos ahora responder a algunas preguntas interesantes sobre el tiempo� Sabiendo que ha llovido durante los últimos 2 días, ¿cuál es la

probabilidad de que llueva mañana?

� ¿Y sabiendo que ha llovido todos los días durante el último mes?

� Sabiendo que el día 1 hizo sol, ¿cuál es la probabilidad de que los siguientes 7 días haga sol, sol, lluvia, lluvia, sol, nubes, sol?

� Sabiendo que hoy hace sol, ¿Cuál es la probabilidad de que haga sol durante exactamente 7 días y ni uno más?

� Si hoy ha hecho sol, ¿cúantos días más hará sol en promedio?

Ejemplo 1 (iii)

Page 8: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

8

Ej. 1 (iv)

Ejemplo 1 (v)

Page 9: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

9

3. Modelos Ocultos de

Markov

Ejemplos de modelos ocultos de Markov

� Un modelo oculto de Markov es un modelo de Markov(de primer orden y discreto) en el que las salidas observables no se corresponden de forma determinista, sino probabilística, con los estados del sistema

� Ejemplo: Lanzamiento de monedas trucadas� Alguien se dedica a tirar una moneda detrás de una cortina y

decir si sale cara o cruz� Este caso podemos modelarlo con un modelo observable de

Markov en el que cada estado se corresponde con cara o cruz

Page 10: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

10

Page 11: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

11

Ejemplos de modelos ocultos de Markov

(ii)� Ejemplo: Lanzamiento de monedas trucadas (ii)

� Pero ¿qué ocurriría si la persona que está lanzando la moneda tiene dos monedas trucadas que tienen distintas probabilidades de sacar cara y cruz y cambia de moneda de forma aleatoria?

� En ese caso sería más apropiado un modelo oculto de Markovcon dos estados correspondientes a las dos monedas (no sabemos la moneda que está utilizando)

Ejemplos de modelos ocultos de Markov

(iii)� Ejemplo: Lanzamiento de monedas trucadas (iii)

� En el caso de que usase tres monedas “trucadas”, deberíamos emplear 3 estados

Page 12: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

12

Ejemplos de modelos ocultos de Markov

(iv)� Ejemplo: Extracción de bolas de colores de urnas

� Detrás de una cortina se extraen bolas de colores de tres urnas distintas en las que hay distintas proporciones de colores en cada bola, retornando la bola a la urna tras decir el color al observador que está detrás de la cortina

Ejemplos de modelos ocultos de Markov (v)� Ejemplo: Voz

� Observamos el espectro de voz, pero no sabemos el fonema dicho

Page 13: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

13

Definición formal de un HMM

� Un HMM queda caracterizado por los siguientes elementos:� 1. El número de estados en el modelo, N.

� Denotamos cada estado como Si

� Denotamos el estado en el instante t como qt

� Si el sistema está en el estado Si en el instante t escribimos qt=Si

� 2. El número de símbolos observables, M� Denotamos a cada símbolo observable como vj

� Denotamos la observación en el instante t como Ot

� Si la observación en el instante t es vj escribimos Ot=vj

� 3. La matriz de probabilidades de transición

Definición formal de un HMM (ii)

� Un HMM queda caracterizado por los siguientes elementos (ii):� 4. La distribución de probabilidad de observación en cada

estado j

� 5. La probabilidad inicial de ocupación de cada estado

� Por conveniencia denotamos todos los parámetros del HMM (incluyendo N y M) como:

Page 14: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

14

HMMs como modelos generativos

� Muchas veces se dice que los HMMs son modelos generativos

� Esto es porque un HMM nos define un procedimiento muy sencillo de generar observaciones compatibles con el modelo

� Para generar una secuencia de T observaciones compatibles con un HMM se puede emplear el siguiente procedimiento:� 1. Elegir un estado inicial q1=Si de acuerdo con la distribución de

probabilidad inicial de estados, π.� 2. Hacer t=1.� 3. Elegir Ot=vk de acuerdo con la distribución de probabilidad de

observación en el estado Si, bi(k).

� 4. Pasar a un nuevo estado qt+1=Sj de acuerdo con las probabilidades de transición desde el estado Si, aij.

� 5. Hacer t = t+1 y volver al punto 3 si t<T, en caso contrario terminar.

Page 15: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

15

Page 16: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

16

Los tres problemas básicos de los HMMs

� Hay tres problemas básicos que se deben resolver (y que afortunadamente están resueltos) para que los HMMs sean útiles en aplicaciones prácticas

� Problema 1: Problema de puntuación: Dada una secuencia de observaciones y un modelo, ¿cómo calcular la probabilidad de observar la secuencia vista dado el modelo?

� Problema 2: Problema de reconocimiento de estados: Dada una secuencia de observaciones y un modelo, ¿cuál es la secuencia de estados que mejor “explica” las observaciones?

� Problema 3: Problema de entrenamiento: Dado un conjunto de observaciones de entrenamiento ¿Cómo ajustamos los parámetros del modelo para maximizar la probabilidad de observar el conjunto de entrenamiento dado el modelo?

Los tres problemas básicos de los HMMs

� Hay tres problemas básicos que se deben resolver (y que afortunadamente están resueltos) para que los HMMs sean útiles en aplicaciones prácticas

� Problema 1: Problema de puntuación: Dada una secuencia de observaciones y un modelo, ¿cómo calcular la probab ilidad de observar la secuencia vista dado el modelo?

� Problema 2: Problema de reconocimiento de estados: Dada una secuencia de observaciones y un modelo, ¿cuál es la secuencia de estados que mejor “explica” las observaciones?

� Problema 3: Problema de entrenamiento: Dado un conjunto de observaciones de entrenamiento ¿Cómo ajustamos los parámetros del modelo para maximizar la probabilidad de observar el conjunto de entrenamiento dado el modelo?

Page 17: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

17

Solución al Problema 1: Solución directa� Tenemos un HMM:

� Queremos calcular:

� Si suponemos que la secuencia de estados es:

� Entonces, asumiendo que las observaciones son independientes estadísticamente tenemos:

� Por otro lado, la probabilidad conjunta de O y Q es:

� Donde

Solución al Problema 1: Solución directa

(ii)� La probabilidad de O dado el modelo se obtiene sumando las

anteriores probabilidades para todos los posibles caminos (secuencias de estados ocultos):

� Problema del cálculo directo: Requiere O(2TNT) operaciones

� Para N=5 estados, T=100 observaciones � 1072 operaciones

Page 18: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

18

Solución al Problema 1: Algoritmo

Forward / Backward (i)� Consiste en definir la variable forward:

� Representa la probabilidad de observar la secuencia parcial O1, …, Othasta el instante t y estar en el estado Si en dicho instante t.

� La variable forward se puede calcular con el siguiente algoritmo:

Solución al Problema 1: Algoritmo

Forward / Backward (ii)� El punto clave es el paso de inducción, que permite calcular las

variables forward en el instante t+1 a partir de las variables forwarden el t, de las probabilidades de transición y las de observación:

� Para cada estado en el instante t+1 tenemos que hacer las siguientes operaciones:

� En total N+1 multiplicaciones y N-1 sumas

Page 19: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

19

Solución al Problema 1: Algoritmo

Forward / Backward (iii)� Para T instantes de tiempo y N estados debemos repetir esa

operación básica NxT veces

� El coste computacional total es del orden de TN2 en lugar de 2TNT

� Para N=5, T=100 � 3000 operaciones en lugar de 1072

Solución al Problema 1: Algoritmo

Forward / Backward (iv)� Lo visto hasta ahora es el algoritmo forward, que permite por sí

solo calcular la probabilidad de la observación dado el modelo

� Alternativamente, se puede usar la variable backward:

� Representa la probabilidad de observar la secuencia parcial Ot+1, …, OTdesde el instante t+1 y estar en el estado Si en el instante t.

� En realidad para calcular la probabilidad de la observación dado el modelo se puede emplear o el algoritmo forward o el algoritmo backward� Sólo es necesario uno para resolver este problema� Pero utilizando los dos podremos resolver más fácilmente otros

problemas

Page 20: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

20

Solución al Problema 1: Algoritmo

Forward / Backward (v)� El algoritmo backward

� El coste computacional es idéntico al forward

Los tres problemas básicos de los HMMs

� Hay tres problemas básicos que se deben resolver (y que afortunadamente están resueltos) para que los HMMs sean útiles en aplicaciones prácticas

� Problema 1: Problema de puntuación: Dada una secuencia de observaciones y un modelo, ¿cómo calcular la probabilidad de observar la secuencia vista dado el modelo?

� Problema 2: Problema de reconocimiento de estados: Dada una secuencia de observaciones y un modelo, ¿cuál e s la secuencia de estados que mejor “explica” las observa ciones?

� Problema 3: Problema de entrenamiento: Dado un conjunto de observaciones de entrenamiento ¿Cómo ajustamos los parámetros del modelo para maximizar la probabilidad de observar el conjunto de entrenamiento dado el modelo?

Page 21: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

21

Solución al Problema 2: Criterios para

elegir la secuencia de modelos “optima”� Posibles criterios:

� Elegir en cada instante de tiempo el estado más probable� Consiste en maximizar en cada instante de tiempo la variable:

� Problema: Puede ocurrir que la secuencia de estados (por ejemplo una secuencia de fonemas) no tenga sentido

� Elegir el camino completo de estados con mayor probabilidad total� Consiste en encontrar la secuencia de estados que maximiza globalmente

� Este es un problema que tiene más sentido que el anterior� En la analogía con los fonemas reconocidos consistiría en encontrar la

secuencia de estados (fonemas) válida más probable� Es el problema a resolver en reconocimiento de voz� Se resuelve con el algoritmo de Viterbi

Solución al Problema 2: Estado más

probable en cada instante de tiempo� Para calcular el estado más probable en cada instante de tiempo

debemos encontrar una forma eficiente de calcular la probabilidad de ocupación de cada estado en el instante t

� Una forma posible es calculando las variables forward y backward y combinarlas para calcular la variable anterior

� Ahora ya sólo queda tomar el estado más probable:

Page 22: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

22

Solución al Problema 2: Viterbi (i)

� Para encontrar la secuencia de estados (Q) más probable para una secuencia de observaciones (O) dada definimos la siguiente variable auxiliar:

� Esta variable representa la mejor puntuación obtenida a través de una única secuencia de estados (q1,q2, …qt-1)hasta llegar, en el instante t, al estado i

� La clave del algoritmo Viterbi es que si conocemos estas variables auxiliares en el instante t para todos los estados, podemos calcularlas para el siguiente instante (t+1) y para todos los estados con:

� Si queremos obtener la secuencia de estados no nos basta con estas variables, tenemos que saber también el estado i que maximiza

Solución al Problema 2: Viterbi (ii)

� El algoritmo completo de Viterbi queda de la siguiente forma

� El backtracking consiste en volver desde el instante final al inicial viendo quéestados maximizaban cada paso de la recursión

� El algoritmo es casi idéntico al forwardsustituyendo la suma de la recursión por una maximización

Page 23: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

23

Solución al Problema 2: Viterbi (iii)

� La forma de operar con el algoritmo es también similar:

� Y el número de operaciones es también O(TN2)

Ejemplo Viterbi

Page 24: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

24

Los tres problemas básicos de los HMMs

� Hay tres problemas básicos que se deben resolver (y que afortunadamente están resueltos) para que los HMMs sean útiles en aplicaciones prácticas

� Problema 1: Problema de puntuación: Dada una secuencia de observaciones y un modelo, ¿cómo calcular la probabilidad de observar la secuencia vista dado el modelo?

� Problema 2: Problema de reconocimiento de estados: Dada una secuencia de observaciones y un modelo, ¿cuál es la secuencia de estados que mejor “explica” las observaciones?

� Problema 3: Problema de entrenamiento: Dado un conjunto de observaciones de entrenamiento ¿Cómo ajustamos los parámetros del modelo para maximizar la probabilida d de observar el conjunto de entrenamiento dado el model o?

Page 25: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

25

Solución al Problema 3: Algoritmo de

Baum-Welch (i)� El algoritmo más utilizado para estimar los parámetros del modelo

que maximizan la probabilidad de la observación dado el modelo es el conocido como algoritmo Baum-Welch por sus inventores

� En realidad no es más que un caso particular del algoritmo Expectation-Maximization (EM) aplicado a los HMMs

� Esta NO es la única forma de estimar los modelos:� Se pueden utilizar simplificaciones como el entrenamiento con Viterbi� Se pueden utilizar otros criterios de optimización

� El criterio de optimización que utiliza Baum-Welch es el de máxima verosimilitud (Maximum Likelihood) porque maximiza la probabilidad de la observación dado el modelo

� Pero se pueden emplear otros criterios, como criterios discriminativos(Maximum Mutual Information, MMI, Maximum Discriminant Information)

Solución al Problema 3: Algoritmo de

Baum-Welch (ii)� Formalmente el algoritmo Baum-Welch (y el EM) comienza con la

definición de una función auxiliar:

� Esta función dependen de los parámetros anteriores del modelo (λ) y de la nueva estimación de los parámetros:

� La teoría del algoritmo E-M nos dice que maximizar esta función auxiliar respecto a los nuevos parámetros nos lleva a una verosimilitud mayor:

� Si utilizamos los nuevos parámetros en la función auxiliar como parámetros anteriores del modelo y repetimos el proceso varias veces seguiremos aumentando la verosimilitud hasta que el algoritmo converja o la variación de verosimilitud sea muy pequeña

Page 26: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

26

Solución al Problema 3: Algoritmo de

Baum-Welch: Expectation (iv)� El primer paso (Expectation step) del algoritmo consiste en calcular

las partes de la siguiente ecuación que dependen del modelo anterior

� En particular hay que calcular

� Es decir, las probabilidades de todas las secuencias de estados dados el modelo anterior y las observaciones

� En realidad basta con estimar (dados el modelo anterior y las observaciones):� La probabilidad de estar en el estado Si en el instante t� El número esperado de transiciones desde el estado Si

� El número esperado de transiciones desde el estado Si al estado Sj

Solución al Problema 3: Algoritmo de

Baum-Welch: Expectation (v)� Dados el modelo anterior y las observaciones:

� La probabilidad de estar en el estado Si en el instante t viene dada por la probabilidad de ocupación del estado que definíamos anteriormente y se podía calcular en función de las variables forward y backward

� El número esperado de transiciones desde el estado Si se puede calcular en función de éstas como

Page 27: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

27

Solución al Problema 3: Algoritmo de

Baum-Welch: Expectation (vi)� Dados el modelo anterior y las observaciones:

� Para calcular el número esperado de transiciones desde el estado Si al estado Sj definimos primero la probabilidad de la transición desde el estado Si al estado Sj

� Con esto el número esperado de transiciones desde el estado Si al estado Sj es:

Solución al Problema 3: Algoritmo de

Baum-Welch: Maximization (vii)� Una vez tenemos estimados el número medio de todas las

transiciones y el número medio de veces en cada estado maximizamos la función

� Respecto a los datos del nuevo modelo, obteniendo nuevas estimaciones del modelo dadas por las fórmulas

Page 28: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

28

Solución al Problema 3: Algoritmo de

Baum-Welch: Consideraciones Finales� El algoritmo Baum-Welch como caso particular del EM garantiza

que la siguiente estimación del modelo tiene mayor o igual verosimilitud

� Eso únicamente garantiza alcanzar un máximo local en una superficie de optimización extraordinariamente compleja

� En lugar del Baum-Welch se pueden emplear optimizaciones basadas en el gradiente con resultados similares

� También se puede tratar de optimizar los parámetros para aumentar el poder dicriminativo del modelo en lugar de su versomilitud

� Finalmente, la etapa de estimación se puede simplificar empleando el algoritmo Viterbi (aunque ofrece peores resultados)

Topología de los HMMs

� Viene determinada por el número de estados y la interconexión entre ellos mediante probabilidades de transición no nulas� En definitiva, por el número de estados y la matriz de transición� Nota: Una probabilidad de transición nula inicialmente se mantiene

siempre nula en el proceso de reestimación Baum-Welch

� HMMs ergódicos� Son modelos en los que la probabilidad de transición de un estado a

cualquier otro es no nula

Page 29: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

29

Topología de los HMMs (ii)

� Modelos de Bakis o de izquierda a derecha� Son tales que aseguran que una vez hemos salido de un estado nunca

podemos volver a él� Son apropiados para modelar señales que varían en el tiempo como la

voz (una vez hemos terminado de pronunciar un fonema pasamos a otro pero no volvemos al mismo, en todo caso podemos pasar a otra realización del mismo fonema)

HMMs con funciones densidad de

probabilidad de observación continuas� Hasta ahora hemos asumido que las observaciones eran discretas

� En la práctica en reconocimiento de voz las observaciones son vectores de parámetros (MFCCs) que se consideran continuos

� Inicialmente estos vectores de parámetros se discretizabanmediante el proceso de cuantificación vectorial (VQ)

� Pero el la actualidad suelen funcionar modelando la probabilidadde las observaciones con una función densidad de probabilidad continua

� Habitualmente esta función densidad de probabilidad de la observación para cada estado se define como una mezcla de M Gaussianas multidimensionales:

Page 30: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

30

HMMs con funciones densidad de

probabilidad de observación continuas (ii)� La utilización de fdps continuas complica especialmente el proceso

de estimación del modelo (Baum-Welch), pues ahora hay que estimar los vectores de medias y las matrices de covarianzas para cada estado, así como el peso de cada Gaussiana.

� Para el paso de Estimación conviene definir la función auxiliar

� Esta variable representa la probabilidad de estar en el estado j en el instante de tiempo t, con la Gaussiana k explicando la observación Ot.

HMMs con funciones densidad de

probabilidad de observación continuas (iii)� En función de esta variable auxiliar, en el paso de Maximización

debemos reestimar los siguientes parámetros adicionales:

Page 31: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

31

HMMs con funciones densidad de

probabilidad de observación continuas (iv)� En reconocimiento de voz se emplean principalmente HMMs:

� Con topología Bakis� Con probabilidades de observación por estados definidas con fdps

continuas� Con fdps continuas modeladas con mezclas de Gaussianas

multidimensionales

� Habitualmente se emplean como parámetros para el reconocimiento de voz MFCCs� Se ha demostrado que las componentes de los MFCC obtenidos a

partir de la voz están aproximadamente incorreladas entre ellas� Esto justifica la utilización de matrices de covarianza diagonales en las

fdps.

� Esto nos reduce mucho el número de parámetros a estimar y facilita el entrenamiento con un número de datos reducido.

4. Adaptación al Locutor

(MLLR, MAP)

Page 32: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

32

Necesidad de adaptación al locutor

� Cada locutor tiene una voz característica

� A veces nos interesa esa información discriminante del locutor� En biometría vocal tratamos de reconocer la identidad de la persona

por su voz

� Otras veces nos resulta extremadamente incómoda� En reconocimiento de voz tratamos de reconocer lo que ha dicho la

persona, independientemente de las características particulares de su voz

� Las características de la voz del locutor es uno mas de los factores que introducen variabilidad en el habla. � Otros son: entorno acústico, canal de transmisión, ruido, estado

emocional, etc.

Variabilidad del locutor

� Cada locutor es distinto en:� Factores físicos:

� Longitud y forma del tracto vocal, configuración de la boca y órganos articuladores, edad, sexo, etc.

� Factores conductuales:� Nivel de educación, idioma, dialecto, estilo personal, etc.

� Para solucionar este problema existen reconocedores de voz:� Dependientes del locutor� Independientes del locutor� Adaptables a un locutor

Page 33: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

33

Formas de afrontar la dependencia del

locutor en reconocimiento de voz

� Reconocedores dependientes del locutor:� Se entrenan con voz de un único locutor� V: ↓ Error� I: Requiere un entrenamiento largo (30’ de voz)

� Reconocedores independientes del locutor:� Se entrenan con voz de al menos 500 locutores distintos� V: No requiere entrenamiento del locutor� I: ↑ Error, muy dependiente del locutor

� Reconocedores adaptables al locutor:� Parten de uno independiente de locutor y se adaptan a la voz de

un locutor con una cantidad de habla reducida� V: No requiere entrenamiento explícito del locutor� I: Error más reducido que independiente (mejora con uso)

Técnicas clásicas de adaptación al

locutor

� Existen dos técnicas clásicas de adaptación al locutor:� MAP = Maximum A Posteriori

� MLLR = Maximum Likelihood Linear Regression

� Ambas parten de HMMs independientes del locutor y generan HMMs dependientes del locutor a partir de una cierta cantidad de voz de un único locutor.

� Cada una tiene sus ventajas y sus inconvenientes

� Además, ambas se pueden combinar

Page 34: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

34

Adaptación MAP

� A veces denominada también Adaptación Bayesiana

� Opera parámetro a parámetro de los HMMs

� Considera que el parámetro del modelo independiente del locutor es la información a priori sobre dicho parámetro

� Con la voz de adaptación (con la información nueva observada) del locutor estima dicho parámetro

� Y finalmente combina ambos de acuerdo con � Un factor de adaptación que es necesario fijar para ponderar más o

menos la información nueva� La cantidad total de información nueva empleada para estimar el

parámetro

Adaptación MAP (ii)

� Si en el modelo independiente de locutor la media de la Gaussianam en el estado j es

� Y con los datos de adaptación hemos calculado (en el paso de Estimación) que la probabilidad de ocupación del estado j y la Gaussiana m en la grabación de adaptación r para el instante de tiempo t es

� Podemos calcular el número esperado de veces que nos encontramos en el estado j y la Gaussiana m en todos los datos de adaptación

Page 35: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

35

Adaptación MAP (iii)

� Con todo ello (en el paso de Maximización) podemos estimar el valor de la media de la Gaussiana m en el estado j según los nuevos datos de adaptación:

� Y finalmente combinar ambas estimaciones de la media para llegara la estimación MAP

� τ es un factor que pondera los nuevos datos de adaptación

Adaptación MAP (iv)

� La adaptación MAP opera parámetro a parámetro

� Esto hace que requiera muchos datos de adaptación� Es apropiada cuando hay muchos datos de adaptación� Pero falla cuando hay pocos datos

� Del mismo modo que se adaptan las medias se adaptan el resto de parámetros de los HMMs

Page 36: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

36

Adaptación MLLR

� Maximum Likelihood Linear Regression

� Es una técnica que consigue reducir la cantidad de datos de adaptación necesarios para adaptar los modelos

� El “truco” consiste en entrenar una transformación lineal para transformar un conjunto muy grande de parámetros (de distintos estados y modelos) con una única transformación, consiguiendo que en la transformación se reduzcan la diferencias entre los modelos y los datos de adaptación

� Los parámetros que se adaptan de este modo son:� Las medias de las Gaussianas (casi siempre)� Las varianzas de las Gauassianas (a veces)

Adaptación MLLR Global (i)

� Comenzamos con el caso más sencillo: MLLR Global

� En este caso se van a transformar todas las medias de todas las Gaussianas de todos los estados de todos los mod elos mediante una única transformación lineal de la forma:

� Donde ξ es un vector de medias expandido de esta forma:

� Donde w representa un offset habitualmente fijado a 1

� De esta forma la matriz W se puede expresar como

� Donde b es un vector que representa el offset y A es una matriz cuadrada n x n que representa la transformación

Page 37: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

37

Adaptación MLLR Global (ii)

� La adaptación MLLR Global se puede emplear cuando tenemos muy pocos datos de adaptación (<5 frases cortas)

� Pero normalmente conviene utilizar MLLR con un mayor número de transformaciones, cada una de las cuales se aplica a un conjuntodeterminado de vectores de medias o varianzas� Problema: ¿cómo definir el número de clases y las clases mismas?

� También se suele aplicar un primer paso de MLLR Global antes de realizar un MLLR con un mayor número de clases

� Queda por resolver el tema de cómo se estima la matriz W� Se estima (¿cómo no?) con el algoritmo E-M

� Pero no lo veremos por el momento.

Adaptación MLLR con Clases de

Regresión � MLLR se aplica habitualmente con más de una clase

� Para adaptar él número de clases a la cantidad de datos disponibles y agrupar las Gaussians de un modo consistente se emplea un árbol de regresión binario que agrupa las Gaussianas de todos los modelos en clases

� El árbol de regresión se construye con los modelos independientes del locutor (de modo que se usa el mismo árbol para adaptación a cualquier locutor) del siguiente modo: � 1. Se agrupan todas las Gaussianas en una única clase

� 2. Se divide esa clase en dos perturbando la media en la dirección de la máxima varianza

� 3. Se reclasifican las Gaussianas de la clase dividida en las nuevas clases y se reestiman medias y varianzas de las nuevas clases (repitiendo el proceso hasta el máximo número de iteraciones o hasta que no hay cambios)

� 4. Se elige la nueva clase a dividir y se vuelve al punto 2.

Page 38: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

38

Adaptación MLLR con Clases de

Regresión (ii)� De este modo, a partir de los modelos independientes de locutor se

construye un árbol binario que incluye a todas las Gaussianas del HMM

� A la hora de aplicar MLLR se determina el número de datos de adaptación para cada clase del árbol de regresión, determinando para cada nodo si hay o no hay suficientes datos

� Sólo se entrenan transformaciones para clases con suficientes datos y que tienen hijos sin suficientes datos

Adaptación MLLR con Clases de

Regresión (iii)� La adaptación MLLR con clases de regresión es muy flexible

porque permite adaptarse a la cantidad de datos de adaptación y consigue siempre buenos resultados, incluso con pocos datos de adaptación

� Tiene una ventaja importante: sólo se necesario almacenar las matrices de transformación en lugar de almacenar todo un nuevo conjunto de parámetros� Ahorra espacio para adaptar a varios locutores

� Estas matrices de adaptación se emplean también en reconocimiento de locutor, ya que resumen la información característica del locutor

� Muchas veces se aplica MLLR Global seguido de MLLR con clases de regresión (y a veces seguido también de MAP)

Page 39: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

39

Adaptación con MLLR y MAP:

Consideraciones finales� MLLR

� V: permite adaptar con menos datos� V: robusto frente a escasez de datos� I: pobre adaptación con muchos datos

� V: permite almacenar sólo la matriz de transformación

� MAP� I: requiere muchos datos de adaptación� I: si tiene pocos datos de adaptación los modelos se degradan mucho

� V: si dispone de muchos datos de adaptación es la mejor opción� I: requiere almacenar un nuevo conjunto de modelos completo (más

costoso).

Adaptación con MLLR y MAP: Ejemplo

� Table 8.18 Comparison of ASR accuracy for feature compensation and model adaptation methods for robustness with scarce adaptation data for TIMIT LP4kHz and different number of classes and available training files.

68.6168.3867.5866.6666.4566.5066.7766.02glob + MLLR + MAP

62.1661.8159.9357.8454.7352.3050.3446.67MAP

68.3068.2767.9167.3167.1466.9666.9066.08glob + MLLR

17188002001005020105Number of adapt. files →

Mode ↓

Page 40: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

40

5. Entrenamiento y

Evaluación de HMMs (HTK)

La teoría de HMMs es complicada…

� Por eso existen paquetes de software que nos facilitan la vida

� Uno de los más empleados en reconocimiento de voz es HTK (Hidden markov model ToolKit)

� Lo que veremos en este apartado es cómo construir de forma práctica un reconocedor de voz con HTK

Page 41: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

41

El ejemplo

� El reconocedor que vamos a construir es:� Un reconocedor para aplicaciones de marcación vocal sencillas� Reconocerá dígitos conectados y un conjunto limitado de nombres� Será de unidades acústicas fonéticas

� Añadir un nuevo nombre sólo implicará cambiar vocabulario y gramática

� Los modelos acústicos serán modelos bastante avanzados:� HMMs con fdps continuas (mezcla de Gaussianas)

� Modelos dependientes del contexto (trifonemas) � Estados atados mediante clustering con un árbol de decisión binario

� Se incluye también la forma de realizar la adaptación de modelos

� El ejemplo incluye todo desde el entrenamiento con los audioshasta la evaluación final y la adaptación.

Paso 1: Gramática a procesar

� El primer paso incluye determinar el tipo de frases que queremosreconocer� Ejemplo:

� A partir de las frases a manejar definimos la gramática

Page 42: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

42

Paso 1: Gramática a procesar (ii)

� Internamente la gramática anterior se representa como un grafo dirigido que se obtiene a partir de la definición anterior mediante el programa HParse

Paso 2: Creación del diccionario

� El diccionario define la representación fonética de cada palabra a reconocer

� En primer lugar es necesario definir el conjunto de fonemas que va a emplear nuestro reconocedor

� Una vez definido es necesario obtener un diccionario con el siguiente formato (se puede utilizar un transcriptor fonético automático para este propósito)

Page 43: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

43

Paso 3: Adquirir el audio

� Aquí existen dos opciones� Emplear una base de datos comercial (ej. TIMIT)� Grabar una base de datos ad-hoc (opción no

deseable)

� En caso de emplear una base de datos comercial no hay nada más que hacer y se puede pasar al punto 4.

� En caso de grabar una base de datos se pueden emplear herramientas de HTK que ayudan en el proceso� HSGen para generar prompts de acuerdo a la

gramática� HSLab para grabar y etiquetar los datos

Paso 4: Generar transcripciones fonéticas

� A veces tenemos las transcripciones fonéticas en la base de datos (ej. TIMIT) pero más normalmente tenemos sólo la transcripciónortográfica, como la siguiente

� Podemos emplear la herramienta HLEd (LabelEditor) para expandir la transcripciónortográfica en fonética (comando EX)

Page 44: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

44

Paso 5: Parametrización de la voz

� HTK dispone de un módulo configurable para generar los parámetros de voz más habituales así como para transformar fichero de audio (HCopy)� Por supuesto puede calcular MFCCs

Paso 6: Creación de modelos fonéticos (i)

� 6.1 Creación de un prototipo de modelo (establece topología y tipo de parámetros acústicos a emplear por todos los modelos)

Page 45: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

45

Paso 6: Creación de modelos fonéticos (ii)

� 6.2 Entrenamiento global de media y varianza del modelo (y establecimiento de un suelo de varianza)

� 6.3 Copiar el prototipo a cada uno de los modelos a entrenar para crear un fichero con las macros (suelo de varianza y tipo de parámetros) y otro con las definiciones de los modelos

Paso 6: Creación de modelos fonéticos (iii)

� 6.4 Reestimar los modelos de cada fonema varias veces empleando Baum-Welch� Todas la complejidad matemática del Baum-Welch se esconde detrás de

una línea de comandos:

� El proceso global es entonces:

Page 46: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

46

Paso 7: Mejora de los modelos de silencio

� Se añade a los modelos de silencio (sil) transiciones desde los estados 2 al 4

� Y se crea un nuevo modelo de silencio para pausas cortas que incluye una transición desde el estado inicial al final� Se puede pasar por el modelo

sin asignarle ninguna observación

� Esto es lo que se denomina un “tee model”

� Ambos modelos comparten el estado central

Paso 7: Mejora de los modelos de silencio

� Todo esto se puede hacer con el HMM Editor (HHEd)

� Después se hacen otras dos pasadas de reestimación (Baum-Welch)

Page 47: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

47

Paso 8: Mejora del etiquetado fonético

� Se hace un primer reconocimiento con los modelos fonéticos ya entrenados para que el reconocedor decida la transcripción más probable en aquellas palabras que tenían más de una posible pronunciación

� Para ello se usa el módulo que hace el reconocimiento (Viterbi)

Paso 9: Creación de modelos trifonéticos

� 9.1 Se crean etiquetas trifonéticas con el editor de etiquetas (HLEd)

� 9.2 Se transforman los HMMs en HMMs trifonéticos con el editor de HMMs (HHEd)� Y se “atan” entre sí las matrices de transición de modelos con el mismo

modelo central

� 9.3 Se reestiman los modelos

Page 48: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

48

Paso 9: Creación de modelos trifonéticos

� Resumen:

Paso 10: Atado de estados en modelos

trifonéticos� Es necesario hacer un atado de estados en los modelos trifonéticos

pues de otro modo el número de estados (y Gaussianas) siempre suele ser demasiado grande.

� El atado de estados se hace con una llamada al editor de modelos(HHEd), pero es necesario definir una serie de preguntas para el algoritmo de clustering de estados (clustering basado en árbol de decisión)

� El comando es tan sencillo como éste:

� Pero el fichero de configuración es complicado, requiere conocimientos fonéticos y fácilmente da lugar a modelos mal entrenados (es el punto más delicado del entrenamiento)

Page 49: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

49

Paso 10: Atado de estados en modelos

trifonéticos (ii)

� Ejemplo de fichero de configuración para atado de estados

� Después de atarlos, se reestiman

Paso 11: Evaluación del reconocedor

� Consiste en dos pasos� Reconocer los datos de evaluación con el modelo (HVite)� Evaluar el reconocimiento obtenido comparando con la transcripción de

referencia (HResults)

� También existe la opción de ejecutar el reconocedor (HVite) en tiempo real sobre frases dichas en el micrófono del PC

Page 50: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

50

Paso 12: Adaptación al locutor

� 12.1 En primer lugar es necesario generar los datos de adaptación

� 12.1.1 Se pueden generar los prompts de adaptación y de test con los comandos

� 12.1.2 Se graban los ficheros de adaptación y se parametrizancomo antes

� 12.2.3 Se generan las transcripciones forzadas con el comando HVite (opción -a)

Paso 12: Adaptación al locutor (ii)� 12.2 Para hacer adaptación MLLR es necesario antes crear el árbol

de regresión para clasificar Gaussianas. Se hace con el editor de HMMs (HHEd)

� 12.3 Por último se hace la adaptación (MLLR o MAP) con HEAdapt� En el ejemplo se hace una MLLR global seguida de una MLLR con 32

clases

� Ahora podríamos volver a evaluar y debería haber mejorado

Page 51: HMMs ASAL JGR - arantxa.ii.uam.esarantxa.ii.uam.es/~jortega/HMMs_ASAL.pdf · Markov Ejemplos de modelos ocultos de Markov Un modelo oculto de Markov es un modelo de Markov (de primer

51

Conclusiones sobre HTK

� Facilita mucho el manejo de HMMs

� Garantiza una implementación fiable de la compleja teoría de los HMMs, modelos gramaticales, parametrización, etc.

� Da mucha flexibilidad como herramienta de prototipado, evaluación e investigación