En los últimos años se han hecho populares los deep-fakes, modificaciones de fotos y vídeos ultra realistas llevadas a cabo por redes neuronales. ¿Pero sabes realmente cuál es la tecnología detrás de estas falsificaciones? En este artículo te contamos todo lo que necesitas saber sobre las redes generativas adversarias (GAN), las redes neuronal detrás de los deep-fakes.
¿Qué son las redes neuronales artificiales o generativas?
Las Redes artificiales Generativas Adversarias, o GAN por sus siglas en inglés, fueron introducidas por Ian Goodfellow, et al en su trabajo “Generative Adversarial Networks” [1]. Estas redes neuronales son una aproximación al modelado generativo utilizando métodos de aprendizaje profundo, como las redes neuronales convolucionales. ¿Pero de qué trata el modelado generativo?
El modelado generativo de redes neuronales es una tarea de aprendizaje no supervisado, enmarcada dentro del aprendizaje automático, que consiste en descubrir y aprender automáticamente las regularidades o patrones en los datos de entrada de tal manera que el modelo pueda utilizarse para generar o dar salida a nuevos ejemplos que plausiblemente podrían haberse extraído del conjunto de datos original.
Modelo generativo vs modelo discriminador
Las GANs son una forma inteligente de entrenar un modelo generativo, enmarcando el problema como un problema de aprendizaje supervisado con dos submodelos: el modelo generador y el modelo discriminador.
Modelo generador
El modelo generador es el encargado de generar los nuevos ejemplos en base a los datos de partida con los que contamos. Estos modelos de aprendizaje automático pueden aprender el espacio estadístico latente de las imágenes, la música e incluso historias. Tras esto, el modelo es capaz de tomar muestras de este espacio, creando nuevas obras de arte con características similares a las que el modelo ha visto en sus datos de entrenamiento (datos de partida).
Modelo discriminador
El modelo discriminador es el encargado de intentar clasificar los ejemplos creados con el modelo generador como reales (pertenecientes al dominio del problema) o falsos (generados artificialmente). Tras acabar este proceso, este modelo discriminador es descartado para quedarnos únicamente con el modelo generador.
¿Cómo se entrenan las redes neuronales artificiales para que funcionen con más precisión?
¿Pero cómo entrenamos estos modelos para que sean capaces de generar y discriminar? Estos dos modelos, generador y discriminador, se entrenan en paralelo.
El modelo generador crea una serie de ejemplos de redes neuronales artificiales, y junto a unos cuantos ejemplos reales, se le alimentan al modelo discriminador para que los separe en verdaderos (ejemplos reales) o falsos (ejemplos generados).
Tras esto, el discriminador se actualiza para que sea mejor discriminando los ejemplos en la siguiente ronda, al igual que el modelo generador se actualiza para que cree mejores ejemplos. Este proceso se detiene cuando el modelo discriminador no es capaz de discernir entre un ejemplo real y otro generado artificialmente por nuestro modelo generador.
En este caso, podemos ver este proceso como un juego de suma cero donde si el discriminador es capaz de discernir entre ejemplos falsos y verdaderos se le premia (no se cambian sus parámetros), mientras que el generador es penalizado (se ajustan sus parámetros para intentar mejorarlo). Esto también ocurre en el caso contrario, donde el discriminador no es capaz de distinguir los ejemplos que el generador ha conseguido crear.
Podemos pensar que el generador es como un falsificador, que intenta hacer dinero falso, y el discriminador es como la policía, que intenta permitir el dinero legítimo y atrapar el dinero falso. Para tener éxito en este juego, el falsificador debe aprender a fabricar dinero que no se distinga del auténtico.
En el caso ideal, obtendríamos un generador que es capaz de crear ejemplos indistinguibles de los reales en el 100% de los casos. Esto se considera un caso ideal que rara vez es conseguido, lo que no significa que un generador con menor precisión no sea útil.
Conclusión
Como hemos visto, las GAN son un campo apasionante y en rápida evolución, que cumple la promesa de los modelos generativos en cuanto a su capacidad para generar ejemplos realistas en una serie de dominios problemáticos, sobre todo en tareas de traducción de imagen a imagen, como la traducción de fotos de verano a invierno o de día a noche, y en la generación de fotos fotorrealistas de objetos, escenas y personas que ni siquiera los humanos pueden distinguir como falsas.
Pero esto no acaba aquí, ya se plantea usar estas redes neuronales artificiales para crear diseños de chips más avanzados y optimizados, descubrir nuevos procesos químicos y, en definitiva, intentar superar la capacidad creativa del ser humano.