No artigo anterior, nós o conhecemos e alguém atualizou a maneira como ensinamos as máquinas a entender nosso discurso. Agora é difícil se surpreender com um programa ou um robô que pode conduzir uma conversa com uma pessoa. Mas e se uma pessoa disser ao robô "me faça um pôr do sol à beira-mar"? O robô pode entender isso e desenhar? Agora ele pode. Graças ao desenvolvimento de Xiaodong He (não traduziremos o nome para não distorcê-lo) e sua equipe de pesquisadores de inteligência artificial. Vamos descobrir como a criação deles funciona e se é possível abrir uma galeria de arte com as obras deste programa. Vamos lá
Brevemente sobre a essência
Se você exagerar, o programa funcionará com o princípio "Eu desenho, o que eles me dizem". Você diz "bule roxo com nariz comprido", e o programa pixel por pixel tenta representar com precisão essas informações, ou seja, visualizar suas palavras. Para fazer isso, ela precisa, antes de tudo, entender o que você está dizendo e, em seguida, determinar as palavras mais importantes - vetores, com base nas quais você pode criar suposições sobre a versão necessária da imagem.
Xiaodong Ele diz o seguinte: “... Se você usar o Bing e procurar um pássaro, terá uma foto do pássaro. Mas no nosso caso, uma imagem é criada por um computador, pixel por pixel, a partir do zero ... Esses pássaros podem não existir no mundo real - eles serão um exemplo da representação de pássaros de um computador ... "
Este projeto não foi o primeiro para Xiaodong He e seus colegas. Anteriormente, eles estavam desenvolvendo o sistema CaptionBot AI, que criava descrições automaticamente para fotos. Havia também o SeeingAI, um sistema que responde a perguntas humanas sobre fotografia. Segundo os pesquisadores, este último seria muito adequado para pessoas cegas e com deficiência visual.
A base do projeto “artista sob demanda” é uma combinação de dois sistemas: Rede Adversarial Generativa (GAN) - um gerador de imagens e discriminador (discriminador) - um módulo que analisa criticamente a qualidade da imagem recebida.
Outro componente importante desse sistema foi o cálculo matemático e a expressão da atenção humana. Quando vemos um objeto, prestamos atenção, ainda que subconscientemente, a algumas de suas características externas. É o mesmo quando eles nos falam sobre um objeto. Somos informados sobre limões, vemos ovais pequenos frutos amarelos. Nós não representamos pêssegos. Isso acontece em nosso cérebro automaticamente. Quanto à máquina, você precisa programar seu cérebro para que ele funcione pelo menos um pouco como um humano. Mas sabemos que uma máquina entende melhor a linguagem dos números - a matemática, e é por isso que os pesquisadores converteram algo como atenção em fórmulas matemáticas. E agora mais sobre cada um dos componentes do sistema.
Rede Generativa de Atenção GAN
Segundo os pesquisadores, seu sistema GAN difere dos similares na atenção aos detalhes. Um GAN comum percebe a frase inteira (por exemplo, "um bule roxo com nariz comprido") como um único vetor que deve ser seguido durante a renderização. No caso do desenvolvimento de nossos heróis, é dada atenção a palavras individuais que se tornam vetores de visualização para partes individuais da imagem. Simplificando, o programa não desenha a imagem inteira de uma só vez, mas a divide em peças (como quebra-cabeças) e desenha cada uma delas separadamente.
Para explicar em palavras simples como um sistema matemático funciona, vamos imaginar que nossa sentença (descrição para a imagem) seja uma fórmula e as palavras sejam variáveis.
Representação esquemática do algoritmo do programaCada uma das palavras é um vetor importante, isto é, determina em qual direção o programa irá pensar. Para começar, o sistema deve selecionar as palavras mais significativas. O sistema tenta combinar palavras e seções individuais da imagem futura. Por exemplo, um pássaro azul com bico preto - se considerarmos a palavra "preto", ela se refere ao bico - uma seção separada da imagem.
Tendo determinado o vetor de cada uma das palavras, o programa coleta todas as informações na forma de uma matriz, que começa a perceber como uma imagem.

Como exemplo, os pesquisadores propõem considerar 4 solicitações de natureza diferente (foto acima).
Considere as três primeiras imagens de um pássaro. Como você pode ver, eles são muito diferentes em qualidade e detalhes. O fato é que o primeiro quadro (embaçado e impreciso) é o resultado da geração da imagem ao analisar a frase inteira como um único vetor. No segundo quadro, nosso pássaro já é mais visível, pois a frase foi dividida em palavras separadas (vetores), o que permitiu esclarecer alguns detalhes (por exemplo, olho preto - olho roxo).
As mesmas imagens são mostradas abaixo, mas com a alocação de seções individuais correspondentes a determinadas palavras, o programa está envolvido na geração delas para posterior comparação em um único todo. As fotos mais recentes mostram quais palavras na descrição da imagem futura o programa considerou as mais importantes.

Este conjunto apresenta os resultados da geração de imagens quando dois dos vetores de palavras mais significativos (preto + branco, vermelho + amarelo, azul + vermelho) são selecionados de uma frase.

apresentado na imagem acima. “Um gato preto fofo flutuando na superfície do lago” é praticamente indistinguível, embora o próprio lago seja retratado muito bem. A mesma situação com sinais de trânsito. No entanto, a segunda imagem mostrou-se praticamente precisa (“um ônibus vermelho de dois andares flutuando na superfície do lago”). A única coisa que não é um ônibus, mas um barco ou iate.
Os resultados dessas consultas experimentais apenas confirmam que o sistema ainda tem muito a aprender. Em particular, é necessário reabastecer constantemente a base de conhecimento do sistema. Para que ela saiba como é esse ou aquele objeto. No entanto, apesar de todas as imprecisões e falhas nas imagens geradas, este sistema é incrível. O alcance de sua aplicação é bastante amplo: da assistência em design de interiores à criação de filmes de animação apenas através da leitura do roteiro. Além disso, em conjunto com um sistema de reconhecimento facial, o programa de geração de imagens também pode servir às agências policiais, por exemplo, ao compilar um photobot suspeito.
Este artigo descreveu os princípios básicos e a essência do programa para gerar imagens através de sua descrição. Para uma maior familiarização dos pombos com o componente matemático do algoritmo do programa, você pode
baixar o relatório correspondente dos pesquisadores- É muito difícil pintar?
"É fácil ou impossível."
(Salvador Dali)
Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um
desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps da US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB de RAM DDR4).
Dell R730xd 2 vezes mais barato? Somente nós temos
2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre
Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?