• No se han encontrado resultados

Agrupamiento de la Predicción de la Señal de Voz en una Tarea de Reconocimiento Automático de Fonemas Edición Única

N/A
N/A
Protected

Academic year: 2020

Share "Agrupamiento de la Predicción de la Señal de Voz en una Tarea de Reconocimiento Automático de Fonemas Edición Única"

Copied!
54
0
0

Texto completo

(1)Agrupamiento de la Predicción de la Señal de Voz en una tarea de Reconocimiento Automático de Fonemas. TESIS. Maestrı́a en Ciencias en Sistemas Inteligentes. Instituto Tecnológico y de Estudios Superiores de Monterrey. Por. Ing. Marco Otilio Peña Dı́az Mayo 2004.

(2) Instituto Tecnológico y de Estudios Superiores de Monterrey División de Graduados en Electrónica, Computación, Información y Comunicaciones Dirección de Programas de Posgrado en Electrónica, Computación, Información y Comunicaciones. Los miembros del comité de tesis recomendamos que la presente tesis de Marco Otilio Peña Dı́az sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias en: Sistemas Inteligentes. Comité de tesis:. Dr. Juan Arturo Nolazco Flores Asesor de la tesis. Dr. Carlos F. Pfeiffer Celaya. M.C. Luis Ricardo Salgado Garza. Sinodal. Sinodal. David Garza Salazar, PhD. Director del Programa de Graduados en Electrónica, Computación, Información y Comunicaciones. Mayo de 2004.

(3) Agrupamiento de la Predicción de la Señal de Voz en una tarea de Reconocimiento Automático de Fonemas Por. Ing. Marco Otilio Peña Dı́az. TESIS. Presentada a la División de Electrónica, Computación, Información y Comunicaciones Este trabajo es requisito parcial para obtener el grado académico de Maestro en Ciencias en Sistemas Inteligentes. Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey Monterrey, N.L. Mayo de 2004.

(4) A mis padres.

(5) Reconocimientos Deseo agradecer sinceramente a todas las personas que de alguna manera estuvieron presentes en el desarrollo de esta tesis. A mi familia, por su apoyo incondicional y desinteresado siempre. A mis amigos, por el regalo invaluable de la amistad. Al “doc” Nolazco por la oportunidades ofrecidas en estos dos años. A aquellas personas que compartieron conmigo parte de su vida durante este periodo. Esta tesis fue realizada con el apoyo de la Cátedra de Seguridad del ITESM Campus Monterrey.. M ARCO O TILIO P E ÑA D ÍAZ Instituto Tecnológico y de Estudios Superiores de Monterrey Mayo 2004. V.

(6) Agrupamiento de la Predicción de la Señal de Voz en una tarea de Reconocimiento Automático de Fonemas Marco Otilio Peña Dı́az, M.C. Instituto Tecnológico y de Estudios Superiores de Monterrey, 2004. Asesor de la tesis: Dr. Juan Arturo Nolazco Flores. En este trabajo se presenta el diseño de un sistema para reconocimiento de fonemas usando la agrupación de señales de voz. El reconocimiento del fonema se realiza en dos etapas. Una primera etapa de predicción de series de tiempo basada en grupos de redes neuronales especializados en reaizaciones acústicas del fonema, cada uno de los cuales arroja un residuo o error total, mismo que alimenta a una segunda etapa de clasificación; esta segunda etapa es la que indica a que fonema pertenece la señal de entrada. Las realizaciones acústicas se determinan automáticamente en base del agrupamiento de los errores totales obtenidos de las señales usadas en entrenamiento. Se hicieron pruebas con 4 y 5 fonemas vocálicos obtenidos de la base de datos de habla TIMIT. Para el entrenamiento de las redes neuronales se usó el simulador SNNS. Los resultados indican que el uso de grupos de redes neuronales especializados en contextos de fonemas mejora el reconocimiento de un fonema en comparación con un sistema de predicción de series de tiempo de una red neuronal única por fonema..

(7) Índice general. Reconocimientos. V. Resumen. VI. Índice de cuadros. IX. Índice de figuras. X. Capı́tulo 1. Introducción. 1. Capı́tulo 2. Fundamentos y herramientas de tecnologı́a del habla 2.1. Reconocimiento automático del habla . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Caracterı́sticas de un sistema de reconocimiento automático del habla 2.1.2. Sonido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3. Producción de habla . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Predicción de series de tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Redes neuronales artificiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1. Modelos conexionistas . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2. Representación de conocimiento . . . . . . . . . . . . . . . . . . . . . 2.3.3. Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.4. Tipo de asociación entre las informaciones de entrada y salida . . . . 2.3.5. Predicción de series de tiempo utilizando redes neuronales . . . . . . 2.3.6. Clasificación por medio de redes neuronales . . . . . . . . . . . . . . 2.3.7. SNNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5 5 6 7 9 16 17 18 20 24 28 28 29 29. Capı́tulo 3. Arquitectura de reconocimiento de fonemas series de tiempo en agrupaciones de redes neuronales 3.1. Predicción de series de tiempo . . . . . . . . . . . 3.1.1. Arquitectura de cada cluster . . . . . . . . 3.1.2. Entrenamiento . . . . . . . . . . . . . . . . 3.1.3. Arquitectura primera etapa . . . . . . . . .. 30 30 31 32 34. VII. utilizando predicción de . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . ..

(8) 3.2. Segunda Etapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Capı́tulo 4. Experimentación y resultados 4.1. Datos de entrenamiento y prueba . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Arquitectura utilizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 36 36 36 37. Capı́tulo 5. Conclusiones y Trabajo Futuro. 39. Apéndice A. Ejemplo de archivos de entrenamiento 40 A.1. Etapa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 A.2. Etapa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Bibliografı́a. 43. Vita. 45. VIII.

(9) Índice de cuadros. 2.1. Fonemas del idioma inglés utilizados para un sistema tı́pico de lenguaje hablado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2. Descomposición fonológica (abstracta) de las vocales básicas del lenguaje inglés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1. 4.2. 4.3. 4.4.. Cuadro de resultados para 4 fonemas y red de segunda etapa 4-100-100-4 Cuadro de resultados para 4 fonemas y red de segunda etapa 4-200-200-4 Cuadro de resultados para 5 fonemas y red de segunda etapa 5-100-100-5 Cuadro de resultados para 5 fonemas y red de segunda etapa 4-200-200-4. IX. . . . .. 37 37 37 38.

(10) Índice de figuras. 2.1. Arquitectura básica de un sistema de reconocimiento del habla. . . . 2.2. Representación del sonido . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Diagrama esquemático del aparato humano de producción de habla. 2.4. Forma de onda de sees. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5. Posición relativa de la lengua en vocales del lenguaje inglés.[11] . . . 2.6. Modelo de una neurona . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7. Red neuronal monocapa . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8. Red neuronal multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9. Red neuronal recurrente . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10. Red neuronal recurrente . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. 7 8 10 11 14 19 19 21 22 23. 3.1. 3.2. 3.3. 3.4. 3.5. 3.6.. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 31 32 33 34 34 35. Predicción de series de tiempo utilizando una red neuronal Comparación de señal original y señal predicha . . . . . . Gráfica del error cuadrado por muestra . . . . . . . . . . . Arquitectura de cluster . . . . . . . . . . . . . . . . . . . . . Diagrama de entrenamiento . . . . . . . . . . . . . . . . . . Diagrama de clasificación . . . . . . . . . . . . . . . . . . .. X. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . ..

