#Baidu consigue que un ordenador aprenda a hablar por sí solo, sin ayuda
El gigante de las búsquedas chinas ha superado a su rival occidental con Deep Voice, un sistema que aprende a hablar en tan sólo unas horas con poca o ninguna intervención humana.
En la carrera por aplicar aprendizaje profundo al mundo real, hay una empresa que destaca sobre el resto. La subsidiaria DeepMind de Google ha empleado la técnica para desarrollar máquinas capaces de ganar a los humanos en videojuegos y al antiguo y complejo juego de mesa Go (ver Cinco lecciones del histórico triunfo de AlphaGo sobre la inteligencia humana). Y el año pasado, mejoraron significativamente los servicios de Google Translate gracias a la introducción entre bambalinas de técnicas de aprendizaje profundo.
Así que es interesante analizar qué están haciendo el resto de empresas para hacerse con el trono de DeepMind. Hoy, es el turno de Baidu, la principal empresa de búsquedas de internet en China que a menudo es descrita como el equivalente chino de Google. En 2013, Baidu inauguró un laboratorio de investigaciones de inteligencia artificial en Silicon Valley (EEUU), lo que generó una interesante pregunta: ¿A qué se ha dedicado el laboratorio en este tiempo?
El centro ha presentado su trabajo sobre la síntesis del habla. Uno de los desafíos consiste en reducir la cantidad de ajustes que han de realizarse entre bambalinas. El gran avance de Baidu ha sido el desarrollo de una máquina de aprendizaje profundo que, en gran parte, prescinde de este tipo de intervenciones. El resultado es un sistema de texto a voz llamado Deep Voice que puede aprender a hablar en tan sólo unas pocas horas con poca o ninguna intervención humana.
Primero, un poco de contexto. Los sistemas de texto a voz ya resultan familiares en las apps de navegación, los relojes parlantes y los sistemas telefónicos automatizados, entre otros. Tradicionalmente, se han construido a partir de grabaciones de un único individuo de una gran base de datos del habla. Las palabras grabadas se combinan después para construir frases nuevas.
El problema de estos sistemas es que resulta difícil cambiar de locutor o modificar el énfasis en sus palabras sin grabar una base de datos totalmente nueva. Así que los informáticos han estado trabajando en otro enfoque. Su objetivo consiste en sintetizar el habla en tiempo real desde cero y a demanda.
El año pasado, DeepMind de Google logró un importante avance en este campo. Desveló una red neuronal que aprende a hablar al escuchar las ondas de sonido de una voz real mientras las compara con una transcripción del texto. Después del entrenamiento, fue capaz de producir un discurso oral artificial a partir de un texto que se le había proporcionado. Google DeepMind denominó a su sistema WaveNet.
El trabajo de Baidu ofrece una mejora respecto a WaveNet, que aún necesita algunos ajustes durante el proceso de entrenamiento. Además, WaveNet requiere mucha potencia computacional, tanta que no está claro si podría llegar a ser utilizado en el mundo real.
Baidu afirma haber superado estos problemas. Su enfoque es relativamente sencillo. Emplea técnicas de aprendizaje profundo para convertir el texto en las unidades de sonido que se perciben de forma distinta, llamadas fonemas. Entonces emplea la red de síntesis del habla para reproducirlos. La diferencia clave es que cada fase del proceso funciona mediante aprendizaje profundo, por lo que una vez que haya sido entrenado, casi no hay necesidad de hacer ningún ajuste.
Considere, por ejemplo, la palabra "hola". El sistema de Baidu primero tiene que identificar las fronteras de cada fonema así: "(silencio, O), (O, L), (L, A) (A, silencio)". Entonces proporciona esta información al sistema de síntesis del habla, que emite la palabra.
Las únicas variables que el sistema no controla son el énfasis de los fonemas, su duración y la frecuencia natural del sonido. Aunque parezca una desventaja, esta característica permite que Baidu cambie la voz del locutor y la emoción que la palabra transmite.
El proceso también requiere bastante potencia computacional. La frecuencia de muestreo para una conversación realista se encuentra en la región de 48.000 hercios. Así que un ordenador tiene alrededor de 20 microsegundos para generar cada muestra. Ya que el proceso para producir este sonido incluye varias capas, cada capa ha de ejecutar su trabajo en 1,5 microsegundos. Para colocar esto en contexto, acceder a un valor que reside en la memoria principal de un CPU puede llevar 0,1 microsegundos.
Los investigadores de Baidu señalan: "Para realizar inferencias en tiempo real, debemos tener mucho cuidado para no recomputar ningún resultado, y debemos almacenar todo el modelo en el caché del procesador (en lugar de la memoria principal) y utilizar de manera óptima las unidades computacionales disponibles".
No obstante, aseguran que su sistema permite sintetizar voces artificiales en tiempo real, y lo han demostrado al recopilar opiniones de oyentes mediante crowdsourcing a través del servicio Mechanical Turk de Amazon. Para ello pidieron a un gran número de personas que puntuaran la calidad del audio mientras lo comparaban con los datos reales en forma de una grabación humana original.
Baidu dice que los resultados son de alta calidad. Los responsables explican: "Optimizamos la inferencia hasta velocidades más rápidas que el tiempo real, lo que demuestra que estas técnicas pueden ser aplicadas para generar audio en tiempo real de un modo parecido al streaming".
Pero tal vez lo más importante del sistema de Baidu sea su capacidad para ser reentrenado de forma rápida con conjuntos de datos totalmente nuevos. El equipo detalla: "Nuestro sistema se entrena sin ninguna participación humana, lo que simplifica dramáticamente el proceso de desarrollar sistemas de texto a voz".
Es un trabajo interesante que supera los esfuerzos de Google. Y es importante porque el histórico sueño de los autores de ciencia ficción consiste en poder hablar con los ordenadores en tiempo real y que nos contesten. La capacidad de pasar un texto a voz representa una importante parte de eso.
Por supuesto, es improbable que Google DeepMind (ni nadie más del mundo del aprendizaje profundo) se haya quedado quieto mientras Baidu intenta perfeccionar su sistema de voz artificial. Seguramente sólo será cuestión de tiempo el conocer a qué se han estado dedicando y cómo se compara.