Tecnología de red generativa antagónica: La IA pasa al primer plano

By | 5 minute read | noviembre 21, 2019

Ha habido algunas aplicaciones divertidas y populares en los últimos años que permiten a los usuarios manipular imágenes de un rostro humano utilizando filtros de edad, género, expresión facial, entre otros.  Con estas aplicaciones, se puede obtener imágenes de calidad de portada de revista para cualquier selfie con solo unos pocos clics. Estas aplicaciones pueden transformar una cara para hacerla sonreír, parecer más vieja o joven, cambiar de género, y con resultados sorprendentemente convincentes.

Los desarrolladores de tales aplicaciones no revelan la tecnología bajo el capó, pero para cualquiera que esté familiarizado con machine learning, no será difícil descubrirlo. Es probable que estas aplicaciones se basen en variaciones de la tecnología de red generativa antagónica (GAN).

Entonces, ¿qué es la tecnología GAN? Ian Goodfellow diseñó la GAN para crear imágenes falsas que se parecen a las imágenes reales. Tiene una amplia aplicabilidad en el entrenamiento de modelos. Para realizar un entrenamiento supervisado, uno tiene que crear imágenes etiquetadas. En la búsqueda trivial de clasificar un perro o un gato, hay muchas imágenes en Internet listas para descargar. Pero la tarea de localizar imágenes etiquetadas se hace difícil cuando abordamos problemas de detección de anomalías. Tome el ejemplo de detectar defectos en los condensadores de acoplamiento de la línea de alimentación. Están en buenas condiciones la mayor parte del tiempo.

En el mundo ideal, debe haber un número igual de imágenes que muestren buenas condiciones (etiqueta negativa) y malas (etiqueta positiva). En la práctica, las imágenes de etiquetas positivas representan el 5 por ciento o menos. Debe esperar hasta que se rompa una parte antes de poder tomar una foto y agregarla a la biblioteca de etiquetas positivas. Esto podría llevar mucho tiempo. ¿Hay una mejor manera de manejar esta situación? Sí, aquí es donde la GAN viene al rescate.

La GAN utiliza dos redes neuronales en su arquitectura. El objetivo de la red del generador es la creación de resultados falsos. Ella toma ruido aleatorio como entrada y produce un resultado lo más similar posible al resultado real. Si usamos dinero falsificado como ejemplo, se intenta generar un resultado parecido al dinero real.

La red discriminadora actúa como policía. Está entrenada con imágenes de dinero real para que comprenda bien cómo se ven. Las imágenes falsas del generador también se envían al discriminador. Claramente, no tiene ningún problema para distinguir lo real de lo falso en la primera parte del entrenamiento. También proporciona retroalimentación al generador acerca de la calidad del trabajo realizado. Guiado por esta retroalimentación, el generador modifica su enfoque para buscar un resultado más auténtico en la próxima iteración. Con el tiempo, su resultado se vuelve mejor y mejor, y eventualmente alcanza un equilibrio donde el discriminador ya no puede distinguir las imágenes falsas del generador y las imágenes reales.

Las técnicas tradicionales de aumento de datos dependen de las funciones de OpenCV. Las imágenes se pueden rotar, estirar, voltear, hacer borrosas y transformar. Aumenta el volumen de datos de entrenamiento con el objetivo de mejorar la precisión del modelo. Con la GAN, se lleva el aumento de datos a otro nivel. Ahora las imágenes aumentadas se parecen mucho a las imágenes originales y son más adecuadas para el entrenamiento de modelos. Crea nuevos patrones para que un modelo aprenda, mientras que el aumento de datos basado en OpenCV simplemente aplica la transformación matemática a las imágenes originales. Los patrones subyacentes no han cambiado.

Otro caso de uso interesante es la creación de imágenes de alta resolución a partir de imágenes de baja resolución. Las herramientas de edición de fotos, como Photoshop, han permitido durante mucho tiempo la ampliación de fotos. Utiliza píxeles de una foto de menor resolución y agrega más de los mismos píxeles para formar una imagen de mayor resolución. No se crean datos nuevos con este proceso y la foto ampliada se vuelve borrosa. Por otro lado, se ha desarrollado una variante de GAN, SRGAN (GAN de súper alta resolución) para mejorar las fotos mientras se mantiene la nitidez. Esta GAN agrega nuevos datos a las imágenes de alta resolución basadas en los patrones que aprende del entrenamiento. Más datos conducen a fotos más nítidas. Ahora sabe que la escena de un agente del FBI en un programa de televisión usando una computadora para hacer que una imagen borrosa se vea más nítida y grande ya no es ciencia ficción. Las GAN están en juego aquí.

Los entusiastas de la fotografía no son el único grupo que se beneficia de este desarrollo. Un cliente de IBM utiliza esta técnica para crear imágenes de organismos vivos de alta resolución. Si bien preferirían tomar fotos de alta resolución de organismos vivos directamente en sus instalaciones de investigación, hacerlo mataría a los organismos. En vez de eso, eligen usar dispositivos fotográficos de baja resolución, manteniendo vivos a los organismos, y luego usan SRGAN para crear versiones de alta resolución de las fotos para el entrenamiento del modelo.

Actualmente, la mayoría de los casos de uso se centran en la manipulación de imágenes. Existe una investigación activa para expandir su aplicabilidad a otras estructuras de datos. Solo hemos aprovechado la superficie del verdadero potencial de GAN. Vendrán más casos de uso creativos. Por cierto, en toda la expectación sobre la deepfake, la GAN juega un papel central en su desarrollo. La siguiente imagen muestra una cara generada por la GAN. ¡No es una persona real!

 

Fuente: “Crecimiento progresivo de la GAN para mejorar la calidad, la estabilidad y la variación” por Tero Karras, Timo Aila, Samuli Laine y Jaakko Lehtinen. Imagen utilizada con autorización de NVIDIA

 

El entrenamiento de redes GAN requiere una cantidad significativa de recursos informáticos y esto representa lo mejor de los servidores IBM Power Systems. Equipados con GPU, tecnología NVLink y soporte de memoria de gran capacidad, Power Systems son muy adecuados para cargas de trabajo de IA. Pueden reducir el tiempo de entrenamiento del modelo de días a horas o minutos.

Permita que uno de nuestros Centros de experiencia del cliente de IBM Systems le ayude brindándole sesiones informativas, sesiones de consulta, talleres, demostraciones, puntos de referencia, capacitación técnica y documentación de productos, incluidos los Redbooks de IBM.

Para obtener más información sobre las ofertas del Centro de experiencia del cliente, visite nuestro sitio web o envíenos un correo electrónico.