(11) Capı́tulo 1. Introducción El Procesamiento de Lenguaje Hablado se refiere a las tecnologı́as relacionadas con el reconocimiento del lenguaje, la conversión de texto a habla y el entendimiento del lenguaje hablado [11]. El reconocimiento del lenguaje, empieza con la conversión de la señal acústica a señal eléctrica y el análisis de esta última por algun método de procesamiento de señales; después hay etapas de decodificación, en las que se intenta determinar a qué palabra o fonema corresponde la señal analizada. En la etapa de decodificación, hay varios enfoques para determinar la palabra o fonema correspondiente. Existen enfoques que usan métodos estadı́sticos para modelar la señal (Modelos Ocultos de Markov), enfoques basados en predicción no lineal, en clasificación, etc. Siendo el lenguaje una de las forma más efectivas de comunicación que posee el humano, desde tiempos inmemoriales, el humano ha intentado dotar de la misma forma de comunicación a las máquinas. Las primeras máquinas “parlantes” fueron percibidas como trabajos heréticos de magos y por lo tanto como intentos para desafiar a Dios. En el siglo XIII, se dice que el filósofo Alberto Magno creó una cabeza que podı́a hablar. El cientı́fico inglés Roger Bacon también parece haber producido una cabeza de caracterı́sticas similares. Aquellas imposturas que aparecieron en Europa en los siglos XVI y XVII fueron descritas por Miguel de Cervantes en su relato de la cabeza que habla con Don Quijote – con la ayuda de un tubo que se comunicaba con el piso inferior. Para el siglo XVIII, la ciencia empezo a deshacerse de su conexión con la magia, y el problema del lenguaje artificial fue tomado por inventores de un giro “más mecánico” [14]. Después de los intentos de hacer que las máquinas hablaran, el esfuerzo se volcó en hacer que las máquinas entendieran el lenguaje hablado. Uno de los primeros intentos, si no el primero, fue un perro de juguete producido en 1922 por la Elmwood Button Co. Aunque el juguete, llamado “Radio Rex” no fué un éxito comercial, el juguete operado por baterias fue un precursor en el área de reconocimiento de lenguaje. El juguete consistı́a en un perro de celuloide con una base de hierro mantenido en su lugar por un electroimán contra la fuerza de un resorte. La corriente que suplı́a energı́a al electroimán fluı́a a través de una barra de metal que era dispuesta de tal forma que formaba un puente con dos miembros de soporte. Este puente era sensible a energı́a acústica a 500cps (ciclos por se1.

(12) gundo) que lo hacı́a vibrar, interrumpiendo el flujo de la corriente y liberando el perro. La energı́a de alrededor de 500cps contenida en la palabra “Rex” era suficiente para activar el dispositivo cuando el perro era llamado. Durante los 40’s y los 50’, el Departamento de Defensa de los Estados Unidos de Norteamérica y el Instituto Tecnológico de Massachusetts (MIT) se convirtieron en los mayores contribuyentes al campo del reconocimiento de lenguaje. El Departamento de Defensa estaba impulsado por un interés en la intercepción y traducción automática de mensajes de radio procedentes de Rusia. El desarrollo primordial en los 60’s y 70’s fué en el ambiente académico, notablemente en el MIT y en la universidad Carnegie Mellon. Durante los 70’s, Texas Instruments popularizó el speech chip. En 1975, Jim Baker, de Carnegie Mellon desarrolló un revolucionario modelo de reconocimiento llamado sistema Dragon. El Dr. Baker y su esposa después fundarı́an “Dragon Systems” en 1982. En los 80’s hubo mucha investigación en el campo, pero con pocos productos comercialmente viables. Fue hasta mediados de los 90’s que empezaron a salir productos comerciales: NaturallySpeaking de Dragon Systems y ViaVoice de IBM, son algunos de los productos comerciales disponibles en ese tiempo [16, 17, 13]. Sin embargo, estos productos requieren entrenamiento por parte del usuario final. Para resolver este problema, actualmente se investigan algoritmos y modelos que permitan que el habla sea reconocida sin importar el hablante. El proyecto CMU Sphinx, de la universidad de Carnegie Mellon, es uno de los productos mas importantes en este ámbito [15]. HTK, de la Universidad de Cambridge, es otro de los productos relevantes en esta área [10]. ¿Qué motiva la investigación sobre el reconocimiento automático del habla? A medida que las computadoras van formando, cada vez más, parte de la vida cotidiana, se hace necesario proveer de interfaces más naturales para el control de las mismas. Para Huang, Acero y Hon, el uso del lenguaje como interfaz en las aplicaciones se divide en tres ramas [11]: Oficina: en el uso de aplicaciones de escritorio. Hogar: en todos aquellos aparatos con computadoras embebidas y que no tienen interfaces gráficas, i.e. televisión, aparatos de sonido, etc. Móvil: Los teléfonos celulares y los automóviles son los escenarios móviles mas importantes, en los que debido a las restricciones de tamaño o grado de atención requerido, no se pueden usar interfaces diferentes. Por otro lado, el uso de este tipo de interfaces permite a las personas fı́sicamente deshabilitadas tener acceso/control de un número mayor de dispositivos. 2.

(13) Es dı́ficil desarrollar un programa de computadora que sea lo suficientemente sofisticado para entender un discurso hablado por cualquier persona. Sólo cuando se simplifica el problema — aislando palabras, limitando el vocabulario, o restringiendo el modo en como se forman las frases — es posible el reconocimiento del lenguaje hablado. El lenguaje hablado está basado en una secuencia de segmentos de sonido discretos que son encadenados en el tiempo. Para estos segmentos, llamados fonemas, se asumen caracterı́sticas acústicas y articulatorias únicas. Mientras que el aparato vocal humano puede producir casi un número infinito de gestos articulatorios, el número de fonemas es limitado.El inglés hablado en los Estados Unidos de Norteamérica, por ejemplo, contiene 16 sonidos vocales y 24 consonantes. Cada fonema tiene tiene caracterı́sticas acústicas distinguibles, y, en combinación con otros fonemas forman unidades mas grandes, como sı́labas y palabras. Conocer estas caracterı́sticas es lo que nos permite distinguir ba de pa. Cuando los sonidos del lenguaje hablado se conectan para formar unidades lingüı́sticas más grandes, las caracterı́sticas de un fonema dado cambian como función de su ambiente fonético inmediato debido a la interacción entre varias estructuras anatómicas (lengua, labios, cuerdas vocales) y a sus diferentes grados de lentitud. El resultado es un traslape de información fonética en la señal acústica de un segmento al otro. Por ejemplo, en inglés, el mismo fonema /t/ puede tener caracterı́sticas acústicas drásticamente diferentes en distintas palabras, por ejemplo tea,tree,city,beaten,. . . Este efecto, conocido como coarticulación, puede ocurrir dentro de una palabra dada o en el lı́mite de una palabra [11]. En este trabajo se utilizará la palabra contexto para referirse a esta variación fonética. Como las huellas digitales, la anatomı́a vocal de cada hablante es diferente, y esto produce diferentes vocalizaciones de los sonidos. Aunado esto a las diferentes realizaciones acústicas de cada fonema (coarticulación) nos conduce a uno problema mayor: ¿Cómo reconocer qué fonema es el pronunciado? En [11] se propone tratar cada realización acústica de un fonema como fonemas diferentes. Entonces, el problema, consiste en, dada una señal acústica, determinar a qué fonema corresponde, dándo una salida útil, por ejemplo la grafı́a del fonema. El uso de redes neuronales para reconocimientos de fonemas no es nuevo. Una red neuronal es una estructura interconectada de unidades simples de procesamiento, en la qué el conocimiento adquirido esta asociado con las conexiones entre las unidades. Bengio [2], propuso un modelo en el que las redes neuronales se usan para reconocer a que fonema corresponde la señal acústica analizada. Él también reconoce que el contexto y la variación por hablantes representan problemas de gran magnitud. Una red neuronal es una arquitectura compuesta de elementos más simples conectados entre sı́, donde el conocimiento aprendido está asociado con las conexiones entre las unidades [2]. Propone el uso de redes especializadas en contexto para reconocer cada fonema, donde cada red neuronal es activada por un preprocesamiento especializado e indica a que fonema corresponde la entrada a través de una señal codificada. Este esquema es de una sola red 3.

(14) neuronal que analiza y clasifica todos los fonemas. El reconocimiento de todo el conjunto de fonemas de cualquier lenguaje hablado conlleva tiempo extensivo de investigación y de cómputo. Por este motivo, para la presente tesis, el problema se limita a un subconjunto de vocales del idioma inglés, sobre el cual se enfocará la solución propuesta. El presente trabajo, hace una propuesta para realizar el reconocimiento del fonema, utilizando un grupo de redes neuronales, donde cada red neuronal en el grupo estará especializada en un contexto del fonema, y donde el contexto es determinado automáticamente por las mismas redes neuronales durante el proceso de entrenamiento. Se espera que este enfoque de múltiples redes neuronales por fonema sea más eficiente que el esquema de una sola red neuronal para todos los fonemas. En el presente trabajo se definirá cluster 1 como un grupo de redes neuronales donde cada elemento está especializado en un contexto de fonema. A partir de aqui, se utilizarán intercambiablemente los términos cluster y grupo de redes neuronales. El objetivo general de este trabajo es mejorar el reconocimiento de fonemas de un modelo de predicción de series de tiempo utilizando redes neuronales a través de la creación de clusters . El modelo particular consiste en un método para entrenar cada cluster en un fonema especı́fico, dentro del cual cada red neuronal estará especializada en una realización acústica (fono) del fonema correspondiente al cluster al que pertenece la red. Cada red neuronal funcionará como predictor no lineal de la forma de onda de la señal del fonema, y se hará una medición del error de esta señal predicha contra la original. Para un fonema se tendrán n errores, uno por red neuronal de cada cluster. Estos n errores alimentan a una red neuronal clasificadora, que en última instancia es quién indica a que fonema pertenece la señal de entrada. Los conocimientos teóricos requeridos para la elaboración de esta tesis se encuentran en el Capı́tulo 2, donde se presenta la teorı́a básica de las redes neuronales y la teorı́a del habla y los fonemas. En el Capı́tulo 3 se describe la arquitectura propuesta para el reconocimiento de fonemas utilizando predicción de series de tiempo en agrupamientos de redes neuronales (clusters ). El Capı́tulo 4 describe los experimentos y los resultados. Finalmente, en el Capı́tulo 5, se comentan las conclusiones.. 1. cluster, noun (of trees, stars, buildings, people) grupo: (of berries, grapes) racimo: (of plants) macizo. Advanced English Dictionary Vox, English - Spanish. 4.

