Pular para o conteúdo principal
OpenAI

5 de janeiro de 2021

Marco

DALL·E: criação de imagens a partir de texto

Treinamos uma rede neural chamada DALL·E, que consegue criar imagens a partir de legendas de texto. Ela pode ser usada para expressar diversos conceitos em linguagem natural.

DALL·E

Ilustração: Justin Jay Wang

Carregando…

O DALL E é uma versão do GPT‑3(abre em uma nova janela) com 12 bilhões de parâmetros. Ele foi treinado para gerar imagens a partir de descrições em texto e faz uso de um conjunto de dados de textos e imagens emparelhados. Observamos que ele já é capaz de desempenhar diversas ações, como criação de versões antropomórficas de animais e objetos, comparação de conceitos díspares de maneira plausível, geração de texto e aplicação de transformações a imagens existentes.

Veja também: o DALL·E 2, que gera imagens mais realistas e precisas, com 4 vezes mais resolução.

Carregando…

O GPT‑3 demonstrou que é possível usar a linguagem para instruir uma rede neural a executar diversas tarefas de geração de texto. O Image GPT, por sua vez, demonstrou que esse mesmo tipo de rede neural também pode ser usado para gerar imagens de alta fidelidade. Agora, nós conseguimos ir além e mostramos que manipular conceitos visuais através da linguagem já é uma possibilidade.

Visão geral

Assim como o GPT‑3, o DALL·E é um modelo de linguagem transformador. Ele recebe o texto e a imagem num só fluxo de dados com até 1.280 tokens e é treinado para usar a maior probabilidade de geração de todos os tokens, um após o outro A.

Com esse treinamento, o DALL E, além de gerar uma nova imagem, também regenera qualquer região retangular de uma imagem existente que se estenda até o canto inferior direito, seguindo o prompt de texto.

Estamos cientes de que o trabalho com modelos generativos tem potencial para gerar impactos sociais de amplo alcance. É por isso que, no futuro, pretendemos analisar de que forma os modelos parecidos com o DALL·E se relacionam com questões sociais — como, por exemplo, impacto econômico em determinados processos de trabalho e profissões, possibilidade de vieses nos resultados do modelo e desafios éticos de longo prazo ocasionados pela tecnologia.

Recursos

Constatamos que o DALL·E consegue criar imagens plausíveis para diversas frases, explorando a estrutura composicional da linguagem. A seção a seguir oferece uma série de materiais visuais interativos para ilustrar isso. As amostras apresentadas para cada legenda são obtidas dentre as melhores 32 respostas dentre um total de 512, após a reclassificação com o CLIP. Contudo, não fizemos nenhuma seleção manual além de escolher as miniaturas e imagens que aparecem no exterior.B

Atributos de controle

Testamos a capacidade do DALL·E na modificação de diversos atributos de um objeto, bem como o número de vezes que ele aparece.

Carregando…

Desenho de vários objetos

Controlar ao mesmo tempo vários objetos, seus atributos e relações espaciais é um grande desafio. Considere, por exemplo, a frase: “um ouriço com chapéu vermelho, luvas amarelas, camisa azul e calças verdes”. Para interpretá-la corretamente, o DALL·E precisa não só compor cada peça de vestuário em cima do corpo do animal, mas também associações (chapéu, vermelho), (luvas, amarelas), (camisa, azul) e (calças, verdes), sem misturá-las.C

 Averiguamos se o DALL·E era capaz de fazer isso em situações como posições relativas, empilhamento de objetos e controle de múltiplos atributos.

Carregando…

Ele apresenta algum nível de controle sobre atributos e posições para um pequeno número de objetos, mas o sucesso depende da estrutura da frase. Conforme mais objetos são adicionados, o DALL·E tende a confundir a associação entre objetos e cores, levando a uma drástica redução na taxa de sucesso. Observamos também que o DALL·E não se adapta bem à reestruturação de frases nessas situações: prompts diferentes, mas semanticamente equivalentes, muitas vezes não são interpretados corretamente.

Visualização de perspectiva e tridimensionalidade

Constatamos que o DALL·E também permite controlar o ponto de vista de uma cena e o estilo tridimensional de apresentação da cena.

Carregando…

Em testes mais avançados, analisamos sua capacidade de desenhar várias vezes a cabeça de uma figura histórica conhecida em vários ângulos diferentes, numa sequência de ângulos a distâncias equivalentes, e observamos que é possível criar uma animação dinâmica e rotatória de uma cabeça.

Carregando…

O DALL·E parece conseguir aplicar alguns tipos de distorção óptica às cenas, como nas opções “fisheye lens view” ou “a spherical panorama”. Por isso, resolvemos explorar a possibilidade de gerar reflexos.

Carregando…

Visualização de estrutura interna e externa

As amostras dos estilos “extreme close-up view” e “x-ray” trouxeram a ideia de explorar a capacidade de geração de estruturas internas com cortes transversais e estruturas externas com fotografias em macro.

