Nov 26, 2018 - 10:21:41 am

WaveGlow: un nuevo modelo teórico para sintetizar habla

Un equipo de investigadores de NVIDIA han desarrollado recientemente una técnica llamada WaveGlow, que es una red de flujo que puede generar voz a partir de espectrogramas, los cuales son representaciones de los sonidos en el dominio del tiempo y la frecuencia. El método usado, bosquejado en un artículo pre-publicado en arXiv, usa una sola red neuronal entrenada con una sola función de costo, haciendo que el procedimiento de entrenamiento sea más sencillo y más estable.

La mayoría de las redes neuronales para sintetizar voz eran muy lentas para nosotros“, comenta Ryan Prenger, uno de los investigadores del estudio. “Estaban limitados en velocidad porque su sistema lo diseñaron para generar una sola muestra a la vez”. Las excepciones fueron un trabajo de Google y Baidu, que generaron audio muy rápidamente en paralelo. Sin embargo, estos enfoques usan redes de maestros y alumnos, que son muy complejas de replicar”.

Los científicos se inspiraron entonces en Glow, una red de flujo basada en OpenAI, la cual puede generar imágenes de alta calidad en paralelo, reteniendo una estructura muy simple. Usando una convolución de 1×1 invertible, Glow permitió obtener resultados notables, produciendo así imágenes realistas. Con ello en mente, los investigadores decidieron usar la misma idea pero en la síntesis del habla.

“Piense en el ruido blanco que aparece en la radio cuando no está ésta sintonizada en ninguna estación”, explica Prenger. “Ese ruido blanco es súper fácil de generar. La idea de sintetizar el habla con WaveGlow es entrenar la red neuronal para transforma ese ruido blanco en habla. Si se usa una red neuronal antigua, el entrenamiento resulta problemático. Pero si específicamente se usa una red que puede ser ejecutada hacia atrás o hacia adelante, las matemáticas se hacen muy sencillas y los problemas del entrenamiento desaparecen”, dice.

Los investigadores corrieron clips de habla del conjunto de datos de forma hacia atrás, entrenando a WaveGlow para producir lo que se acercaba mucho al ruido blanco. Su modelo se aplica a la misma idea detrás de Glow en la arquitectura llamada WaveNet, de ahí el nombre WaveGlow.

En una implementación en PyTorch, WaveGlow produjo muestras de audio en un rango de más de los 500 KHz, en un GPU NVIDIA V100. “En el mundo del síntesis del habla, hay una necesidad de modelos que generen habla en más de un orden de magnitud más rápidos en tiempo real”, comenta Prenger.

“Esperamos que WaveGlow pueda llenar esta necesidad mientras que además, sea más simple de implementar y mantener que otros modelos existentes. En el mundo del aprendizaje profundo, pensamos que este tipo de enfoques, usando una red neuronal invertible, con la función de pérdida resultante es algo que se está aún estudiando. WaveGlow da otro ejemplo de cómo este enfoque puede generar resultados de alta calidad a pesar de su relativa simplicidad”.

El código de WaveGlow está disponible en línea para que la gente experimente. Mientras tanto, los investigadores están trabajando sobre la manera de mejorar la calidad de los clips sintetizados mejorando y refinando su modelo teórico.

“Hemos hecho mucho análisis parta ver qué tan pequeña puede ser la red neuronal”, dice Prenger. “La mayoría de nuestras decisiones de la arquitectura a usar se basaron en las primeras partes del entrenamiento. Sin embargo, redes más pequeñas con tiempos más largos de entrenamiento podrían generar un sonido tan bueno como el que estamos logrando. Hay muchas direcciones interesantes para el futuro”.


Extraída de Uno Cero

Siguiente Más