(15) Capı́tulo 2. Fundamentos y herramientas de tecnologı́a del habla El reconocimiento del lenguaje hablado por parte de una máquina es producto de la tecnologı́a; sin embargo, tiene una serie de bases cientı́ficas en las áreas de lingüı́stica, fonética, matemáticas, fı́sica y otras ramas de la ciencia. En teorı́a de la comunicación, la comunicación esta compuesta por: emisor, receptor, mensaje, código y canal [3]. Emisor - Aquel del que procede el mensaje. Receptor - El que recibe o interpreta el mensaje. Mensaje - La información que se transmite. Código - Idioma que utilizan el emisor y el receptor. Canal - La vı́a por la que circula el mensaje: ondas sonoras del aire, papel escrito... El canal más usado en la comunicación humana es el habla (sonido), por lo que, resolviendo el problema que significa interpretar la información que se recibe por el canal, después se pueden enfocar los esfuerzos a resolver cuestiones mas abstractas, tales como la interpretación del código (idioma), o más abstracto aún, interpretar el significado de las palabras y el mensaje. El habla es producido por ondas sonoras emanando de la boca y de la nariz de un hablante. En esté Capı́tulo se dan las bases para el reconocimiento del habla, y de las redes neuronales. La sección de Reconocimiento automático del habla ofrece una descripción de la teorı́a detrás del habla. La sección Redes neuronales artificiales, describe la teorı́a que sustenta la operación de las redes neuronales.. 2.1.. Reconocimiento automático del habla. Reconocimiento Automático del Habla (ASR — Automatic Speech Recognition) es la tecnologı́a que permite a una computadora identificar las palabras que una persona pro5.

(16) nuncia en un micrófono o teléfono. El “Santo Grial” de la investigación en ASR es permitir a una computadora identificar con un 100 % de exactitud todas las palabras que son pronunciadas por cualquier persona, independientemente del tamaño del vocabulario, el ruido, el acento del hablante, o las condiciones del canal. Lograr esto en tiempo real también es importante. A pesar de que hay muchas décadas de investigación, una exactitud mayor de 90 % sólo se logra cuando la tarea es restringida en alguna manera. Dependiendo de cómo se restrinja la tarea, se pueden alcanzar diferentes niveles de desempeño; por ejemplo, en el reconocimiento de dı́gitos continuos sobre un micrófono (vocabulario pequeño, sin ruido), la exactitud puede ser mayor del 99 %. Si el sistema se entrena para aprender la voz de un hablante determinado, entonces se pueden distinguir vocabularios más grandes, aunque la exactitud será entre 90 % y 95 % para sistemas comerciales. Para vocabularios grandes y muchos hablantes sobre diferentes canales, la exactitud no es mayor del 87 %, y el procesamiento puede tomar mucho tiempo. La tecnologı́a dominante en el ASR es llamada “Modelo Oculto de Markov” o HMM por sus siglas en inglés (Hidden Markov Model). Esta tecnologı́a reconoce el habla estimando la probabilidad de cada fonema en regiones continuas, pequeñas, dentro de la señal del habla. Cada palabra en una lista de vocabulario se especifica en términos de los fonemas que la componen. Un algoritmo de búsqueda, llamado “Búsqueda Viterbi”, se usa para determinar la secuencia de fonemas con la más alta probabilidad. Esta búsqueda se restringe a buscar sólo por las secuencias de fonemas que correspondan a palabras en la lista de vocabulario, y la secuencia de fonemas con la mas alta probabilidad total se identifica con la palabra que fue pronunciada. En HMM’s estándar, las probabilidades son calculadas usando un “Modelo Gaussiano de Mezcla”, en el marco de trabajo de HMM con redes neuronales, las redes neuronales se encargan de calcular estas probabilidades [4].. 2.1.1.. Caracterı́sticas de un sistema de reconocimiento automático del habla. Un sistema tı́pico de reconocimiento de habla consiste de los componentes básicos mostrados en la caja de lı́nea punteada en la Figura 2.1 [11]. Las aplicaciones se comunican con el decodificador para obtener resultados de reconocimiento que pueden ser usados para para adaptar otros componentes en el sistema. Los modelos acústicos incluyen la representación del conocimiento acerca acústica, fonética, variables ambientales, diferencias de género y dialecto entre los hablantes, etc. Los modelos de lenguaje se refieren al conocimiento del sistema de lo que constituye una posible palabra, que palabras son posibles de co-ocurrir y en que secuencia. La semántica y las funciones relacionadas a alguna operación que un usuario quiera realizar también pueden ser necesarias para el modelo de lenguaje. Existe mucha incertidumbre en esas áreas, asociada con las caracterı́sticas 6.

(17) del hablante, la velocidad y el estilo del habla, reconocimiento de segmentos básicos del habla, palabras posibles, palabras parecidas, palabras desconocidas, variación gramática, interferencia de ruido, acento no nativo, etc. Un sistema de reconocimiento exitoso debe considerar toda esta incertidumbre.. Figura 2.1: Arquitectura básica de un sistema de reconocimiento del habla. La señal de voz es procesada en el modulo de procesamiento de señal, que extrae vectores de caracterı́sticas para el dcodificador. El decodificador usa los modelos acústicos y de lenguaje para generar la secuencia de palabra que tiene la máxima probabilidad posterior para los vectores de caracterı́sticas de entrada. Tambien puede proveer información necesitada para el componente de adaptación para modificar el modelo acústico o el de lenguaje y mejorar el rendimiento del sistema.. 2.1.2.. Sonido. El sonido es una onda de presión longitudinal formado de compresiones y rarefacciones, en una dirección paralela a aquella de la aplicación de energı́a. Las compresiones son zonas donde las moléculas de aire han sido forzadas por la aplicación de energı́a en una configuración mas “apretada” que lo usual, las rarefacciones son zonas donde las moléculas de aire estan menos “apretadas”. Las configuraciónes alternadas de compresion y rarefacción de las moléculas a lo largo del camino de una fuente de energı́a son descritas por la gráfica de una onda senoidal como se se muestra en la Figura 2.2. En esta representación, las crestas de la curva senoidal corresponden a los momentos de máxima 7.

(18) compresión, y los valles a los momentos de máxima rarefacción. Hay dos parámetros importantes, amplitud y longitud de onda, para describir una onda senoidal. La frecuencia [ciclos/segundo medidos en Hertz (Hz)] también se usa para medir la forma de onda[11].. Figura 2.2: Representación del sonido El uso de la gráfica de seno de la Figura 2.2 es solo una convenciencia notacional para graficar variaciones locales de presión contra el tiempo, puesto que el sonido no forma una onda transversal, y las partı́culas de aire sólo están oscilando en su lugar sobre la linea de aplicación de energı́a. La velocidad de una onda de presión sonora en el aire es aproximadamente 331,5 + 0,6Tc m/s, donde Tc es la temperatura en grados Celsius. La cantidad de trabajo hecho para generar la energı́a que pone a las moléculas de aire en movimiento se refleja en la cantidad de desplazamiento de las moléculas desde su posición estática. Este grado de desplazamiento se mide como la amplitud de un sonido, como se muestra en la Figura 2.2. Debido a su amplio rango, es conveniente medir la amplitud del sonido sobre una escala logarı́tmica en decibeles (dB). Un decibel es un medio para comparar la intesidad de dos sonidos [6]:. (2.1). 10 log10 (I/I0 ). donde I e I0 son dos niveles de intensidad, con la intensidad siendo proporcional al cuadrado de la presión del sonido P . El nivel de presión del sonido (SPL) es una medida de presión de sonido absoluta P en dB: . SP L(dB) = 20 log10 8. P P0. . (2.2).

(19) donde la referencia 0 dB corresponde al umbral de audición, el cual es P0 = 0,0002µbar para un tono de 1KHz. El nivel de habla de una conversación a 90cm es aproximadamente 60 dB SPL, y el nivel de un martillo neumático es aproximadamente 120 dB SPL.. 2.1.3.. Producción de habla. Aqui se revisa el sistema humano básico de producción de lenguaje hablado. Articuladores El habla es producida por ondas de presión de aire emanadas de la boca y de las fosas nasales de un hablante. En la mayorı́a de los lenguajes del mundo, el inventario de fonemas, como se discute en la sección Fonemas de 2.1.3, puede ser dividido en dos clases básicas: consonantes — articulados en la presencia de constricciones en la garganta u obstruccioes en la boca (lengua, dientes, labios) mientras hablamos. vocales — articulados sin constricciones o restricciones mayores. La clasificación de sonidos pueden ser particionada después en subgrupos basados en ciertas propiedades articulatorias. Esas propiedades derivan de la anatomı́a de un puñado de articuladores importantes y los lugares donde tocan los lı́mites del tracto vocal humano. Adicionalmente, un gran número de músculos contribuyen a la posición y al movimiento del articulador. En la Figura 2.3 se muestra una vista esquemática de los articuladores mayores. Los componentes principales del aparato de producción del habla son los pulmones, la traquea, la laringe, la cavidad farı́ngea y la cavidad oral y nasal. Las cavidad farı́ngea y oral son referidas como el tracto vocal, y la cavidad nasal como el tracto nasal. Como se muestra en la Figura 2.3, el aparato humano de producción del habla consiste de: Pulmones: fuente de aire durante el habla. Cuerdas vocales (laringe): cuando los pliegues vocales se mantienen juntos y oscilan uno contra el otro durante un sonido de habla, el sonido se dice que es sonoro1 . Cuando los pliegues están muy flojos o muy apretados para vibrar periódicamente, el sonido es sordo2 . El lugar donde los pliegues vocales sen juntan es llamado glotis. 1 2. voiced en inglés unvoiced en inglés. 9.