Carregando…

Inferência de detalhes do contexto

A tarefa de transformar texto em imagens é bastante complexa: afinal, um mesmo texto pode gerar infinitas imagens plausíveis, o que significa que a imagem gerada não é a única interpretação possível. Um exemplo básico é a frase: “pintura de uma capivara sentada num campo ao nascer do sol”. Dependendo da orientação do animal, pode ser necessário desenhar uma sombra — ainda que esse detalhe não tenha sido mencionado. Exploramos a capacidade do DALL·E para solucionar esse tipo de subespecificação em três casos específicos: mudança de estilo, cenário e horário; desenhar o mesmo objeto em diversas situações; e gerar uma imagem de um objeto com texto específico escrito nele.

Carregando…

O DALL·E apresenta níveis variados de veracidade e permite acessar um subconjunto dos recursos de um mecanismo de renderização em 3D, usando linguagem natural. Também consegue interpretar de forma independente os atributos de um pequeno número de objetos e, até certo ponto, interpretar também quantos objetos existem e como estão organizados em relação uns aos outros. Ele também controla a posição e ângulo de apresentação da cena e consegue gerar objetos conhecidos — de acordo com especificações precisas de ângulo e iluminação.

Ao contrário dos mecanismos de renderização 3D, que exigem entradas especificadas sem ambiguidade e com todos os mínimos detalhes, o DALL·E consegue muitas vezes dar conta do recado mesmo que o prompt deixe implícito o fato de que a imagem deve conter certos detalhes que não foram explicitamente declarados.

Aplicações dos recursos descritos acima

Exploramos a seguir o uso desses recursos para design de moda e interiores

Carregando…

Combinação de conceitos não relacionados

A natureza compositiva da linguagem permite reunir conceitos para descrever coisas reais e imaginárias. Constatamos que o DALL·E também é capaz de combinar ideias díspares para gerar objetos, alguns dos quais não poderiam existir no mundo real. Exploramos essa capacidade em duas situações: transferência de qualidades de diversos conceitos para animais, e criação de produtos inspirados em conceitos que não apresentam relação entre si.

Carregando…

Ilustrações de animais

Na seção anterior, exploramos a capacidade do DALL·E de combinar conceitos díspares para gerar imagens de objetos reais. Agora, vamos explorar essa capacidade dentro do contexto da arte, sobretudo em três tipos de ilustrações: versões antropomórficas de animais e objetos, quimeras animais e emojis.

Carregando…

Reflexão visual em zero-shot

O GPT‑3 pode ser instruído a realizar muitos tipos de tarefas com descrições e instruções, de modo a gerar a resposta obtida no prompt — sem treinamento adicional. Por exemplo, ao receber o prompt: “here is the sentence ‘a person walking his dog in the park’ translated into French:”, o GPT‑3 traduz: “un homme qui promène son chien dans le parc.” Essa capacidade se chama reflexão zero-shot. Observamos que o DALL·E amplia essa capacidade para o domínio visual e consegue realizar várias tarefas de transformação de imagens em imagens, se corretamente instruído.

Carregando…

Não prevíamos o desenvolvimento desta capacidade e também não realizamos modificações na rede neural, tampouco procedimentos que a estimulassem. Com esses resultados em mãos, decidimos avaliar a capacidade do DALL·E de solucionar problemas de reflexão analógicos. Para isso, aplicamos as matrizes progressivas do Raven: um teste de QI visual muito usado no século XX.

Carregando…

Conhecimentos geográficos

Observamos que o DALL E conhece fatos de geografia, locais e bairros. Seu conhecimento desses conceitos é surpreendentemente preciso em algumas áreas, mas deixa a desejar em outras.

Carregando…

Conhecimentos temporais

Além de explorar o conhecimento do DALL·E quanto aos conceitos de espaço, exploramos também conceitos que variam com o tempo.

Carregando…

Resumo da abordagem e trabalhos anteriores

O DALL·E é um simples transformador de decodificação, que recebe tanto o texto quanto a imagem num único fluxo de 1.280 tokens (256 de texto e 1.024 da imagem), modelando todos de forma auto-regressiva. A máscara de atenção em cada uma de suas 64 camadas de auto-atenção permite que cada token de imagem atenda a todos os tokens de texto. O DALL·E usa a máscara causal padrão para os tokens de texto e, além disso, a máscara de atenção esparsa para os tokens de imagem, com uma linha, uma coluna ou um padrão de atenção convoluta, dependendo da camada. Veja mais detalhes sobre a arquitetura e o procedimento de treinamento em nosso artigo(abre em uma nova janela).

