Upload
joseangl
View
401
Download
4
Embed Size (px)
DESCRIPTION
La presentación se centra en el uso de modelos estadísticos generativos en el reconocimiento automático del habla. En particular, se describen los modelos de mezcla de distribuciones normales multivariadas (GMM; del inglés Gaussian Mixture Model) y los modelos ocultos de Markov (HMM, del inglés Hidden Markov Model).
Citation preview
Modelos Probabilísticos: Aplicación al Reconocimiento
Automático del Habla José Andrés González
CITIC-UGR
Universidad de Granada
Reconocimiento de Patrones
E.P.S. Linares, 8 abril 2013 1
Reconocimiento de Patrones
• En todos los casos nos encontramos ante un
problema de clasificación o Binarios
• Caras: Sí/No.
• Fresas: Madura/Verde.
o N-arios
• OCR: identificar las letras del alfabeto.
• Pasos comunes para abordar el problema 1. Extracción de características: formas, píxeles, color, espectro, etc.
2. Diseño de un clasificador.
3. Ajuste del clasificador (opcional).
E.P.S. Linares, 8 abril 2013 2
Ejemplo
E.P.S. Linares, 8 abril 2013 3
Extracción
características Clasificación ¿Madura?
Forma, color,
tamaño…
• Reconocimiento automático del habla (RAH): tarea
de reconocimiento de patrones. o Entrada: señal de voz.
o Salida: texto.
• Aplicaciones: Voice Search (Android), Siri (iPhone),
Dragon Naturally Speaking, etc.
Reconocimiento Automático del Habla
E.P.S. Linares, 8 abril 2013 4
RAH TEXTO
Particularidades del RAH • Dependiente del tiempo: una misma palabra
puede tener distinta duración.
• Variabilidad: debida a varios factores o Locutor: genero, edad, acento, estado de ánimo, etc.
o Ambiente acústico: ruido, acústica de la dala y canal.
o Aspectos relacionados con el lenguaje: complejidad, tipo de tarea,
pausas, dudas, etc.
• Los factores anteriores afectan al rendimiento del
RAH: menor número de palabras reconocidas.
E.P.S. Linares, 8 abril 2013 5
Estructura
• Estructura de un sistema de RAH
E.P.S. Linares, 8 abril 2013 6
Front-end Back-end TEXTO
Características
Front-end • Objetivo: extraer una serie de parámetros
(características) útiles para reconocer la voz.
• Realiza un análisis espectral de la señal de voz
(transformada de Fourier).
E.P.S. Linares, 8 abril 2013 7
three three four
Back-end
• Léxico: lista de palabras con sus pronunciaciones
fonéticas.
• Modelo lenguaje: ¿qué palabras son más frecuentes en
una lengua dada?
• Modelo acústico: modela cada fonema acústicamente.
E.P.S. Linares, 8 abril 2013 8
Reconocedor VOZ TEXTO
Modelo lenguaje
Léxico Modelo acústico
Back-end
E.P.S. Linares, 8 abril 2013 9
Modelo acústico
Señal de voz
Lista de fonemas
Lista de palabras
Frase reconocida
Léxico
Modelo de lenguaje
Palabras Aisladas • Simplificamos el problema: suponemos únicamente
un reconocedor de palabras aisladas.
E.P.S. Linares, 8 abril 2013 10
Reconocedor
Modelo
acústico
two
Reconocedor de Palabras Aisladas
• Múltiples enfoques para diseñar el clasificador: o K-vecinos más cercanos.
o Árboles de clasificación.
o Basados en reglas.
o …
• Métodos probabilísticos: basados en la teoría de
decisión bayesiana.
• Aquí estudiaremos la clasificación utilizando
modelos de mezcla de Gaussianas (GMM).
E.P.S. Linares, 8 abril 2013 11
Notación
• Espectro de voz: 𝑿
• Índice en frecuencia:
𝑖 ∈ 1, 𝑛
• Índice temporal: 𝑡 ∈ [1, 𝑇]
• 𝒙𝑡: vector columna 𝑡.
• 𝑥𝑡(𝑖): elemento 𝑖 de 𝒙𝑡.
E.P.S. Linares, 8 abril 2013 12
𝑿
𝑇
𝑛 ⋱
Clasificación • La palabra reconocida es aquella cuya
pronunciación “se parece más” a 𝑿.
• Matemáticamente:
𝑑𝑖𝑔𝑖𝑡𝑜 = argmax
𝑤𝑝 𝑤 𝑿 ,𝑤 ∈ {𝑜𝑛𝑒, 𝑡𝑤𝑜,… , 𝑧𝑒𝑟𝑜}
• Aplicando la regla de Bayes:
𝑑𝑖𝑔𝑖𝑡𝑜 = argmax𝑤
𝑝 𝑿 𝑤 𝑝(𝑤)
𝑝(𝑿)= argmax
𝑤𝑝 𝑿 𝑤 𝑝(𝑤)
E.P.S. Linares, 8 abril 2013 13
Clasificación • 𝑝 𝑿 𝑤 nos da el parecido de 𝑿 con el modelo de
la palabra 𝑤.
• 𝑝(𝑤) es la probabilidad a priori de cada palabra.
P.ej. “de” vs. “té”.
• Suponiendo 𝑝(𝑤) equiprobable
E.P.S. Linares, 8 abril 2013 14
⋮
𝑝(𝑿|𝑜𝑛𝑒)
𝑝(𝑿|𝑡𝑤𝑜)
𝑝(𝑿|𝑧𝑒𝑟𝑜)
max two
Cómputo de 𝑝(𝑿|𝑤) • La duración temporal de 𝑿 puede ser arbitraria:
esto dificulta el cómputo de 𝑝(𝑿|𝑤).
• Solución 1: fijar una duración 𝜏 fija y redimensionar
𝑿 en consecuencia. o Funciona para palabras aisladas pero difícil de aplicar en habla
continua.
• Solución 2: asumimos independencia estadística
entre los vectores de características. Luego
𝑝 𝑿 𝑤 = 𝑝(𝒙𝑡|𝑤)
𝑇
𝑡=1
E.P.S. Linares, 8 abril 2013 15
Modelado Acústico
• Nuestro problema ahora es el de modelar
matemáticamente 𝑝(𝒙𝑡|𝑤).
• Primera aproximación: cada palabra 𝑤 se modela
como una distribución normal multivariante.
• Luego, 𝑝 𝒙𝑡 𝑤 = N 𝒙𝑡; 𝝁𝑤,𝚺𝑤 donde
N 𝒙; 𝝁,𝚺 =1
2𝜋 𝑛 𝚺exp −
1
2𝒙 − 𝝁 ⊺𝚺−1 𝒙 − 𝝁
E.P.S. Linares, 8 abril 2013 16
Distribución Normal
𝝁 = 𝜇𝑥1 , 𝜇𝑥2 = 5,2 𝚺 =𝜎𝑥12 𝜎𝑥1,𝑥2𝜎𝑥2,𝑥1 𝜎𝑥2
2 =1 0.50.5 3
E.P.S. Linares, 8 abril 2013 17
Entrenamiento • Problema: estimar los parámetros 𝝁𝑤 , 𝚺𝑤 para
cada palabra 𝑤.
• Conjunto de entrenamiento
𝑿1, 𝑒1 , ⋯ , 𝑿𝑚, 𝑒𝑚 o 𝑿𝑖 espectrograma de la palabra 𝑖-ésima.
o 𝑒𝑖 etiqueta que identifica a la palabra 𝑿𝑖. P.ej. 𝑒𝑖=“five”.
• Sean 𝒙1, 𝒙2, … , 𝒙𝑇𝑤 los vectores de características
cuya etiqueta es 𝑤. Entonces
𝝁𝑤 = 1
𝑇𝑤 𝒙𝑡
𝑇𝑤
𝑡=1
𝚺𝑤 =1
𝑇𝑤 − 1 𝒙𝑡 − 𝝁𝑤 𝒙𝑡 − 𝝁𝑤
⊺
𝑇𝑤
𝑡=1
E.P.S. Linares, 8 abril 2013 18
Limitaciones
• Raramente los datos se
distribuyen según una
normal.
• Esto limita la precisión
del reconocedor.
• Solución: usar un GMM
para modelar 𝑝(𝒙|𝑤).
E.P.S. Linares, 8 abril 2013 19
𝑝(𝒙|𝑠𝑖𝑥)
GMM
• GMM: modelo de mezcla de Gaussianas (Gaussian
Mixture Model).
• La idea es utilizar 𝐾 ≫ 1 distribuciones normales
para modelar cada palabra 𝑤.
• Aproximador universal: un GMM puede aproximar
cualquier distribución de probabilidad.
• Amplio uso en tecnologías del habla:
reconocimiento y síntesis de voz,
identificación/verificación locutor, etc.
E.P.S. Linares, 8 abril 2013 20
GMM
𝑝 𝒙 𝑤 = 𝜋𝑤𝑘 N 𝒙; 𝝁𝑤
𝑘 , 𝚺𝑤𝑘
𝐾
𝑘=1
• 𝜋𝑤𝑘 : probabilidad a priori de cada componente.
E.P.S. Linares, 8 abril 2013 21
Ejemplo
E.P.S. Linares, 8 abril 2013 22
𝜋 = 0.57
𝜋 = 0.13
𝜋 = 0.30
Entrenamiento del GMM
• Problema: estimar los parámetros del GMM
𝜋𝑘 , 𝝁𝑘 , 𝚺𝑘 , 𝑘 = 1,… , 𝐾, que mejor se ajustan a los
datos.
• El número de componentes, 𝐾, se elige a priori.
• Optimización directa inviable ⇒ se recurre a un
algoritmo iterativo.
• Algoritmo empleado: algoritmo EM (esperanza-
maximización).
E.P.S. Linares, 8 abril 2013 23
k-medias
• Simplificación del algoritmo EM.
E.P.S. Linares, 8 abril 2013 24
k-medias
E.P.S. Linares, 8 abril 2013 25
𝑘 = 2 𝑘 = 3 𝑘 = 10 Original
Algoritmo EM • Entrada: datos de entrenamiento 𝒙1, … , 𝒙𝑇 y valor 𝐾.
• Salida: parámetros 𝜋𝑘 , 𝝁𝑘 , 𝚺𝑘 para 𝑘 = 1,… , 𝐾.
1. Inicializar los parámetros del GMM (p.ej. k-medias).
2. Repetir hasta que el algoritmo no converja a. Paso E.
𝛾 𝑧𝑡𝑘 =𝜋𝑘N 𝒙𝑡; 𝝁
𝑘 , 𝚺𝑘
𝜋𝑗N 𝒙𝑡; 𝝁𝑗 , 𝚺𝑗 𝐾
𝑗=1
b. Paso M.
𝝁new𝑘 =
1
𝑁𝑘 𝛾 𝑧𝑡𝑘 𝒙𝒕
𝑇
𝑡=1
, 𝚺new𝑘 =
1
𝑁𝑘 𝛾 𝑧𝑡𝑘 𝒙𝒕 − 𝝁new
𝑘
𝑇
𝑡=1
𝒙𝒕 − 𝝁new𝑘 ⊺, 𝜋new𝑘 =𝑁𝑘𝑇
donde
𝑁𝑘 = 𝛾 𝑧𝑡𝑘
𝑇
𝑡=1
E.P.S. Linares, 8 abril 2013 26
Demo Matlab
E.P.S. Linares, 8 abril 2013 27
Limitaciones
• En el cómputo 𝑝(𝑿|𝑤) hemos supuesto
independencia estadística entre los vectores 𝒙𝑡.
• Limitaciones de este enfoque: o Ejemplo 1: clasificación de “aro” vs. “hora”.
o Ejemplo 2: cualquier permutación de los vectores en 𝑿 produce la misma
probabilidad de observación.
• Parece necesario imponer restricciones temporales
durante el reconocimiento.
• Solución: modelo oculto de Markov (HMM).
E.P.S. Linares, 8 abril 2013 28
HMM
• 𝑠1, 𝑠2, 𝑠3 son los estados del HMM.
• Cada estado modela un segmento estacionario de
señal (p.ej. fonema o parte de un fonema).
E.P.S. Linares, 8 abril 2013 29
s1 s2 s3 𝑝(𝑠2|𝑠1) 𝑝(𝑠3|𝑠2)
𝑝(𝑠1|𝑠1) 𝑝(𝑠2|𝑠2) 𝑝(𝑠3|𝑠3)
𝑝(𝒙|𝑠1) 𝑝(𝒙|𝑠2) 𝑝(𝒙|𝑠3)
HMM • Aparecen dos probabilidades
o 𝑝 𝑠𝑖 𝑠𝑗 es la probabilidad de transición entre los estados 𝑠𝑖 y 𝑠𝑗. Modela
la evolución temporal de la voz.
o 𝑝 𝒙 𝑠𝑗 define la probabilidad de observación de los vectores de
características para cada estado. Se usan GMMs para calcularla.
• RAH basado en HMMs: o Tareas de pequeño vocabulario: cada HMM modela una única palabra.
Nº de estados ≈ nº de fonemas de la palabra.
o Tareas de gran vocabulario
• Cada HMM modela una unidad de subpalabra (p.ej. fonema,
trifonema o sílaba).
• Los HMMs se concatenan para formar palabras ⇒ información léxica.
• Las palabras se ponderan de acuerdo a sus probabilidades ⇒
modelo de lenguaje.
E.P.S. Linares, 8 abril 2013 30
HMM: algoritmos
• Entrenamiento: algoritmo de Baum-Welch. o Estima los parámetros del HMM dados un conjunto de señales de voz y
sus transcripciones asociadas.
o Se trata de una versión del algoritmo EM.
• Reconocimiento: algoritmo de Viterbi. o Es un algoritmo de búsqueda en grafos con pesos.
o Encuentra la secuencia de palabras más probable dada la señal
observada.
E.P.S. Linares, 8 abril 2013 31
Herramientas
• GMM o Toolboxes de Matlab: Voicebox, Netlab, etc.
• HMM o HTK: Cambridge University.
o CMUSphinx: Carnegie Mellon University.
o Kaldi.
E.P.S. Linares, 8 abril 2013 32