(20) Velo (paladar suave): opera como una válvula, abriéndose para permitir el pasaje del aire (y por lo tanto la resonancia) a través de la cavidad nasal. Los sonidos producidos con el velo abierto incluyen la m y la n. Paladar duro: un superficie larga relativamente dura en la parte superior de la boca, la cual, cuando la lengua se apoya en contra, habilita la articulacion de consonantes. Lengua: articulador flexible, conformado lejos del paladar para las consonantes, colocado cerca del paladar u otras superficies duras para la articulación de consonantes. Dientes: otro lugar de articulación usado para tensar la lengua para ciertas consonantes. Labios: pueden ser redondeados o expandidos para afectar la calidad de las vocales, y cerrados completamente para parar el flujo de aire oral en ciertas consonantes (p,b,m).. Figura 2.3: Diagrama esquemático del aparato humano de producción de habla.. 10.

(21) Mecanismo de dicción Ls distinción más fundamental entre los tipos de sonido en el habla es la distinción sonoro/sordo. Los sonidos sonoros, incluyendo las vocales, tienen en su estructura de tiempo y frecuencia un “burdo” patrón regular, del cual sonidos sordos, p.e. consonantes como la s, carecen. Los sonidos sonoros, tı́picamente tienen más energı́a, como se muestra en la Figura 2.4. Aquı́ se aprecia la forma de onda de la palabra del inglés sees, la cual consiste de tres fonemas: una consonante sorda /s/, una vocal /iy/ y una consonante sonora /z/.. Figura 2.4: Forma de onda de sees. ¿Qué mecanismo produce esta distinción fundamental? Cuando los pliegues vocales vibran durante la articulación del fonema, el fonema es considerado sonoro, de cualquier otra manera es sordo. Las vocales son sonoras durante toda su duración. Los distintos timbres vocales son creados usando la lengua y los labios para dar forma a la cavidad principal de resonancia de muchas maneras. Los pliegues vocales vibran a una velocidad mayor o menor, variando desde 60 ciclos por segundo (Hz) para un hombre grande, hasta 300 Hz para una mujer pequeña o un niño. La velocidad de ciclo (abrir y cerrar) de los pliegues vocales en la laringe durante la fonación de los sonidos sonoros es llamada frecuencia fundamental. Esto es debido a que determina la frecuencia base para todas las frecuencias armónicas contribuidas por las cavidades farı́ngeal y oral. La frecuencia fundamental también contribuye más que ningún otro factor a la percepción de tono3 en el habla. 3. pitch en inglés. 11.

(22) Fonemas El término fonema es usado para denotar cualquiera de las unidades mı́nimas de lenguaje hablado (articulado) en un lenguaje que puede servir para distinguir una palabra de otra. Convencionalmente se usa el término fono para denotar la realización acústica de un fonema. Por ejemplo, el fonema inglés /t/ tiene dos diferentes realizaciones acústicas en las palabras sat y meter. Es mejor tratar cada realización como un diferente fonema [11]. El Cuadro 2.1 muestra una lista completa de los fonemas utilizados en el inglés americano. El conjunto de fonemas podrá diferir en la realización entre hablantes individuales. Pero los fonemas siempre funcionarán sistemáticamente para diferenciar significados en las palabras, asi como el fonema /p/ señala la palabra del inglés pat (palmada), opuesto a bat (murciélago), de sonido similar. El contraste entre este par de palabras es /p/ contra /b/. Vocales La forma de la lengua y su posición en la cavidad oral no forman una constricción mayor del flujo de aire durante la articulación de vocales. Sin embargo, variaciones en la colocación de la lengua dan a cada vocal su caracter distinto cambiando la resonancia. La energı́a primaria entrando en las cavidades farı́ngea y oral en la producción de vocales vibra a la frecuencia fundamental. Las resonancias mayores para las cavidades oral y farı́ngea son llamadas F1 y F2 — primera y segunda formantes, respectivamente. La relación de F1 y F2, cada una contra la otra, puede ser usada para describir las vocales (en inglés en este caso). Mientras que la forma del tracto vocal completo determina la salida espectral de una manera compleja y no lineal, generalmente F1 corresponde a la porción farı́ngea del cavidad, mientras que F2 se determina más por el tamaño y la forma de la porción oral. El mayor articulador para las vocales en inglés es la porción media a posterior de la lengua. Los movimientos lingüı́sticamente importantes son generalmente los rangos [frente ⇔ atrás] y [alto ⇔ bajo]. La Figura 2.5 muestra una caracterización esquemática de las vocales del inglés en términos de posición relativa de la lengua. Hay dos clases de vocales: aquellas en las que la altura de la lengua es representada como un punto, y aquellas en las que es representada como un vector. Aunque la lengua es el actor principal en la articulación de vocales, otros articuladores intervienen. El segundo mecanismo vocal más importante para el inglés y otros lenguajes es el redondeo de los labios. Aunque hay controversia, el estudio lingüı́stico de las abstracciones fonéticas, llamado fonologı́a, ha convergido en cinco caracterı́sticas binarias: +/- alto, +/- bajo, +/- frente, +/- atrás, +/- redondeo, más la caracterı́stica, fonéticamente ambiguo, pero fonológicamente útil, +/- tensión, como adecuadas para caracterizar las mayores distinciones de vocales en inglés (y muchos otros lenguajes). Obviamente, este sistema tiene especifi12.

(23) Fonema iy ih ae aa ah ao ay ax ey eh er ow aw oy uh uw b p d t t g k f v s z th dh sh zh l r y w hh m n ng ch jh. Ejemplo de palabra feel fill at father cut dog bite ago tape pet turn tone our coin book tool big put dig talk meter gut cut fork over sit lazy thin then she azure lid red yard with help mat no sing chin joy. Cuadro 2.1: Fonemas del idioma inglés utilizados para un sistema tı́pico de lenguaje hablado. 13.

(24) Figura 2.5: Posición relativa de la lengua en vocales del lenguaje inglés.[11] caciones contradictorias, como [+alto, +bajo], pero estas se excluyen para uso en casos reales. El Cuadro 2.2 muestra estas caracterı́sticas. Esta clase de análisis abstracto permite a los investigadores hacer declaraciones convenientes acerca de la clase de vocales que se comportan similarmente bajo ciertas condiciones. Por ejemplo, se podrı́a hablar simplemente de las vocales altas para indicar el conjunto /iy,ih,uh,uw/. Alófonos Las gráficas de fonemas (Cuadro 2.1) proveen sı́mbolos abstractos para referirse a los fonemas — distinciones mayores de sonido. Unidades fonémicas deben ser correlacionadas con distinciones potenciales de significado. Un ejemplo (en inglés), el cambio creado al mantener la lengua en alto y al frente (/iy/) contra directamente bajar de la posición (frontal) para /eh/, en el contexto consonante /m n/, corresponde a una importante distinción de significado para el léxico en inglés: mean (significar) /m iy n/ contra men (hombres) /m eh n/. Este contraste de significado, condicionado por un par de soni-. 14.

(25) Vocal iy ih ae aa ah ao ax eh ow uh uw. alto + + + +. bajo + + + -. frente + + + + -. atrás + + + +. redondeo + + -. tensión + + + + + + +. Cuadro 2.2: Descomposición fonológica (abstracta) de las vocales básicas del lenguaje inglés. dos similares, en un contexto idéntico, justifica la inclusión de /iy/ y /eh/ como entidades separadas. Sin embargo, uno de los sonidos fundamentales que distinguen significado es a menudo modificado en alguna manera sistemática por alguno de sus vecinos fonéticos. El proceso por el cual los sonidos vecinos influyen a otro sonido se llama coarticulación. Algunas veces, cuando las variaciones resultantes de procesos articulatorios pueden ser percibidos concientemente, los fonemas modificados son llamados alófonos. Uso de fonemas como unidad de reconocimiento Como seleccionar la unidad mı́nima básica para representar información acústica y fonética de una lenguaje es una cuestión importante al momento de diseñar un sistema de reconocimiento. A alto nivel, hay una número de puntos a considerar al escoger la unidad apropiada [11]: La unidad debe ser precisa, representar la realización acústica que aparece en diferentes contextos. La unidad debe ser entrenable, se deben tener suficientes datos para estimar los parámetros de la unidad. Aunque las palabras son precisas y representativas, son la última opción de entrenamiento, debido a que es casi imposible obtener varios miles de repeticiones para todas las palabras, a menos que se use un reconocedor especı́fico a un dominio, por ejemplo un reconocedor de dı́gitos. La unidad debe ser generalizable, de manera que una nueva unidad pueda ser derivada de una unidad predefinida. 15.

