A veces una buena y revolucionaria idea puede surgir en el momento en el que menos lo imaginamos. Tal como le paso al PhD en aprendizaje automático Ian Goodfellow, quien mientras pasaba el rato en compañía de unos amigos en Montreal hablando sobre inteligencia artificial y en la manera en la que pudiera crear fotografías realistas por si sola, se le ocurrió una idea.
Para sus colegas y muchos expertos en IA fue única y revolucionaria. En este articulo analizaremos qué son las Redes Generativas Antagónicas y cómo funcionan.
Qué son las Redes Generativas Antagónicas y cómo funcionan
Sin duda, para explicarte mejor qué son las Redes Generativas Antagónicas y cómo funcionan, comenzaremos primero con el “problema” que llevó a Ian a pensar en esta revolucionaria idea para posteriormente.
Luego pasaremos a definir lo que son las Redes Generativas y explicar mucho mejor la manera en la que estas funcionan.
El conflicto
Como lo dijimos anteriormente, antes de saber qué son las Redes Generativas Antagónicas necesitamos saber lo que provoco el desarrollo de esta técnica. Todo comenzó con una conversación entre amigos, todos hablaban y pensaban en alguna idea que le permitiera a la inteligencia artificial por sí misma crear imágenes muy realistas que hicieran pensar a todos de que habían sido hechas por algún artista o cualquier otra persona.
Sin embargo, se topaban con un problema constante que no podían resolver. Y es que, en la actualidad, todas las técnicas, herramientas y arquitecturas de Inteligencia Artificial, así como los algoritmos de aprendizaje y las redes neuronales son muy buenas para la clasificación de imágenes pero no para crear o diseñar alguna imagen nueva partiendo en cero.
Allí es donde aparece Ian Goodfellow quien al rato de haberse despedido de sus amigos comenzó a pensar en alguna idea que pudiera resolver este conflicto. No le tomó mucho tiempo pues de regresó a casa se le ocurrió una idea en la que distintas redes neuronales pudieran desafiarse unas a otras para aprender, crear y mejorar cualquier contenido en un proceso completamente recursivo.
Esa misma noche Goodfellow no solo llevó su idea a código fuente sino que pudo ponerlo a prueba haciendo que funcionara.
Más tarde, con la ayuda de algunos colegas y ex alumnos de su alma mater, Université de Montréal, Goodfellow completó su trabajo compilándolo en un documento al que título Generative Adversarial Network (GANs) o en español Redes Generativas Antagónicas (RGAs).
Qué son las RGAs
Entonces, qué son las Redes Generativas Antagónicas y cómo funcionan. Pues primeramente comencemos por el “qué”. Generative Adversarial Network (GANs) o en español Redes Generativas Antagónicas (RGAs) es un conjunto de algoritmos basados en inteligencia artificial que permiten y facilitan el aprendizaje no supervisado.
En otras palabras, se trata de algoritmos que le permiten a dos redes neuronales competir entre ellas mismas para aprender y evolucionar por si solas. Se trata de dos sistemas de inteligencia artificial interactuando entre sí para diseñar con creatividad propia cualquier clase de imagen e incluso sonidos tan reales que pueden tomarse como si se hubiese hecho por una persona real. Todo esto es algo que hasta el momento ninguna máquina había sido capaz de realizar.
Desde que fue puesta en marcha las RGAs en 2014 se han hecho muchísimos avances e innovaciones con relación a la Inteligencia Artificial. De hecho, esta gran idea le otorgó a Goodfellow un trabajo en Google Research en el departamento de OpenAI y en la actualidad es uno de los genios más destacado en Inteligencia Artificial.
Cómo funciona RAGs
Las RAGs funcionan por medio de dos redes neuronales que permiten crear y refinar nuevos datos. La primera red, es conocida como el “generador”, esta red tal y como su nombre lo indica, se encarga de generar nuevos datos. El proceso es, simplemente, el reverso de la función de clasificación de las redes neuronales. En lugar de tomar datos sin procesar y asignarlos a determinadas salidas, el generador rastrea desde la salida e intenta generar los datos de entrada que se asignarían a esa salida.
La segunda red, es el “discriminador”, se trata de un clasificador de redes neuronales profundas. Este califica la calidad de los resultados del generador en una escala de 0 a 1.
Si el puntaje es demasiado bajo, el generador corrige los datos y los reenvía al discriminador. Luego las RAGs repiten el ciclo en sucesiones súper rápidas hasta que puedan crear datos con puntuación alta que luego se asignarán a la salida deseada
Dicho de otro modo las RAGs se pueden comparar con el juego del gato y el ratón. Es decir, el generador está tratando de evitar al discriminador haciéndole creer que la entrada que le está proporcionando es auténtica. Con esto concluimos con lo referente a qué son las Redes Generativas Antagónicas y cómo funcionan. Sin embargo ¿Cómo mejora esto la IA y que usos puede dársele?
Cómo mejoran IA
Las RAGs se acoplan perfectamente permitiéndole a las distintas redes neuronales a imitar de manera más eficiente el funcionamiento del cerebro humano. Es decir, se añade como pieza clave para permitirle a la IA tener una especie de imaginación o creatividad propia.
Esto es algo que sin duda lleva a las máquinas a un nuevo nivel de evolución. Sin embargo, aún le falta escalar mucho más, ya que este sistema todavía tiene una fuerte dependencia de los datos de alta calidad y de alguien que invierta muchísimo tiempo en proporcionárselos.
Usos de las RGAs
Hay muchas aplicaciones prácticas para RAGs. Por ejemplo, se puede utilizar para crear diseños de interiores aleatorios para darles nuevas y frescas ideas a los decoradores.
También se puede utilizar en la industria de la música. En ese caso, la inteligencia artificial ya ha hecho grandes avances. Por ejemplo, crear nuevas composiciones en varios estilos, que los músicos pueden ajustar y perfeccionar más adelante.
También se pueden usar en los nuevos sistemas de IA para la conducción automática de vehículos y para acelerar la investigación en cualquier área donde esté presente la IA.
Por ejemplo, desde teléfonos móviles, hasta el mundo de la medicina en donde puede ayudar a generar datos para algoritmos de IA, sin la necesidad de recopilar información de los pacientes. Esto puede ser algo muy bueno para áreas como la investigación y el descubrimiento de nuevos fármacos.