Archivo por meses: abril 2016

El Deep Learning revoluciona las tecnologías del habla

Hablar e interactuar con las máquinas en cualquier idioma ha sido  uno de los objetivos de los expertos en tecnologías del lenguaje. No es algo nuevo, pero cada vez más este tipo de tecnologías se está extendiendo a nivel de usuario.

La nueva generación de sistemas de reconocimiento del habla y también de procesado del lenguaje natural ya han empezado a llegar a los usuarios a través de mejoras en los asistentes personales (por ejemplo Apple Siri, Google Now, Microsoft Cortana) o mediante nuevos productos como el traductor de voz de Skype o el altavoz inteligente Amazon Echo.

grafico 1

Fig. 1: Esquema genérico de una red neuronal

El Deep Learning (los algoritmos que intentan reproducir las mecánicas del cerebro humano en la codificación y decodificación de mensajes y permiten el auto aprendizaje) no es más que la evolución de las clásicas redes neuronales. Pero su uso masivo parece estar reinventando el desarrollo y la investigación en diversos ámbitos como el tratamiento de la imagen, el procesado del lenguaje y las tecnologías del habla. Las redes neuronales son sistemas de aprendizaje que utilizan unidades matemáticas relativamente sencillas, denominadas neuronas, que trabajan interconectadas, creando así varias capas (ver Fig. 1). Estas capas permiten diferentes niveles de abstracción y, en cierto modo, un aprendizaje más parecido al humano. Esto contrasta con las técnicas utilizadas hasta el momento, como las estadísticas, donde se aprende de los datos, al igual que con Deep Learning, pero sin considerar abstracciones.

Las redes neuronales existen desde los años 50, pero ahora funcionan

Una pregunta común es por qué las redes neuronales artificiales (una técnica matemática que se remonta a los años 50) son ahora tan populares. De hecho, en 1969, Minsky & Papert definieron claramente las limitaciones de las mismas, incluyendo por un lado que las redes de una sola capa son incapaces de computar la función XOR entre dos condiciones (el resultado es verdad sólo si uno de las dos es verdad pero no ambas, ej. Juan es alto o bajo); y, por otro lado, que la capacidad computacional del momento no era suficiente para procesar redes neuronales de varias capas. El problema del entrenamiento de la función XOR se solucionó con el algoritmo de propagación inversa (Rumlelhart et al, 1986) y la capacidad computacional ha mejorado enormemente con el uso de las GPUs (Graphical Processing Units) que permiten hacer cientos operaciones al mismo tiempo. Esto sin olvidar que en 2006 se alcanzó un hito importante, que marcó la introducción del concepto Deep Learning, cuando se consiguió una manera efectiva de entrenar redes neuronales muy profundas (esto es, de varias capas) (Hinton et al., 2006). Actualmente, los algoritmos neuronales avanzan con tal rapidez que las arquitecturas particulares que hoy son efectivas puede que mañana se remplacen en beneficio de otras, lo que significa que hablamos de un campo en continua evolución.

El Uso de Deep Learning en aplicaciones del habla

De forma natural, las redes neuronales se han convertido en una herramienta para el aprendizaje automático. Así pues, las arquitecturas de múltiples capas con variedad de tipologías de redes se han utilizado satisfactoriamente para técnicas de clasificación o predicción. Recientemente este aprendizaje automático ha cruzado fronteras y ha conquistado otras áreas, de manera que el reconocimiento de voz o la traducción automática se pueden plantear como problemas de aprendizaje automático solucionables mediante determinadas arquitecturas neuronales. Veamos qué arquitecturas neuronales han resultado efectivas para campos de las tecnologías del habla como reconocimiento de voz, traducción automática y síntesis de voz.

Reconocimiento de voz y su salto de calidad

En los últimos años, los algoritmos de Deep Learning han sido la clave para obtener un salto muy significativo en las prestaciones de los sistemas de reconocimiento automático del habla. Las redes neuronales han mostrado ser una herramienta versátil capaz de modelar todos los aspectos acústicos, fonéticos y lingüísticos asociados con esta tarea. Los complejos sistemas tradicionales basados en una multitud de componentes específicos han sido ya sustituidos por estructuras genéricas de gran versatilidad y mayores prestaciones. Y año a año siguen apareciendo nuevas arquitecturas basadas únicamente en redes neuronales recurrentes (Karparthy, 2014) con mejoras significativas en la tasa de acierto.

Puede que estos nuevos sistemas no aporten conocimiento sobre la complejidad del problema, pero sí han ayudado a resolverlo. Ahora sabemos construir máquinas con una capacidad sorprendente de aprender, a partir de ejemplos, modelos tan complejos como los implicados en el reconocimiento del habla.

Traducción de texto en un solo paso

lfuentdest

Fig. 2: Auto-codificador