(26) En muchos idiomas, las palabras son tı́picamente consideradas como el principal portador de significado. Los modelos de palabras son precisos si existen suficientes datos disponibles, por lo tanto, son entrenables sólo para tareas pequeñas. Generalmente no son generalizables. Alternativamente, existen aproximadamente sólo 50 fonemas en el idioma inglés, y pueden ser lo suficientemente entrenados con unos cuantos cientos de enunciados. Al contrario de los modelos de palabras, los modelos fonéticos no tienen problema de entrenamiento. Más aún, por naturaleza también son independientes del vocabulario y pueden ser entrenados en una tarea y probados en otra. Ası́, los fonemas son más entrenables y generalizables. Sin embargo, el modelo fonético asume que un fonema en cualquier contexto es idéntico . A pesar de que se puede interpretar cada palabra como una secuencia concatenada de fonemas independientes, estos fonemas no se producen independientemente (coarticulación).[11] Ası́,la realización de un fonema es fuertemente afectada por sus fonemas vecinos. Un modelo fonético independiente del contexto debe considerar las diferentes realizaciones acústicas.. 2.2.. Predicción de series de tiempo. La predicción de series de tiempo es sinónimo con el modelado del mecanismo fı́sico subyacente responsable de su generación. Muchas de las señales fı́sicas encontradas en la práctica exhiben dos caracterı́sicas distintivas: son no lineales y son no estacionarias. Considérese, por ejemplo, el caso de la señales de voz. Es bien conocido que el uso de predicción juega un rol importante en el modelado y la codificación de señales de habla. Es conocido que la producción de una señal de habla es producida por un proceso dinámico que es tanto no lineal como no estacionario. [8]. El objetivo de la predicción de series de tiempo puede ser establecido resumidamente como sigue: dara una secuencia finita y(1), y(2), ..., y(N ), encontrar la continuación y(N +1), y(N +2) ... La serie puede surgir del muestreo de un sistema de tiempo continuo, y puede ser determinista o estocástico en su origen. Las aplicaciones de la predicción varian desde modelado de turbulencias hasta esquemas de modulación por diferencial de pulsos para telecomunicaciones. El enfoque estándar de predicción involucra construir un modelo subyacente que da lugar a la secuencia observada. En el método más antiguo y más estudiado, una autoregresión lineal (AR) es ajustada a los datos: y(k) =. T X. a(n)y(k − n) + e(k) = ŷ(k) + e(k). (2.3). n=1. Este modelo AR forma y(k) como una suma acumulada de valores pasados de la secuencia. El paso simple de predicción para y(k) está dado por ŷ(k) + e(k) [19]. 16.

(27) 2.3.. Redes neuronales artificiales. El principal propósito de todos los sistemas neuronales es el control centralizado de varias funciones biológicas. Hay mecanismos neuronales para los ritmos biológicos, funciones de emergencia, etc. Las funciones anteriores son comunes a la mayorı́a de los animales, y en las estructuras biológicas neuronales es posible incluso discernir varios sedimentos de las diferentes fases de la evolución. Por otro lado en los animales superiores, la mayor capacidad del sistema nervioso central está relacionada con el comportamiento, esto es, control del estado del organismo con respecto a su entorno, el cual implica muchas tareas diferentes gracias al encadenamiento de acciones elementales para conseguir un comportamiento social complicado. No obstante, cuando se habla de computación neuronal, normalmente sólo se tienen en mente las funciones sensoriales y motoras, ası́ como algún tipo de proceso interno llamado pensamiento. Todas esta funciones son interdependientes en un sentido u otro, pero puede ser posible conceptualizar alguna de ellas de una forma idealizada [9]. Los primeros teóricos que concibieron los fundamentos de la computación neuronal fueron Warren McCulloch, un neurofisiólogo, y Walter Pitts, un matemático, quienes, en 1943, lanzaron una teorı́a acerca de la forma de trabajar de las neuronas. Ellos modelaron una red neuronal simple mediante circuitos eléctricos. Otro importante libro en los inicios de la teorı́a de redes neuronales fue el escrito en 1949 por Donald Hebb, “La organización del comportamiento”, en el que se establece una conexión entre psicologı́a y fisiologı́a. En 1957, Frank Rosenblatt comenzó el desarrollo del Perceptrón. El Perceptrón es la más antigua red neuronal, y se usa hoy en dı́a de varias formas para la aplicación como reconocedor de patrones. Este modelo era capaz de generalizar; es decir, después de aprender una serie de patrones era capaz de reconocer otros similares, aunque no se le hubieran presentado anteriormente. En 1959, Bernard Widrow y Marcial Hoff, de Stanford, desarrollaron el modelo ADALINE (Adaptive Linear Elements). Esta fue la primera red neuronal aplicada a un problema real (filtros adaptativos para eliminar ecos en las lı́neas telefónicas). James Anderson desarrolló un modelo lineal, llamado Asociador Lineal, que consistı́a en unos elementos integradores lineales (neuronas) que sumaban sus entradas. En 1982, John Hopfield presentó su trabajo sobre redes neuronales en la Academia Nacional de las Ciencias, donde describe con claridad y rigor matemático una red a la que dió su nombre, pero, además, mostró cómo tales redes pueden trabajar y qué pueden hacer. Actualmente, son numerosos los trabajos que se realizan y publican cada año, las aplicaciones nuevas que surgen y las empresas que lanzan al mercado productos nuevos, tanto hardware como software (sobre todo para simulación) [9].. 17.

(28) 2.3.1.. Modelos conexionistas. El conexionismo puede ser descrito como el estudio de ciertas clases de arquitecturas masivas paralelas compuestas de un gran número de unidades simples de procesamiento similares, usadas para aprendizaje, y en las cuales mucho del conocimiento aprendido es asociado a las conexiones entre las unidades. Estas arquitecturas se inspiran de modelos biológicos y psicológicos, pero se aplican tanto a problemas de inteligencia artificial como de ingenierı́a. Aunque las redes neuronales artificiales y biológicas difieren significativamente en muchos aspectos, generalmente comparten caracterı́sticas como tolerancia a fallas, aprendizaje por ejemplos, procesamiento distribuido y almacenamiento asociativo de información [2]. Modelo de neurona Una neurona es la unidad de procesamiento de información fundamental para la operación de una red neuronal. El digrama de bloques de la Figura 2.6 muestra el modelo de una neurona, la cual forma la base para diseñar redes neuronales artificiales. Aquı́ se identifican tres elementos básicos del modelo neuronal: 1. Un conjunto de sinapsis o enlaces de conexión, cada uno de los cuales es caracterizado por un peso propio. Especı́ficamente, una señal xj en la entrada de la sinapsis j conectada a la neurona k es multiplicada por el peso sináptico wkj . 2. Un adicionador para sumar las señales de entrada, multiplicadas por el peso de las respectivas sinapsis de la neurona; las operaciones descritas aquı́ constituyen un combinador lineal. 3. Una función de activación para limitar la amplitud de la salida de una neurona. La función de activación también se refiere como función limitadora, ya que limita el rango de amplitud permitido para la salida de la neurona a algun valor finito. El modelo neuronal de la Figura 2.6 tambien incluye un sesgo aplicado externamente, denotado por bk . El sesgo bk tiene el efecto de incrementar o decrementar la entrada de la red de la función de activación, dependiente en si es positiva o negativa, respectivamente. Para mayor referencia revisar [7]. Arquitecturas de redes neuronales En general, se pueden identificar tres modelos fundamentales diferentes de arquitecturas de redes neuronales:. 18.

(29) Figura 2.6: Modelo de una neurona Redes neuronales monocapa con conexiones hacia adelante En una red neuronal las neuronas están organizadas por capas. En la forma más simple de red neuronal por capas, se tiene una capa de entrada de nodos fuente que proyectan en una capa de salida de neuronas (nodos de cálculo), pero no viceversa. En otras palabras, esta red es estrictamente con conexiones hacia adelante o acı́clica. Esto se ilustra en la Figura 2.7 para el caso de cuatro nodos ambas capas de entrada y salida. Esta red es llamada monocapa, con la denominación “monocapa” refiriéndose a la capa de salida de los nodos de cálculo (neuronas). No se consideran la capa de entrada porque no se efectúan cálculos en ella.. Figura 2.7: Red neuronal monocapa 19.

