modelos probabilísticos: aplicación al reconocimiento automático del habla

Post on 05-Dec-2014

401 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

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).

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