Van Gogh the computer world: programa de generación de imágenes


En el artículo anterior, te conocimos, y alguien se refrescó en la forma en que enseñamos a las máquinas a entender nuestro discurso. Ahora es difícil sorprender con un programa o un robot que pueda mantener una conversación con una persona. Pero, ¿qué pasa si una persona le dice al robot "dibujame una puesta de sol en la orilla del mar"? ¿Puede el robot entender esto y dibujar? Ahora él puede. Gracias al desarrollo de Xiaodong He (no traduciremos el nombre, para no distorsionarlo) y su equipo de investigadores de inteligencia artificial. Descubriremos cómo funciona su creación y si es posible abrir una galería de arte con los trabajos de este programa. Vamos

Brevemente sobre la esencia.


Si exageras, entonces el programa funciona según el principio de "Yo dibujo, lo que me dicen". Dices "tetera morada con una nariz larga", y el programa píxel por píxel intenta representar con precisión esta información, en otras palabras, visualizar tus palabras. Para hacer esto, ella necesita, en primer lugar, comprender lo que está diciendo, luego determinar las palabras más importantes: vectores, sobre la base de los cuales puede construir suposiciones sobre la versión necesaria de la imagen.

Xiaodong dice esto: “... Si usas Bing y buscas un pájaro, obtendrás una foto del pájaro. Pero en nuestro caso, una imagen es creada por una computadora, píxel por píxel, desde cero ... Es posible que estas aves no existan en el mundo real; serán un ejemplo de la representación de una computadora en las aves ... "

Este proyecto no fue el primero para Xiaodong He y sus colegas. Anteriormente, estaban desarrollando el sistema CaptionBot AI, que creaba automáticamente descripciones para las fotos. También estaba SeeingAI, un sistema que responde preguntas humanas sobre fotografía. Según los investigadores, este último sería muy adecuado para personas ciegas y con discapacidad visual.

La base del proyecto "artista a pedido" es una combinación de dos sistemas: Red Adversaria Generativa (GAN) - generador de imágenes y discriminador (discriminador) - un módulo que analiza críticamente la calidad de la imagen recibida.

Otro componente importante de este sistema fue el cálculo matemático y la expresión de la atención humana. Cuando vemos un objeto, prestamos atención, aunque inconscientemente, a ciertas de sus características externas. Es lo mismo cuando nos cuentan sobre un objeto. Se nos dice sobre los limones, vemos pequeños frutos ovalados de color amarillo. No representamos duraznos. Sucede en nuestro cerebro automáticamente. En cuanto a la máquina, debe programar su cerebro para que funcione al menos un poco como un humano. Pero sabemos que una máquina comprende mejor el lenguaje de los números: las matemáticas, razón por la cual los investigadores han convertido la atención en fórmulas matemáticas. Y ahora más sobre cada uno de los componentes del sistema.

Red Generativa Atencional GAN


Según los investigadores, su sistema GAN difiere de otros similares en atención a los detalles. Una GAN ordinaria percibe la oración completa (por ejemplo, "una tetera morada con una nariz larga") como un solo vector que debe seguirse al renderizar. En el caso del desarrollo de nuestros héroes, se presta atención a las palabras individuales que se convierten en vectores de visualización para partes individuales de la imagen. En pocas palabras, el programa no dibuja la imagen completa de una vez, sino que la divide en pedazos (como rompecabezas) y dibuja cada uno de ellos por separado.

Para explicar en palabras simples cómo funciona un sistema matemático, imaginemos que nuestra oración (descripción de la imagen) es una fórmula, y las palabras son variables.


Representación esquemática del algoritmo del programa.

Cada una de las palabras es un vector importante, es decir, determina en qué dirección pensará el programa. Para empezar, el sistema debe seleccionar las palabras más significativas. El sistema intenta unir palabras y secciones individuales de la imagen futura. Por ejemplo, un pájaro azul con un pico negro, si consideramos la palabra "negro", se refiere al pico, una sección separada de la imagen.

Una vez determinado el vector de cada una de las palabras, el programa recopila toda la información en forma de matriz, que luego comienza a darse cuenta como una imagen.



Como ejemplo, los investigadores proponen considerar 4 solicitudes de diferente naturaleza (imagen de arriba).

Considere las primeras tres imágenes de un pájaro. Como puede ver, son muy diferentes en calidad y detalle. El hecho es que el primer fotograma (borroso e inexacto) es el resultado de la generación de imágenes al analizar la oración completa como un solo vector. En el segundo cuadro, nuestro pájaro ya es mejor visible, ya que la oración se dividió en palabras separadas (vectores), lo que permitió aclarar algunos detalles (por ejemplo, ojo negro - ojo negro).

Las mismas imágenes se muestran a continuación, pero con la asignación de secciones individuales correspondientes a ciertas palabras, el programa participa en la generación de ellas para una mayor comparación en un solo conjunto. Las tomas más recientes muestran qué palabras en la descripción de la imagen futura que el programa consideró más importantes.



Este conjunto presenta los resultados de la generación de imágenes cuando dos de los vectores de palabras más significativos (negro + blanco, rojo + amarillo, azul + rojo) se seleccionan de una oración.



presentado en la imagen de arriba. "Un gato negro esponjoso flotando en la superficie del lago" es prácticamente indistinguible, aunque el lago en sí está muy bien representado. La misma situación con las señales de tráfico. Sin embargo, la segunda imagen resultó ser prácticamente precisa ("un autobús rojo de dos pisos flotando en la superficie del lago"). Lo único no es un autobús, sino un bote o yate.

Los resultados de tales consultas experimentales solo confirman que el sistema todavía tiene mucho que aprender. En particular, es necesario reponer constantemente la base de conocimiento del sistema. Para que sepa cómo es este o aquel objeto. Sin embargo, a pesar de todas las imprecisiones y fallas en las imágenes generadas, este sistema es sorprendente. El rango de su aplicación es bastante amplio: desde asistencia en diseño de interiores hasta la creación de películas animadas únicamente a través de la lectura del guión. Además, junto con un sistema de reconocimiento facial, el programa de generación de imágenes también puede servir a las agencias de aplicación de la ley, por ejemplo, al compilar un fotobot sospechoso.

Este artículo describe los principios básicos y la esencia del programa para generar imágenes a través de su descripción. Para familiarizarse más con el componente matemático del algoritmo del programa, puede descargar el informe correspondiente de los investigadores.
- ¿Es muy difícil pintar?
"Es fácil o imposible".
(Salvador Dali)

Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendándolo a sus amigos, un descuento del 30% para los usuarios de Habr en un análogo único de servidores de nivel de entrada que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de $ 20 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40 GB de RAM DDR4).

Dell R730xd 2 veces más barato? ¡Solo tenemos 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV desde $ 249 en los Países Bajos y los Estados Unidos! Lea sobre Cómo construir un edificio de infraestructura. clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?

Source: https://habr.com/ru/post/es409785/


All Articles