(30) Redes neuronales multicapa con conexiones hacia adelante La segunda clase se distingue a sı́ misma por la presencia de una o más capas ocultas, cuyos nodos de cálculo son correspondientemente llamados neuronas ocultas o unidades ocultas. La función de las neuronas ocultas es intervenir entre las entradas externas y la salida de la red de alguna manera útil. Agregando una o más capas ocultas, la red se habilita para extraer estadı́sticas de orden más alto. Los nodos fuente en la capa de entrada de la red suplen los elementos respectivos de los patrones de activación, los cuales constituyen las señales de entrada aplicadas a las neuronas en la segunda capa (i.e. primera capa oculta). Las señales de salida de la segunda capa son usadas como entradas para la tercera capa, y asi por el resto de la red. Tı́picamente las neuronas en cada capa de la red tienen como entrada solamente las salidas de la capa precedente. El conjunto de señales de salida de las neuronas de la capa de salida (final) de la red constituye la respuesta global de la red al patron de activación suplido por la capa de entrada. La Figura 2.8 ilustra el esquema de una red neuronal multicapa con conexiones hacia adelante para el caso de una sola capa oculta. Por brevedad, la red de la figura se refiere como una red 10-4-2 porque tiene 10 nodos de entrada, 4 neuronas ocultas y 2 neuronas de salida. Como otro ejemplo, una red con m nodos de entrada, h1 neuronas en la primera capa oculta, h2 en la segunda capa oculta, y q neuronas en la capa de salida, es referida como una red m-h1 -h2 -q. La red neuronal de la Figura 2.8 se dice que es totalmente conectada en el sentido de que cada nodo en cada capa de la red es conectada a todos los nodos de las capas adyacente. Si algunos de los enlaces (conexiones sinápticas) falta, se dice que la red es parcialmente conectada. Redes neuronales recurrentes Una red neuronal recurrente se distingue de una red con conexiones hacia adelante en que tiene al menos un lazo de retroalimentación. Por ejemplo, una red recurrente puede consistir de una capa única de neuronas con cada neurona alimentando su salida a las entradas de las otras neuronas, como se ilustra en la Figura 2.9. Esta red no tiene neuronas ocultas. La Figura 2.10 ilustra otra clase de red neuronal recurrente con neuronas ocultas. Las conexiones de retroalimentación se originan de las neuronas ocultas, asi como de las neuronas de salida. Para una descripción más detallada de modelos conexionistas referirse a [7], [5], [12], [9].. 2.3.2.. Representación de conocimiento. Tı́picamente, las posibles formas de representación de las entradas a los parámetros internos son muy diversas, lo cual tiende a hacer el desarrollo de una solución satisfactoria por medio de una red neuronal un reto de diseño. 20.

(31) Figura 2.8: Red neuronal multicapa Una tarea mayor para una red neuronales aprender el modelo del mundo (ambiente) en el cual está embebida y mantener el modelo lo suficientemente consistente con el mundo real. El conocimiento del mundo consiste de dos tipos de información: 1. El estado del mundo conocido, representado por hechos acerca de que es y que ha sido conocido; esta forma de conocimiento se refiere como información a priori (previa). 2. Observaciones (medidas) del mundo, obtenidas por medio de sensores diseñados para probar el ambiente en el cual la red neuronal va a operar. En cualquier evento, las observaciones obtenidas proveen el lote de información del cual los ejemplos usados para entrenar la red neuronal son tomados. Los ejemplos pueden ser marcados o sin marcar. En los ejemplos marcados, cada ejemplo representando una señal de entrada se relaciona con una respuesta deseada (i.e. salida objetivo). Por otro lado, los ejemplos no marcados consiste de diferentes realizaciones de la señal de entrada por sı́ misma. En cualquier evento, un conjunto de ejemplos, marcados o no, representan conocimiento acerca del ambiente de interés que una red neuronal puede aprender a través de entrenamiento. Un conjunto de pares entrada-salida, cada uno consistiendo de una señal de entrada y la salida deseada correspondiente, se refiere como conjunto de datos de entrenamiento or 21.

(32) Figura 2.9: Red neuronal recurrente muestra de entrenamiento. Dado un conjunto de datos de entrenamiento, el diseño de la red neuronal procede como se indica: Primero, se selecciona una arquitectura apropiada para la red neuronal, con una capa de entrada consistiendo de nodos fuente en número igual al número de ejemplos de entrada. Un conjunto de datos de entrada se selecciona para entrenar la red por medio de un algoritmo adecuado. Esta fase del diseño de la red se conoce como aprendizaje. Segundo, el desempeño de reconocimiento de la red entrenada es probado con un conjunto de datos no presentados previamente. El desempeño de la red se determina comparando la salida dada con la salida deseada. Esta segunda fase de la operación de la red se llama generalización. Aquı́ se encuentra una diferencia fundamental entre el diseño de una red neuronal y su contraparte clásica de procesamiento de información (clasificador de patrones). En el segundo caso, usualmente se procede primero formulando un modelo matemático de observaciones ambientales, validando el modelo con datos reales, y después construyendo el diseño en la base del modelo. En contraste, el diseño de la red neuronal es basado directamente en datos reales, permitiendo “que los datos hablen por si mı́smos”. Ası́, la 22.

(33) Figura 2.10: Red neuronal recurrente red neuronal no sólo provee el modelo implı́cito del ambiente en el que está embebido, sino que también desempeña la función procesamiento de información de interés. En una red neuronal de determinada arquitectura, la representación del conocimiento del ambiente circundante es definido por los valores tomados por los parámetros libres (i.e. pesos sinápticos y sesgos) de la red. La forma de esta representación del conocimiento constituye el diseño de la red neuronal en sı́, y por lo tanto es la clave para su desempeño. El tema de la representación de conocimiento dentro de una red neuronal artificial es, sin embargo, muy complicado. Aún ası́, hay cuatro reglas para representación del conocimiento que son de sentido común [7]. Regla 1 Entradas similares de clases similares deben usualmente producir representaciones similares dentro de la red, y deben, por lo tanto, ser clasificadas como pertenecientes a la misma categorı́a. Regla 2 Elementos a ser categorizados como clases separadas deben tener representaciones diferentes en la red. Esta regla es la opuesta exacta de la Regla 1. Regla 3 Si una caracterı́stica particular es importante, entonces debe haber un gran número de neuronas involucradas en la representación de ese elemento en la red.. 23.

(34) Regla 4 Información previa e invariancias deben ser construidas en el diseño de la red neuronal, simplificando ası́ el diseño de la red al no tener que aprenderlas.. 2.3.3.. Aprendizaje. Existen muchas definiciones del concepto general de aprendizaje, una de ellas podrı́a ser: La modificación del comportamiento inducido por la interacción con el entorno y como resultado de experiencias conducente al establecimiento de nuevos modelos de respuesta a estı́mulos externos. Esta definición fue enunciada muchos años antes de que surgieran las redes neuronales, sin embargo puede ser aplicada también a los procesos de aprendizaje de estos sistemas [9]. Biológicamente, se suele aceptar que la información memorizada en el cerebro está más relacionada con los valores sinápticos de las conexiones entre las neuronas que con ellas mismas; es decir, el conocimiento se encuentra en las sinapsis. En el caso de las redes neuronales artificiales, se puede considerar que el conocimiento se encuentra representado en los pesos de las conexiones entre las neuronas. Todo proceso de aprendizaje implica cierto número de cambios en estas conexiones. En realidad, puede decirse que se aprende modificando los valores de los pesos de la red [9]. Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren modificaciones, por tanto se puede afirmar que este proceso ha terminado (la red ha aprendido) cuando los valores de los pesos permanecen estables (dwij /dt = 0). Un aspecto importante respecto al aprendizaje en las redes neuronales es el conocer cómo se modifican los valores de los pesos; es decir, cuáles son los criterios que se siguen para cambiar el valor asignado a las conexiones cuando se pretende que la red aprenda una nueva información. Estos criterios determinan lo que se conoce como la regla de aprendizaje de la red. De forma general, se suele considerar dos tipos de reglas: las que responden a lo que habitualmente se conoce como aprendizaje supervisado, y las correspondientes a un aprendizaje no supervisado. La diferencia fundamental entre ambos tipos estriba en la existencia o no de un agente externo (supervisor) que controla el proceso de aprendizaje de la red,. El aprendizaje supervisado se caracteriza porque el proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente externo (supervisor) que determina la respuesta que deberı́a generar la red a partir de una entrada determinada. El supervisor comprueba la salida de la red y en el caso de que ésta no coincida con la deseada, se procederá a modificar los pesos de las conexiones, con el fin de conseguir que la salida obtenida se aproxime a la deseada. La modificación de los pesos es a menudo basada en la regla de Hebbian, la cual indica que un enlace entre dos unidades es reforzado si ambas unidades están activas al. 24.