La traducción de texto mediante Deep Learning pasa de un lenguaje fuente a un lenguaje destino mediante una estructura de auto-codificador (Cho, 2015) (ver Fig. 2): un codificador aprende una representación (M) de los datos de entrada (lenguaje fuente, S) para luego decodificarlos a datos de salida (lenguaje destino, T).  Este auto-codificador se entrena con textos traducidos. Las palabras fuente se mapean a un espacio reducido (ver Fig. 3). Esta operación permite reducir el vocabulario y aprovechar sinergias entre palabras similares (en términos morfológicos, sintácticos y/o semánticos). Esta nueva representación de palabras se codifica en un vector resumen (una representación del lenguaje fuente que tenemos que decodificar al lenguaje destino) utilizando una red neuronal recurrente. Este tipo de redes tiene la ventaja de que ayuda a encontrar las palabras más precisas en función del contexto. La decodificación se realiza siguiendo los pasos inversos al codificador.

Recientemente, se han aplicado mejoras a esta arquitectura mediante un mecanismo de atención que permite utilizar el contexto de la palabra que está siendo traducida en lugar de usar toda la oración como tal.

grafico2

Fig. 2: Mapeado ilustrativo de palabras

 

Síntesis de voz con entonación natural en contextos largos

En la síntesis de voz se transforman frases escritas en una de las posibles formas correctas de leerlas. La tecnología más madura hasta ahora concatena segmentos pregrabados. Sin embargo, en la última década se han realizado avances en síntesis estadística (tecnología tradicional), que modela la voz mediante parámetros que definan el discurso oral (por ejemplo, las pausas o la entonación) y son aprendidos estadísticamente. Dada una frase, se seleccionan los modelos adecuados a sus fonemas y un algoritmo de generación produce lo que finalmente se transforma en la voz. Una de las primeras aplicaciones de Deep Learning ha sido generalizar la definición de los contextos: en la síntesis estadística, se define un fonema preciso según el contexto. En cambio, a través de Deep Learning, es posible encontrar los parámetros adecuados sin una definición explícita de contextos (Zen et al., 2013).

Recientemente se han utilizado redes neuronales recurrentes que modelan secuencias temporales: el propio sistema de aprendizaje aprende la continuidad del habla. Concretamente, las redes recurrentes denominadas LSTM (long short-term memory) facilitan el aprendizaje de elementos como la entonación de una pregunta o la lectura de frases relativas, que se producen en contextos de lectura largos.

Tanto los sistemas tradicionales estadísticos como los actuales no realizan una lectura que muestre todavía la comprensión del texto. Ambos basan su aprendizaje en tres elementos: algoritmos, datos y capacidad de cálculo. Los enormes avances en tratamiento de Big Data, en capacidad para ejecutar cálculos complejos y múltiples operaciones simultáneas abren nuevas perspectivas para el Deep Learning. Aumentando los datos observables y la capacidad de cálculo, ¿Podrá este paradigma modelar los intrincados procesos mentales que utilizamos en la lectura?

Lo que queda por ver

Para los escépticos, los que vieron fracasar las redes neuronales en los 80 (precursoras del actual Deep Learning) conviene explicar que las mejoras alcanzadas con las nuevas técnicas neuronales ya se han materializado en la calidad de los sistemas del habla y son revolucionarias (LeCun et al., 2015). Por ejemplo, en reconocimiento de voz se han conseguido reducciones de la tasa de error cercanas al 10% (ver TIMIT). Además, el hecho de que no se necesite diseñar las funciones que caracterizan un problema, ya que se aprenden automáticamente, ha permitido, sólo en el campo de las tecnologías del habla, ampliar retos, como son el reconocimiento de voz end-to-end (aprende una única función que permite el paso directo de voz a texto) (Hannun et al., 2014), traducción multilingüe (Firat et al., 2016), y multimodal (imagen y texto) (Elliot et al., 2015)

De izquierda a derecha: José A. R. Fonollosa, Marta R. Costa-jussà y Antonio Bonafonte.

En el Centro de Tecnologías del Lenguaje y del Habla (TALP UPC) somos pioneros en el desarrollo de la línea de investigación  sobre la granularidad de caracteres (Costa-jussà & Fonollosa, 2016). Esta técnica permite aprender la traducción de texto detectando subsecuencias de palabras con significado, como prefijos o sufijos, y reduciendo el tamaño del vocabulario. Esto aporta un alto nivel de generalización especialmente para lenguas morfológicamente flexibles, aportando un alto beneficio en la calidad de la traducción.

Puede ser que volvamos a alcanzar ciertos límites en las redes neuronales, pero estas arquitecturas ya han abierto nuevos horizontes tanto para la investigación como para una amplio abanico de aplicaciones, desde el “simple” diseño de una máquina capaz de vencer en el popular juego japonés GO, hasta el fuerte impacto que puede significar en sectores en crecimiento como la inteligencia artificial (IA), internet of things (IoT), social computing, o el reconocimiento de imagen además de los ya mencionados. Nos asomamos a la implementación de las redes neuronales en ámbitos como la industria aerospacial, la educación, las finanzas, la defensa, el e-commerce o la salud (diagnósticos, prescripción de medicamentos). Afrontamos algunas innovaciones tecnológicas que con técnicas clásicas, como la estadística, no han sido factibles o no han sido satisfactoriamente abordables, por lo que parece razonable pensar que  los sistemas neuronales han venido para quedarse algún tiempo.

¿Te unes?

Marta R. Costa-jussà, José A. R. Fonollosa y Antonio Bonafonte
Investigadors del Centre de Tecnologies i Aplicacions del Llenguatge i de la Parla (TALP UPC)