Generative Adversarial Networks: el lado creativo del machine learning

Los increíbles avances en inteligencia artificial (IA) están creando máquinas cada vez más listas. Dado que las máquinas pueden mejorar de forma autónoma a partir de los datos recibidos, están creando nuevas formas de ayudarnos a llevar a cabo tareas cada vez más complejas.

Una solución muy prometedora que ya ofrece increíbles resultados en algunos ámbitos son las llamadas redes generativas antagónicas o Generative Adversarial Networks (GAN), que se utilizan principalmente para generar imágenes, pero también permiten la creación automática de textos. ¿Qué son realmente las Generative Adversarial Networks? ¿Cómo funcionan? Y ¿cómo podemos usarlas de manera provechosa?

¿Qué es una Generative Adversarial Network?

Antes de entrar en lo que las Generative Adversarial Networks pueden hacer por nosotros, veamos lo que son en realidad.

Se trata de un sistema de aprendizaje automático (machine learning) desarrollado en 2014 por un equipo dirigido por Ian Goodfellow. El propósito de una Generative Adversarial Network es crear diseños propios basados en un conjunto de datos reales. El resultado es tan engañosamente real que es imposible saber que la imagen no proviene de una mano humana. Para conseguir estos resultados, se utilizan dos redes neuronales que compiten entre ellas.

La tarea de la red generadora es crear una falsificación. La red se alimenta de datos, por ejemplo, fotos de personas al azar y, a partir de la información recibida, crea su propia foto. Para esto, la red tiene que aprender primero cuáles son las características comunes de todas las fotos mostradas. De este modo, la nueva imagen no es una imitación de los datos originales, sino una obra completamente nueva, pero similar. En nuestro ejemplo, sería la foto de una persona (que no existe).

Los datos básicos y la información que ha generado se entregan juntos a la segunda red. La tarea de la red discriminadora es decidir si los datos que recibe son verdaderos o falsos. La imagen no solo se declara falsa si se desvía demasiado de los datos básicos, sino también si es una imitación demasiado perfecta. Si la red generadora se limita a extraer un promedio de los datos y a crear una nueva obra a partir de este, el resultado tiene un aspecto artificial. De este modo, la red discriminadora también filtra los datos que no parecen naturales.

Ambas redes compiten entre ellas. Cuando la red discriminadora detecta los datos falsificados, los devuelve. En este caso, la red generadora no es lo suficientemente buena todavía y, por lo tanto, tiene que seguir aprendiendo. Sin embargo, a su vez, la red discriminadora aprende también. Como ambas redes neuronales se entrenan mutuamente, están relacionadas con los sistemas de deep learning. La red generadora intenta crear conjuntos de datos que tengan una apariencia tan auténtica que engañen a la discriminadora. Esta, por su parte, trata de analizar y comprender los ejemplos reales con tanta precisión que los datos falsos no tengan ninguna posibilidad de ser identificados como reales.

¿Cómo funcionan las Generative Adversarial Networks?

Como cualquier inteligencia artificial, las redes generativas antagónicas deben ser entrenadas para cumplir correctamente con su función. Esta modalidad de aprendizaje automático o machine learning tiene lugar en seis pasos:

  1. Definición del problema: en un primer paso, se debe definir un problema que el sistema debe resolver. Con este propósito, los desarrolladores deben recopilar datos reales que el sistema pueda utilizar.
  2. Arquitectura: diferentes problemas requieren diferentes tipos de redes. Por lo tanto, se debe buscar la Generative Adversarial Network con la arquitectura adecuada para la aplicación correspondiente.
  3. Primer entrenamiento de la red discriminadora: en este paso comienza el entrenamiento real. La red generadora se detiene y la red discriminadora analiza solo datos verdaderos, para aprender a comprenderlos.
  4. Primer entrenamiento de la red generadora: la red discriminadora se detiene y, a su vez, la red generadora comienza a generar datos falsos.
  5. Segundo entrenamiento de la red discriminadora: en este paso, la red discriminadora se alimenta con los nuevos datos falsificados de la generadora y debe decidir qué datos considera verdaderos y cuáles falsos.
  6. Segundo entrenamiento de la red generadora: la red generadora mejora aún más con el resultado del segundo entrenamiento de la red discriminadora. Aquí la red generadora aprende sobre los puntos débiles de la discriminadora e intenta aprovecharlos, generando registros de datos falsos de apariencia aún más real.