(35) mismo tiempo [20]. La regla de Hebbian en su forma general es: ∆wij = g(aj (t), tj )h(oi (t), wij ). (2.4). donde: wij es el peso del enlace de la neurona i a la neurona j aj (t) es la función de activación de la neurona j en el paso t tj es la entrada de aprendizaje, en general la salida deseada de la neurona j oi (t) es la salida de la neurona i en el tiempo t g(· · ·) función, dependiendo dela activación de la neurona y la entrada de aprendizaje h(· · ·) función, dependiendo de la salida del elemento precedente y el peso actual del enlace Entrenar una red con conexiones hacia adelante con aprendizaje supervisado consiste en el siguiente procedimiento: Un patrón de entrada se presenta a la red. La entrada se propaga entonces en la red hasta que la activación alcanza la capa de salida. Esto constituye las fase de propagación hacia adelante. La salida de la capa de salida se compara entonces con la entrada de entrenamiento. El error, i.e. la diferencia (delta) δj entre la salida oj y la entrada de entrenamiento tj de una neurona de salida j determinada se usa entonces con la salida oi de la unidad de origen i para calcular los cambios necesarios a la conexión wij . Para calcular las deltas de las unidades internas para las que no hay entrada de entrenamiento disponible (neuronas de las capas ocultas), las deltas de la capa siguiente, que ya están calculadas, se usan en la fórmula presentada abajo. En esta forma los errores (deltas) se propagan hacia atrás, ası́ que esta fase se llama propagación hacia atrás. En aprendizaje en lı́nea, los cambios de los pesos ∆wij se aplican a la red después de cada patrón de entrenamiento, i.e. despues de cada pasada hacia adelante y hacia atrás. En aprendizaje fuera de lı́nea o por lotes, los cambios en los pesos se acumulan para todos los patrones del conjunto de datos de entrenamiento, y la suma de todos los cambios se aplica después de un ciclo completo (época) de los patrones de los datos de entrenamiento. El algoritmo más conocido de aprendizaje es actualmente backpropagation (propagación hacia atrás). La regla de actualización de pesos de backpropagation, también llamada regla delta generalizada es como sigue:. 25.