A sintetização de texto em imagem tem sido uma área ativa no desenvolvimento de pesquisas desde os primeiros trabalhos de Reed et.al.1, que usavam um GAN condicionado com integrações de texto. Essas integrações são produzidas por um codificador pré-treinado com perda contrastiva, não muito diferente do CLIP. O StackGAN3 e o StackGAN++4 usam GANs multi-dimensionáveis para dimensionar a resolução da imagem e melhorar a fidelidade visual. O AttnGAN5 incorpora atenção entre os recursos de imagem e texto, propondo assim um recurso texto-imagem contrastivo que aplica a perda como objetivo auxiliar. É interessante comparar nossa reclassificação com o CLIP, que é feito offline. Outros trabalhos2, 6, 7 incorporam outras fontes de supervisão durante o treinamento para melhorar a qualidade das imagens. Por fim, os trabalhos de Nguyen et. al8 e Cho et. al9 exploram estratégias de amostragem para geração de imagens baseadas em modelos discriminativos multimodais pré-treinados.

Assim como a amostragem por rejeição usada no VQVAE-2(abre em uma nova janela), usamos o CLIP para reclassificar as primeiras 32 das 512 amostras para cada texto em todos os visuais interativos. O procedimento também pode ser considerado uma espécie de pesquisa orientada por linguagem16, e pode ter um impacto considerável na qualidade da amostra.

Carregando…

Notas de rodapé

  1. A

    Um token é qualquer símbolo de um vocabulário selecionado; para humanos, cada letra do inglês é um token de um alfabeto de 26 letras. O vocabulário do DALL·E tem tokens para conceitos de texto e imagens. De fato, cada legenda de imagem é representada com no máximo 256 tokens codificados em BPE com vocabulário de 16.384, e a imagem é representada com 1.024 tokens, com vocabulário de 8.192.

As imagens são pré-processadas com resolução 256x256 durante o treinamento. Assim como o VQVAE, cada imagem é comprimida para uma matriz 32x32 de códigos latentes discretos, usando um VAE discreto que foi pré-treinado com relaxamento contínuo . Constatamos que o treinamento com relaxamento impõe a necessidade de um livro de código explícito, perda por EMA ou truques como ressuscitação de código, e pode ser dimensionado para vocabulários de tamanho maior .

  1. B

    Veja mais detalhes na seção abaixo .

  2. 17

    Esta tarefa é chamada de vinculação de variáveis e foi amplamente estudada na literatura especializada .

Referências

  1. 1

    Reed, S., Akata, Z., Yan, X., Logeswaran, L., Schiele, B., Lee, H. (2016). “Generative adversarial text to image synthesis(abre em uma nova janela)”. ICML 2016.

  2. 2

    Reed, S., Akata, Z., Mohan, S., Tenka, S., Schiele, B., Lee, H. (2016). “Learning what and where to draw(abre em uma nova janela)”. NIPS 2016.

  3. 3

    Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang X., Metaxas, D. (2016). “StackGAN: Text to photo-realistic image synthesis with stacked generative adversarial networks(abre em uma nova janela)”. ICCY 2017.

  4. 4

    Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X., Metaxas, D. (2017). “StackGAN++: realistic image synthesis with stacked generative adversarial networks(abre em uma nova janela)”. IEEE TPAMI 2018.

  5. 5
  6. 6

    Li, W., Zhang, P., Zhang, L., Huang, Q., He, X., Lyu, S., Gao, J. (2019). “Object-driven text-to-image synthesis via adversarial training(abre em uma nova janela)”. CVPR 2019.

  7. 7

    Koh, J. Y., Baldridge, J., Lee, H., Yang, Y. (2020). “Text-to-image generation grounded by fine-grained user attention(abre em uma nova janela)”. WACV 2021.

  8. 8
  9. 9

    Cho, J., Lu, J., Schwen, D., Hajishirzi, H., Kembhavi, A. (2020). “X-LXMERT: Paint, caption, and answer questions with multi-modal transformers(abre em uma nova janela)”. EMNLP 2020.

  10. 10

    Kingma, Diederik P., and Max Welling. “Auto-encoding variational bayes(abre em uma nova janela).” arXiv preprint (2013).

  11. 11

    Rezende, Danilo Jimenez, Shakir Mohamed, Daan Wierstra. “Stochastic backpropagation and approximate inference in deep generative models(abre em uma nova janela).” arXiv preprint (2014).

  12. 12
  13. 13
  14. 14

    van den Oord, A., Vinyals, O., Kavukcuoglu, K. (2017). “Neural discrete representation learning(abre em uma nova janela)”.

  15. 15

    Razavi, A., van der Oord, A., Vinyals, O. (2019). “Generating diverse high-fidelity images with VQ-VAE-2(abre em uma nova janela)”.

  16. 16

    Andreas, J., Klein, D., Levine, S. (2017). “Learning with Latent Language(abre em uma nova janela)”.

  17. 17
  18. 18
  19. 19
  20. 20

Autores principais

Aditya Ramesh, Mikhail Pavlov, Gabriel Goh, Scott Gray

Autores de apoio

Mark Chen, Rewon Child, Vedant Misra, Pamela Mishkin, Gretchen Krueger, Sandhini Agarwal, Ilya Sutskever