modelos probabilísticos: aplicación al reconocimiento automático del habla
Post on 05-Dec-2014
401 Views
Preview:
DESCRIPTION
TRANSCRIPT
Modelos Probabilísticos: Aplicación al Reconocimiento
Automático del Habla José Andrés González
CITIC-UGR
Universidad de Granada
joseangl@ugr.es
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
top related