(36) (2.5). ∆wij = ηδj oi (. δj =. fj0 (netj )(tj − oj ) si la unidad j es una neurona de salida P fj0 (netj ) k δk wjk si la unidad j es una neurona oculta. (2.6). donde: η es un factor de aprendizaje (una constante) δj es el error (diferencia entre la salida real y la entrada de entrenamiento de la neurona j tj entrada de entrenamiento de la neurona j oi salida de la neurona predecesora i i ı́ndice de un predecesor a la neurona actual j con una conexión wij de i a j. j ı́ndice de la neurona actual k ı́ndice de un sucesor de la neurona actual j con enlace wjk de j a k Detección de caracterı́sticas Las neuronas ocultas juegan un rol crı́tico en la operación de una red multicapa con aprendizaje backpropagation porque actúan como detectores de caracterı́sticas. A medida que el proceso de aprendizaje progresa, las neuronas ocultas empiezan gradualmente a “descubrir” las caracterı́sticas salientes que caracterizan a los datos de entrenamiento. Hacen esto desarrollando una transformación no lineal de los datos de entrada en un nuevo espacio llamado espacio oculto, o espacio de caracterı́sticas. En est espacio las clases de interés en una tarea de clasificación, por ejemplo, pueden ser más fácilmente separadas [7]. Aproximación de funciones Una red multicapa entrenada con el algoritmo backpropagation puede ser vista como un vehı́culo práctico para desempeñar un mapeo no lineal de entradas a salidas de una naturaleza general. Más especı́ficamente, m0 denota el número de nodos de entrada de una red multicapa, y M = mL el número de neuronas en la capa de salida de la red. La relación entrada-salida de la red define un mapeo de un espacio euclideano m0 -dimensional a otro espacio euclideano M -dimensional de salida, el cual es diferenciable continuamente infinitamente cuando la función de activación es asimismo. 26.

(37) El teorema de aproximación universal para una mapeo no lineal de entradas a salidas se define como: Sea ϕ(·) una función monótona incremental continua, no constante, acotada. Im0 denota el hipercubo unitario m0 dimensional [0, 1]m0 . El espacio de funciones contı́nuas en Im0 se denota por C(Im0 ). Entonces, dada cualquier función f 3 C(Im0 ) y  > 0, existe un entero m1 y conjuntos de constantes reales αi ,bi y wij , donde i = 1, · · · , m1 y j = 1, · · · , m0 tal que podemos definir. F (x1 , · · · , xm0 ) =. m1 X. . αi ϕ . i=1. m0 X. . wij xj + bi . (2.7). j=1. como una realización aproximada de la función f (·); esto es. |F (x1 , · · · , xm0 ) − f (x1 , · · · , xm0 )| < . (2.8). para todo x1 , x2 , · · · , xm0 que estén en el espacio de entrada. El teorema de aproximación universal es directamente aplicable a las redes multicapa. Se nota que la función logı́stica 1/[1 + e−v ] usada comúnmente como función de activación es de hecho un función incremental monótona continua, no constante y acotada; por lo tanto satisface la condición impuesta a la función ϕ(·). También se nota que la ecuación 2.8 representa la salida de una red multicapa descrita como sigue: 1. La red tiene m0 nodos de entrada y una capa oculta única consistente de m1 neuronas; las entradas se denota por x1 , · · · , xm0 . 2. La neurona oculta i tiene pesos sinápticos wi1 , · · · , wm0 y sesgo bi . 3. La salida de la red es una combinación lineal de las salidas de las neuronas ocultas, con α1 , · · · , αm1 definiendo los pesos sinápticos de la capa de salida. El teorema de aproximación universal es un teorema de existencia en el sentido de que provee la justificación matemática para la aproximación de una función continua arbitraria como opuesto a una representación exacta.. 27.

(38) 2.3.4.. Tipo de asociación entre las informaciones de entrada y salida. Las redes neuronales son sistemas que almacenan información aprendida; esta información se registra de forma distribuida en los pesos asociados a las conexiones entre neuronas. Por tanto, puede imaginarse una red como cierto tipo de memoria que almacena unos datos de forma estable, datos que se grabarán en dicha memoria como consecuencia del aprendizaje de la red y que podrán ser leı́dos a la salida como respuesta a cierta información de entrada, comportándose entonces la red como lo que habitualmente se conoce por memoria asociativa; es decir, cuando se aplica un estı́mulo (dato de entrada) la red responde con una salida asociada a dicha información de entrada [9]. Existen dos formas primarias de realizar esta asociación entre entrada/salida que se corresponden con la naturaleza de la información almacenada en la red. Una primera serı́a la denominada heteroasociación, que se refiere al caso en el que la red aprende parejas de datos [(A1 , B1 ), (A2 , B2 ), · · · , (AN , BN )], de tal forma que cuando se presente cierta información de entrada Ai , debera responder generando la correspondiente salida asociada Bi . La segunda se conoce como autoasociación, donde la red aprende ciertas informaciones A1 , A2 , · · · , AN , de tal forma que cuando se le presenta una información de entrada realizará una autocorrelación, respondiendo con uno de los datos almacenados, el mas parecido al de entrada. Estos dos mecanismos de asociación dan lugar a dos tipos de redes neuronales: las redes heteroasociativas y las autoasociativas. Una red heteroasociativa podrı́a considerarse aquella que computa cierta función, que en la mayorı́a de los casos no podrá expresarse analı́ticamente, entre un conjunto de entradas y un conjunto de salidas, correspondiendo a cada posible entrada una determinada salida. Por otra parte, una red autoasociativa es una red cuya principal misión es reconstruir una determinada información de entrada que se presenta incompleta o distorsionada (le asocia el dato almacenado más parecido).. 2.3.5.. Predicción de series de tiempo utilizando redes neuronales. El uso de redes neuronales para la predicción de series de tiempo no es nuevo. En general, considerando que una red neuronal puede considerarse como un aproximador universal, y teniendo suficientes datos de entrenamiento, se puede entrenar una red neuronal como predictor de series de tiempo. El enfoque más común es predecir el valor f (t+1) de la función utilizando los valores f (t), f (t−1), · · · , f (t−k), donde f (t+1) es el valor de salida de la red neuronal y f (t), f (t− 1), · · · , f (t−k) son los valores de entrada a la red. Para entrenamiento se utilizan muestras conocidas de la señal. Aunque en este trabajo se utiliza una red backpropagation para predicción, existen redes neuronales especializadas para este tipo de tarea: PRNN [1], FIR [19], y TDNN. 28.

(39) 2.3.6.. Clasificación por medio de redes neuronales. Cuando se desarrolla una red para realizar una tarea de clasificación de patrones, se suele proceder reuniendo un conjunto de ejemplares que serán utilizados durante la fase de aprendizaje o entrenamiento de la red. Durante esta etapa, la información es registrada en el sistema mediante el ajuste de los valores de los pesos de las conexiones entre las neuronas. Una vez concluido el aprendizaje, la red está lista para funcionar y no se permite ningún cambio adicional de los pesos. Este procedimiento es factible si el problema que se pretende resolver por la red está bien limitado y puede definirse un adecuado conjunto de informaciones de entrada que permitan entrenar a la red para resolver el problema. Sin embargo, en muchas situaciones reales los problemas a resolver no tienen unos lı́mites claros.. 2.3.7.. SNNS. SNNS (Stuttgart Neural Network Simulator) es un simulador para redes neuronales desarrollado en el Instituto de Sistemas Paralelos y Distribuidos de Alto Desempeño (Institut für Parallele und Verteilte Höchstleisungsrechner, IPVR) en la Universidad de Stuttgart desde 1989. El objetivo del proyecto es crear un ambiente eficiente y flexible de simulacion para investigación y aplicación de redes neuronales [20]. La implementación de este proyecto utiliza este simulador como base.. 29.

(40) Capı́tulo 3. Arquitectura de reconocimiento de fonemas utilizando predicción de series de tiempo en agrupaciones de redes neuronales En este capı́tulo se describe la propuesta para el sistema reconocedor de fonemas usando clusters . La arquitectura propuesta consiste de dos etapas: una etapa de predicción de series de tiempo, con un cluster por fonema, y una etapa de clasificación, que, tomando la salida de la primera etapa, identifica una señal de entrada como un fonema determinado. En las siguientes secciones se explica a detalle cada etapa del sistema reconocedor.. 3.1.. Predicción de series de tiempo. La arquitectura supone que una red neuronal entrenada para un fonema especı́fico tendrá un error total mı́nimo para una señal correspondiente al fonema para el cual se entrenó la red, y un error total mayor para una señal correspondiente a otro fonema. La predicción se realiza tomando una ventana de n muestras de la señal como entrada para la red neuronal y en base a estas calcular la muestra posterior, Figura 3.1. Después se recorre la ventana una muestra y se calcula la muestra siguiente. El error total se calcula sumando el cuadrado de las diferencias de cada muestra de la señal original contra la señal predicha. Es decir, se toma el valor de cada muestra de la señal original, se resta del valor de la muestra correspondiente en la señal predicha y esta resta se eleva al cuadrado. El error total, representado por ε será la sumatoria de estos cuadrados. ε=. n X. (Sok − Spk )2. k=1. donde: So corresponde a la señal original, 30.

(41) Figura 3.1: Predicción de series de tiempo utilizando una red neuronal Sp es la señal predicha, Sok , Spk es la muestra k de cada una de las señales, n es el número total de muestras de la señal de entrada. Para clarificar esto, tomemos las señales de la Figura 3.2, donde se grafican dos señales sobrepuestas. Una de las señales indica So y la Sp (para efectos de ejemplo, el orden es indistinto). Como se puede apreciar, hay diferencias entre las muestras k de cada señal. Dos señales muy similares, tendrán errores muy pequeños, mientras que dos señales diferentes, tendrá errores grandes. En la Figura 3.3 se grafica la diferencia por muestra elevada al cuadrado. El error total ε para esta señal predicha será el área total de esta gráfica.. 3.1.1.. Arquitectura de cada cluster. Para cada fonema que se desee clasificar habrá un cluster de redes neuronales. 31.

(42) Figura 3.2: Comparación de señal original y señal predicha Cada cluster está formado por 2m redes neuronales, donde m es el número de divisiones que se hicieron durante el entrenamiento (Ver 3.1.2). Cada una de estas redes está especializada en un contexto determinado para el fonema entrenado. Cada red neuronal del cluster actúa como un predictor de series de tiempo para la misma señal de entrada. Al estar especializada cada red en un contexto especı́fico, la señal predicha por cada una dará un error total ε distinto. Un ejemplo de un cluster con 4 redes neuronales se ve en la Figura 3.4.. 3.1.2.. Entrenamiento. Existe un cluster por cada fonema. Aquı́ sólo se explicará el entrenamiento para un cluster . El método es extensivo para los demás. Al inicio del entrenamiento, sólo existe una red neuronal en el cluster . Esta red neuronal se entrena con los datos de entrenamiento. Cada conjunto de datos de entrenamiento 32.

(43) Figura 3.3: Gráfica del error cuadrado por muestra consiste de varios archivos conteniendo fonemas digitalizados. Para entrenar la red neuronal, se toma una ventana de i muestras de una señal como entradas para la red, se toma el valor t + 1 de la señal como salida y se entrena la red para estos valores, luego se recorre la ventana una muestra y se repite el proceso. Esto se hará tantas veces como archivos haya en el conjunto de datos de entrenamiento y hasta que se logre convergencia en el entrenamiento de la red. Después se probará cada archivo de fonema secuencialmente y se medirá el error total. Hasta aquı́ se considera una iteración del entrenamiento. Si se desea aumentar el número de redes neuronales para el fonema, en este momento se hace un ordenamiento ascendentede los archivos según la magnitud del error, y se particionan en dos subconjuntos, tomando como criterio el ordenamiento, es decir, la mitad superior será un subconjunto y la mitad inferior será otro subconjunto. En seguida se generan dos redes neuronales y cada una se entrena con cada subconjunto creado, siguiendo el proceso del párrafo anterior. La red anterior se desecha. Para cada red neuronal se puede repetir el proceso (Figura 3.5). Esto irá generando 2m redes neuronales por iteración, donde la iteración se considera el momento antes de particionar el conjunto de datos de entrenamiento. La razón de particionar los datos de prueba es ir generando redes neuronales más especializadas en determinados datos, y al utilizar a la misma red como elemento que proporciona el criterio para particionar, se logra un agrupamiento automático de señales parecidas. El criterio utilizado, como se comentó, es el error total por archivo de entrenamiento. 33.

(44) Figura 3.4: Arquitectura de cluster. Figura 3.5: Diagrama de entrenamiento Es obvio que el número de particiones dependerá del número de archivos de fonemas disponibles para el entrenamiento. El número máximo de particiones mmax será:. mmax = blog2 ac. (3.1). donde a es el número de archivos disponibles para entrenamiento.. 3.1.3.. Arquitectura primera etapa. La primera etapa de reconocimiento consiste de l clusters , habiendo un cluster entrenado por fonema que se quiera clasificar. Cuando se quiere reconocer un fonema cualquiera, se presenta como entrada a todos los clusters simultáneamente. Cada cluster entre34.

(45) gará un error ε por cada red neuronal contenida en el. Esta serie de errores son la entrada para la segunda etapa.. 3.2.. Segunda Etapa. La segunda etapa consiste en identificar el fonema de acuerdo a la salida de la etapa uno. Esta etapa consiste de una red neuronal que tiene como entradas toda la serie de errores que la etapa uno arroja como salida. Esta etapa tiene tantas salidas como fonemas se deseen clasificar, activando sólo una a la vez, indicando el fonema al que pertenece el patrón de errores de entrada Figura 3.6.. Figura 3.6: Diagrama de clasificación. 35.

(46) Capı́tulo 4. Experimentación y resultados A continuación se presentan los experimentos realizados para verificar la eficiencia del sistema de reconocimiento. Primeramente se presenta el ambiente de reconocimiento y los datos seleccionados para entrenar y probar. Después se dan los resultados y se muestran gráficamente las mejoras del uso de clusters .. 4.1.. Datos de entrenamiento y prueba. Para entrenar el modelo de reconocimiento se utilizó la base de datos de voz DARPA TIMIT [18]. La base de datos DARPA TIMIT fué diseñada para proveer datos de habla fonéticos acústicos para el desarrollo y evaluación de sistemas automáticos de reconocimiento de voz. Consiste en las pronunciaciones de 630 hablantes que representan los mayores dialectos de Inglés Norteamericano. Se utilizó la base de datos TIMIT debido a que provee la información necesaria para distinguir cada fonema dentro de los archivos de voz. Se seleccionaron cuatro fonemas, los más alejados entre sı́ de acuerdo a la Figura 2.5. Estos fonemas son /iy/, /uw/, /ae/ y /aa/. Adicionalemente se hizo otro experimento agregando el fonema /eh/. Para la fase de entrenamiento se escogieron 250 muestras de cada fonema para entrenar el sistema. Para la fase de prueba, se escogieron 100 fonemas distintos de los del entrenamiento.. 4.2.. Arquitectura utilizada. Se hicieron 16 experimentos. Para todos los casos, la primera etapa consistió de clusters con redes backpropagation 7-50-1. Se hicieron experimentos con 1,2,4,8,16,32 redes neuronales por cluster . Para la segunda etapa se utilizaron redes e-100-100-4 y e-200-200-4,. 36.

Figure

Figura 2.1: Arquitectura b´asica de un sistema de reconocimiento del habla.
Figura 2.2: Representaci ´on del sonido
Figura 2.3: Diagrama esquem´atico del aparato humano de producci ´on de habla.
Figura 2.4: Forma de onda de sees.
+7

Referencias

Documento similar

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

La determinación molecular es esencial para continuar optimizando el abordaje del cáncer de pulmón, por lo que es necesaria su inclusión en la cartera de servicios del Sistema

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y