Gracias a esta interacción, ambas redes permanecen en constante evolución y así se vuelven mejores y más eficientes. La red generadora aprende a desarrollar conjuntos de datos cada vez más realistas. La red discriminadora aprende a identificar como falsos incluso los conjuntos de datos de apariencia más real.

¿Qué retos tiene que superar el sistema?

Como ocurre con casi todas las tecnologías, los desarrolladores de las Generative Adversarial Networks se enfrentan a una serie de retos que se deben abordar para garantizar que el entrenamiento se desarrolle sin problemas.

Una competencia equilibrada

Como se ha explicado, las Generative Adversarial Networks se basan en la competición entre dos redes neuronales. Sin embargo, esto solo puede funcionar si ambas redes son igualmente sólidas y eficaces. Si una de las dos redes es más fuerte que la otra, el sistema no funciona. Si, por ejemplo, la red generadora es superior, la discriminadora no podrá distinguir los datos falsificados. En el caso contrario, la red discriminadora marcará como falsos todos los datos de la generadora. En ambos casos, ninguna de las dos redes puede aprender.

Comprender correctamente los objetos

Las Generative Adversarial Networks suelen tener problemas para reconocer y comprender correctamente los objetos. Esto es especialmente marcado en el caso de las imágenes. Por ejemplo, una foto real puede mostrar dos gatos con dos ojos cada uno. Si el generador no comprende completamente la estructura y el posicionamiento de los elementos de la imagen, podría generar un gato con cuatro ojos. Las perspectivas pueden ser también problemáticas para estas redes, que pueden no entender que dos imágenes representen el mismo objeto desde diferentes puntos de vista.

¿Para qué se usan las GAN?

Las Generative Adversarial Networks recibieron especial atención, también fuera del ámbito de la informática, después de que el colectivo de artistas Obvious utilizara la técnica para crear una obra de arte. Este cuadro se vendió en una subasta por 432 500 dólares. Sin embargo, las Generative Adversarial Networks pueden también hacer cosas asombrosas más allá del arte.

Predicción de vídeo

Las Generative Adversarial Networks pueden usar los fotogramas de un vídeo para predecir cómo continuará y así prolongarlo de forma independiente más allá de la grabación real. Se incluyen todos los elementos del vídeo, por ejemplo, movimientos y acciones, pero también cambios de fondo como la lluvia o la niebla.

Generación de imágenes basada en textos

A partir de una descripción, las Generative Adversarial Networks pueden generar imágenes. Por ejemplo, pueden desarrollar un storyboard independiente basado en un guion.

Generación de objetos complejos

Las GAN permiten transformar incluso los bocetos más simples en objetos tridimensionales complejos en muy poco tiempo. Por ejemplo, utilizando una Generative Adversarial Network, un dibujo muy tosco de un árbol puede transformarse en un objeto de gran complejidad y lleno de detalles, como hojas que tiemblan o una copa que se balancea con el viento.

Mejora de detalles de imágenes

Las GAN pueden añadir nuevos detalles a una imagen pixelada o con baja resolución, utilizando información de imágenes similares para añadir la información que falta.

Desarrollo de nuevos productos

Algunas empresas están experimentando con Generative Adversarial Networks en la fase de desarrollo de productos, utilizándolas para crear diseños y gamas de productos completamente nuevos.

Generación de texto de productos

Las Generative Adversarial Networks tienen también capacidad de redacción de textos y ya se utilizan para generar textos de productos, que desempeñan un papel cada vez más importante en las decisiones de compra de los clientes. Estas redes no solo permiten crear estas descripciones rápidamente, sino que pueden también analizar qué textos de productos han tenido más éxito en el pasado y, a partir de ellos, generar textos nuevos.

Las Generative Adversarial Networks ya se utilizan con éxito en todos estos ámbitos. Las empresas y los desarrolladores están trabajando constantemente en nuevas aplicaciones, por lo que se espera que estas redes generativas antagónicas estén muy presentes en muchas áreas de nuestra vida y nuestro trabajo a medio plazo.

¿Le ha resultado útil este artículo?
Page top