organisation 7.3.1 Overview
7.3.6 People management
La se˜nal de voz est´a compuesta de una secuencia de excitaci´on combinada con la res- puesta de impulso del modelo del sistema vocal [7]. El objetivo del preprocesamiento de la se˜nal de voz en el sistema es convertir la forma de onda de la voz a alg´un tipo de represen- taci´on param´etrica.
La voz es din´amica o variante con respecto al tiempo, pero por otro lado, durante el habla lenta, la forma del tracto vocal y el tipo de excitaci´on pueden estar sin alterarse en duraciones de hasta 200 ms [7]; sin embargo, cambian en promedio m´as r´apidamente debido a que la duraci´on promedio de los fonemas es alrededor de los 80 ms. No obstante el an´alisis de voz asume que las propiedades de la se˜nal cambian relativamente lento con el tiempo. Esto permite la examinaci´on de una ventana de voz corta en tiempo para extraer par´ametros que se mantengan fijos para la duraci´on de la ventana.
Entonces, para modelar par´ametros din´amicos, se divide la se˜nal en ventanas sucesivas o cuadros de an´alisis, de forma que los par´ametros calculados sean suficientes para seguir cambios relevantes.
Ventaneo se define como la multiplicaci´on de la se˜nal de voz s(n) por una ventana
w(n), los cuales producen un conjunto de muestras de voz x(n) ponderado por la forma de la ventana [9].w(n) puede tener duraci´on infinita, pero ventanas m´as pr´acticas tienen longitud finita para simplificar el c´omputo. La ventana m´as com´un es la ventana Hamming que tiene la forma:
w(n) = 0,54−0,46 cos( 2πn
N −1),0≤n≤N −1
Para fines pr´acticos es com´un hacerle a la se˜nal un pre-´enfasis aplic´andole la ecuaci´on en diferencias de primer orden mostrada a continuaci´on:
Sn0 =Sn−ksn−1 (3.1)
donde k es el coeficiente de pre-´enfasis que debe estar entre 0 y 1.
Una vez que la se˜nal de voz ha sido ventaneada, se aplica el m´etodo de an´alisis m´as popular para reconocimiento aut´om´atico de voz llamado “An´alisis Mel Cepstral”, el cual usa el cepstrum con un eje de frecuencia no lineal siguiendo la escala Mel o Bark. Los coeficientes cepstrales de frecuencia melcn (MFCC’s) dan una representaci´on alternativa para espectros
B´asicamente para obtener los MFCC’s, despu´es de que la se˜nal de voz es dividida en pe- que˜nos fragmentos, un espectro S de magnitud DFT de cada cuadro de voz es deformado en frecuencia (para seguir la escala bark o de banda cr´ıtica) y en amplitud (escala logar´ıtmica). Entonces se usa un banco de filtro para suavizar el espectro escalado. Finalmente, se aplica la transformada discreta de coseno DCT para eliminar la correlaci´on entre los componentes, dando como resultado un vector de 13 dimensiones, donde cada dimensi´on corresponde a un par´ametro. Despu´es se calcula la derivada en el tiempo4 y la aceleraci´on en el tiempo44
para acentuar las caracter´ısticas din´amicas de la voz en el tiempo, dando como resultado un vector de 39 dimensiones formado por los 12 MFFC’s mas un coeficiente de energ´ıa, 13 componentes resultantes de4y 13 de44, el esquema de este preprocesamiento se muestra en la Figura 3.2 [19].
La primera y segunda derivada con respecto al tiempo de los coeficientes cepstrales in- dican la tasa a la cual los coeficientes cepstrales cambian. Se ha demostrado que aumentando la primera y segunda derivada a los coeficientes cepstrales mejora la precisi´on en los sistemas de reconocimiento de voz.
Voz
MFCC
Ventaneo
DFT Log10
.
Banco deFiltrosVentana Trama
a1
a39
Figura 3.2: Preprocesamiento de la se˜nal de Voz
3.1.2.
Modelaci´on Ac´ustica
En el reconocimiento de voz generalmente se asume que la se˜nal de voz es una realiza- ci´on de un mensaje codificado como una secuencia de s´ımbolos (ver Figura 3.3).
En ´este caso, las observaciones se presentan como se˜nales continuas. Debido a eso, es ventajoso usar HMMs con densidades continuas para modelar la representaci´on de dichas se˜nales. Las densidades t´ıpicamente usadas son las gausianas y una simple funci´on gausiana no es adecuada, por lo que una suma cargada de gausianas es conveniente.
S 1 S2 S3 S 1 S2 S3 Parametrizar Reconocimiento VOZ
Figura 3.3: Principio de Modelaci´on Ac´ustica
El reconocedor de voz basado en HMM del sistema emplea dos etapas para realizar su prop´osito, el entrenamiento de los modelos y el reconocimiento de los mismos. En el caso del entrenamiento lo que se quiere es representar a trav´es del modelo m´as apropiado una palabra. Para esto se tiene un conjunto de caracter´ısticas obtenidas a partir de pronunciaciones de las frases especialmente para entrenamiento y que han sido obtenidas previamente por la etapa de pre-procesamiento explicado anteriormente. El reconocimiento resulta ser menos complejo, y el objetivo es deducir, a partir de los modelos creados previamente para cada palabra del vocabulario, cual de estos corresponde mejor o tiene la probabilidad m´as alta de correspondencia a una secuencia de observaci´on, como es el caso de la se˜nal de entrada, pasada anteriormente por la etapa de pre-procesamiento.
Reconocimiento de HMM
El objetivo principal del HMM en el reconocimiento de voz es dado un conjunto de datos ac´usticos M = m1, m2, ..., mk, encontrar un conjunto de secuencia de observaci´on de
palabras O = o1, o2, ..., on, de forma que la probabilidad P(O|M) sea m´axima. Lo que nos
da la regla de Bayes: P(O|M) = P(M|O)·P(O) P(M) (3.2) donde: P(M|O) es un modelo ac´ustico (HMMs), P(O) es un modelo de lenguaje y
P(M) es una constante para una oraci´on completa.
Como hemos visto hasta este momento, con la ayuda de la etapa de preprocesamiento de voz, podemos representar la voz como un conjunto de observaciones, con lo que usamos
HMM para modelar los fonemas. El objetivo de la etapa de decodificaci´on es encontrar una secuencia de estados S, de forma tal que la probabilidad de P(O, S|M) sea la m´as alta.
Para calcularP(O|M) existen diversas t´ecnicas como el llamadoAlgoritmo hacia Ade-
lante, el cual calcula la probabilidad de que un modelo produzca una secuencia de observa-
ciones, pero no da la secuencia de estados que ofrece la mejor aproximaci´on. Es por eso que se aplica una t´ecnica formal basada en programaci´on din´amica, conocida como algoritmo de
Viterbi, usada para encontrar la mejor secuencia de estados para una HMM. En lugar de
sumar las probabilidades de diferentes rutas llegando al mismo estado destino, el algoritmo de Viterbi escoge y recuerda la mejor ruta. Para definir la probabilidad de la mejor ruta tenemos:
Vt(i) =P(O1t, S1t−1, st=i|M) (3.3) Vt(i) es la probabilidad de la secuencia de estados m´as alta en el tiempo t, que ha sido
generada por la observaci´on Ot
1 (hasta el tiempo t) y termina en el estado i.
Entrenamiento de HMM
Debido a que las HMM pueden ser entrenadas, lo que se intenta es optimizar los par´ame- tros del modelo que mejor describan una secuencia de observaci´on, tambi´en llamada secuencia de entrenamiento. No existe forma conocida para resolver analiticamente el conjunto de pa- rametros del modelo que maximice la probabilidad de la secuencia de observacion en una forma cerrada. Pero se puede escoger M = (A, B, π) tal que su probabilidad, P(O|M) es localmente maximizada usando un procedimiento iterativo como el metodo Baum-Welch o tambien llamado Algoritmo adelante/atras. La probabilidad hacia adelante se define como:
αt(i) =P(O1t, st=i|M) (3.4)
Similarmente, la probabilidad hacia atr´as se define como:
βt(i) = P(OTt+1|st =i, M) (3.5)
El procedimiento Baum-Welch esta dado por: 1. Estimaci´on inicial deM.
2. CalcularQ(M,Mˆ) basado enQ, donde ˆM es un nuevo juego de parametros del modelo y
Q(M,Mˆ) =X
S
P(O, S|M)
3. Calcular ˆM de acuerdo a las f´ormulas de reestimaci´on de par´ametros para maximizar la funci´onQ.
4. HacerM = ˆM y repetir desde el paso 2 hasta cumplir un criterio de convergencia. Un esquema general y representativo de las etapas de entrenamiento y reconocimiento de un Modelo Oculto de Markov se presentan en la Figura 3.4. En este ejemplo el vocabulario est´a formado solo por tres palabras: ONE, TWO y THREE. El HMM es entrenado para cada palabra del vocabulario usando varias articulaciones de entrenamiento. Una vez que los modelos han sido construidos, en la etapa de reconocimiento se calcula la probabilidad condicional de la palabra desconocida con respecto a cada modelo y se selecciona la mayor.
one two three
M
1M
2M
3Palabra desconocida
O=
P(OIM )1 P(OIM )2 P(OIM )3
Escoger la máxima Estimacion
de modelos
ENTRENAMIENTO
RECONOCIMIENTO
Figura 3.4: Etapas del HMM
Los modelos con los que trabaja HMM representan articulaciones de voz, como sabemos tales pronunciaciones pueden ser palabras, unidades menores a palabras o inclusive oraciones completas. En este trabajo el sistema toma como unidad b´asica a los fonemas en lugar de palabras debido a que se tiene la gran ventaja de poder generar claves de mayor longitud con frases cortas. Cada fonema es modelado por un HMM de tres estados para caracterizar el inicio, la mitad y el fin de cada fonema. Cada estado del Modelo Oculto de Markov es modelado por una mezcla de 9 densidades Gaussianas. Asumiendo que el estado intermedio es la representaci´on m´as estable de un fonema, definimos a CP ={Ci} para denotar el con-
junto de medias de las gaussianas centrales de los vectores de estados intermedios, donde P
En la Figura 3.5 se muestra un ejemplo de un Modelo Oculto de Markov (HMM) para la palabra “one”. Se puede observar que cada fonema consiste de 3 estados HMM. En este ejemplo se presenta una observacion O = {o1, o2, ..., o18} que consiste de 18 vectores carac-
ter´ısticos. Por otra parte tambi´en podemos observar que la transici´on entre los estados del modelo se da de la forma S ={S1, S1, S2, S2, S2, S3, S3, S4, S5, S5, S6, S6, S6, S6, S7, S8, S8, S8, S9}conforme se van presentando los 18 vectores que conforman la observaci´on.
Figura 3.5: Modelo Oculto de Markov para la palabra one
3.2.
Generaci´on de Atributos
Despu´es de obtener el inicio y el fin de cada uno de los fonemas de la se˜nal de voz, los MFCC’s para cada fonema de la articulaci´on son agrupados para crear conjuntos de la forma
Ru
i,j, donde i es el indice que se encuentra asociado a cada uno de los fonemas, j indica al j −´esimo usuario y u es un ´ındice que inicia en cero y lleva el conteo del numero de veces que el usuario pronuncia el fonemai durante la articulaci´on [19]. As´ı entonces, un vector de atributos estar´a definido por:
ψu
i,j =µ(Rui,j)−Ci
donde µ(Ru
i,j) es el vector medio de los datos en el conjunto de MFCC’s Rui,j y Ci est´a dado
por: Ci = 1 K K X l=1 WlGl
donde Gl es la media de la Gaussiana, K es el n´umero total de Gaussianas disponibles en
fonema. Por otro lado, definimos el conjunto total de vectores de atributos para cada uno de los fonemas de la forma:
Dp ={[ψup,j, bp,j]|∀u, j}
dondebp,j ∈ {−1,1}es el bit de la clave o la clase asignada al fonemapdel usuarioj−esimo´ ,
dicha asiganci´on se realiza de manera aleatoria y uniforme. El indice p indica un fonema en especifico, por ejemplo,D/AH/ ser´a el conjunto que contiene a todos los vectores de atributos
que corresponden a al fonema /AH/ y la clase a la que pertenecen. Posteriormente cada uno de los conjuntos Dp es particionado en dos subconjuntos Dtrnp y DtstP , de tal manera que el
primero contendr´a los vectores que ser´an usados para la fase de entrenamiento de SVM y el segundo contendr´a los vectores que servir´an para fase de prueba de SVM en el proceso de clasificaci´on.
3.3.
Clasificaci´on con SVM
La clasificaci´on es una tarea b´asica en el an´alisis de los datos y la creaci´on de la clave criptogr´afica. En nuestro caso se requiere que cada uno de los conjuntos de atributos dividi- dos en fonemas puedan ser particionados de manera que a algunos usuarios les corresponda para un fonema determinado la clase 1 y al resto, la clase -1, siendo ´estas clases las claves para cada usuario. Las etiquetas se producen por medio de un generador pseudo-aleatorio, lo que brinda un mayor control sobre la clave y se reduce la posibilidad de que una persona no autorizada pueda descifrarla facilmente.
El motivo de usar SVM se debe a que son m´aquinas lineales con una enorme riqueza de representaci´on. Las soluciones no se construyen en el espacio de entrada, sino en un espacio de mayor dimensionalidad, el espacio caracter´ıstico, donde es muy posible que una funci´on lineal simple sea suficiente para resolver el problema de clasificaci´on. Adicionalmente, la for- ma de la funci´on soluci´on es tal que la transformaci´on no interviene directamente sino que se encuentra impl´ıcita a trav´es de funciones denominadas Kernels.
SVM es una m´aquina de aprendizaje supervisado. Los m´etodos de aprendizaje de m´aqui- na pueden ser desde un punto de vista general, divididos en aprendizaje supervisado y no supervisado. Se dice que el aprendizaje es supervisado cuando a un algoritmo de aprendi- zaje se le da un conjunto de ejemplos junto a la clase a la que pertenecen y se prueba en un conjunto de datos en los que no se conocen las clases a las que pertenecen [26]. Es por eso que en nuestro caso los vectores son etiquetados {+1,−1} y posteriormente divididos en dos conjuntos Dtrn
p y DPtst para realizar con ellos la fase de entrenamiento y de prueba
La clasificaci´on con SVM consiste en encontrar una regla de decisi´on que, dada una observaci´on, permita asignarla a un conjunto entre dos posibles {+1,−1}. Por lo tanto el objetivo ser´a estimar una funci´on f que asigne a cada punto del espacio de observaci´on (de dimensi´on N) un punto en el espacio de las clases −1 y +1:
f :RN * Y, Y ={+1,−1} (3.6)
La b´usqueda se realiza utilizando un conjunto de datos de entrenamiento compuesto por n pares de muestras etiquetadas, generadas mediante una distribuci´on de probabilidad desconocida P(x, y):
{(xi, y(i))}i=1n xi ∈RN, yi ∈Y (3.7)
Lo que se desea es que la funci´on f clasifique correctamente las nuevas observaciones (que no pertenecen al conjunto de entrenamiento), lo que se conoce como generalizaci´on. Dichas observaciones se asignar´an a la clase +1 cuando f(x) > 0 y a la clase −1 en caso contrario. Estas muestras deben estar generadas con la misma distribuci´on de probabilidad
P(x, y) con la que fueron generadas las muestras de entrenamiento.
Supongamos que tenemos una m´aquina para aprender la transformaci´on xi → yi. La
m´aquina est´a definida por x→f(x, ζ), donde ζ es el conjunto de par´ametros ajustables de SVM. Una elecci´on particular de ζ genera lo que llamamos una m´aquina entrenada.
En nuestro caso, en el cual tenemos cantidad finita de datos de entrenamiento, el mejor rendimiento al generalizar se conseguir´a si se equilibra la balanza entre laexactitud obtenida sobre ese conjunto de entrenamiento y la capacidad de la m´aquina, esto es, la habilidad de la m´aquina de aprender cualquier conjunto de entrenamiento sin error. En forma an´aloga, un ejemplo de desequilibrio de la balanza hac´ıa las muestras de entrenamiento ser´ıa la de un clasificador bot´anico con memoria de fotograf´ıa, al quien cuando se le presenta un nuevo ´arbol, concluye que no es un ´arbol porque no tiene el mismo n´umero de hojas. Si la balanza se inclinara hacia el otro lado, con una capacidad demasiado baja, el resultado ser´ıa un cla- sificador bot´anico “flojo”quien al ver un objeto decide que es un ´arbol por el solo hecho de ser verde. Ninguno de los dos clasificadores generalizan de manera correcta.
SVM como toda m´aquina de aprendizaje tiene que pasar por una fase de entrenamiento y una fase de prueba para poder llevar a cabo el proceso de clasificaci´on.
3.3.1.
Fase de Entrenamiento de la SVM
Partimos del conjunto de entrenamiento de datos ya etiquetados, (x1, y1),(x2, y2), ...,(xn, yn)∈RN×Y Y={+1,−1}
La hip´otesis de partida es que existen infinitos hiperplanos en RN tal que separen las
muestras de una clase de las de otra. Como se vi´o en el cap´ıtulo anterior, los puntosx sobre dichos hiperplanos satisfacenw·x+b = 0 donde el vectorwes normal al hiperplano,|b|/kwk
es la distancia perpendicular del hiperplano al origen ykwkes la norma euclidiana de w. De esta manera, las funciones de decisi´on estar´an definidas por f(x) =sgn((w·x) +b). Por lo tanto, si:
xi·w+b≥+1 entonces yi = +1
xi·w+b≤ −1 entonces yi =−1
De entre los infinitos hiperplanos que cumplen esta condici´on se busca aquel que tenga un margen mayor. El margen de separaci´on ser´a la distancia entre los dos hiperplanos que contengan a las muestras m´as cercanas a la frontera, es decir, los vectores de soporte (ver Figura 3.6). Estos hiperplanos ser´an paralelos al de separaci´on, que se encontrar´a entre los dos. La distancia de cada uno de ellos al origen ser´a:
|1−b|
kwk para el hiperplano de muestras positivas | −1−b|
kwk para el hiperplano de muestras positivas
Por la tanto su distancia hasta la frontera de separaci´on entre clases no ser´a m´as que 1/kwk. El margen es el doble de esta distancia, 2/kwk. Obs´ervese que dentro de este espacio de separaci´on no puede caer ninguna muestra, ya que se ha tomado los conjuntos de muestras
xi y xj como aquellas que se encuentran m´as cercanas al hiperplano de separaci´on. De esta
forma se consigue maximizar el margen (Figura 3.6), m´aximo que se alcanzar´a cuando kwk2
sea m´ınima, sujeta a las restricciones anteriormente citadas. Para buscar los pesos w y el hiperplano que las cumplen se emplea una formulaci´on con multiplicadores de Lagrange (uno por cada restricci´on del problema) obteniendo:
LP = 1 2kwk 2−XN i=1 αiyi(xi·w+b) + N X i=1 αi (3.8)
w
X (w x)+b=-1 x (w x)+b=0y
i=+1
y
i=-1
x
1x
2(w x )+b=+1
1(w x )+b=-1
2(w (x
1-x
2))=2
(
ww
(x
1-x
2))=2
w
x (w x)+b=+1Figura 3.6: C´alculo del hiperplano ´optimo
A continuaci´on se procede a buscar la soluci´on que minimice LP con respecto a w y b
y, simultneamente, cumpla que las derivadas de LP con respecto a todos los αi sean nulas,
sujetas a αi ≥ 0. Los pesos w est´an, como puede verse, determinados de manera expl´ıcita
por el entrenamiento pero no as´ı el par´ametro b, que se encuentra de manera impl´ıcita. Sin embargo es sencillo obtener b usando la expresi´on:
αi(yi(w·xi+b)−1) = 0 ∀i
Eligiendo cualquier muestra i para la cual αi 6= 0 se despeja autom´aticamente el valor
del par´ametro b. Estas muestras ser´an las que caigan sobre los hiperplanos de separaci´on, aquellas que cumplan que yi((w·xi +b)−1) = 0. Para calcular w es necesario y suficiente
conocer estas muestras, por lo que definir´an de manera un´ıvoca la frontera de decisi´on. Si alguna de estas no estuviera presente, dicha frontera cambiar´ıa. Debido a su importancia, estas muestras son conocidas con el nombre de vectores soporte. Si falta una muestra con
αi = 0 es sencillo ver que la frontera permanecer´a inalterable. Por tanto, los vectores soporte
llevan toda la informaci´on relevante acerca del problema de clasificaci´on.
3.3.2.
Fase de Prueba de la SVM
Esta fase es menos compleja que la fase de entrenamiento de SVM. Una vez que ya hemos entrenado la m´aquina de vectores soporte, SVM construye un modelo con la informa- ci´on de todos los par´ametros que definen al hiperplano ´optimo que separa a las dos clases, dicho modelo es usado durante ´esta fase de prueba.
Para clasificar los datos de prueba x basta determinar en qu´e parte de la frontera de decisi´on se encuentra y asignarle la etiqueta de la clase correspondiente, es decir, asignamos a xla clase signo(w·x+b), donde como ya sabemos sgnes la funci´on signo.
Es importante recordar que antes de iniciar la fase de prueba, el conjunto de datos que se usa en esta fase ya fu´e previamente etiquetado usando la misma asignaci´on de clases que se le di´o al conjunto de entrenamiento. Esto es con el objetivo de poder evaluar al final de