Saltar para o conteúdo principal
OpenAI

5 de janeiro de 2021

Marco

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

Treinámos uma rede neural chamada DALL·E que cria imagens a partir de descrições textuais, capaz de expressar vários conceitos em linguagem natural.

DALL·E

Ilustração: Justin Jay Wang

A carregar…

O DALL·E é uma versão do GPT‑3(abre numa nova janela) com 12 mil milhões de parâmetros, treinada para gerar imagens a partir de descrições textuais, utilizando um conjunto de dados de textos e imagens emparelhados. Descobrimos que tem diversas capacidades, como criar versões antropomórficas de animais e objetos, combinar conceitos não relacionados de forma plausível, renderizar texto e aplicar transformações a imagens existentes.

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

A carregar...

O GPT‑3 mostrou que a linguagem pode ser utilizada para instruir uma grande rede neural a executar várias tarefas de geração de texto. O Image GPT demonstrou que o mesmo tipo de rede neural também pode ser utilizado para gerar imagens de alta fidelidade. Alargámos estas descobertas para demonstrar que manipular conceitos visuais através da linguagem está agora ao nosso alcance.

Visão geral

Tal como o GPT‑3, o DALL·E é um modelo de linguagem de transformador. Recebe tanto o texto como a imagem num único fluxo de dados que contém até 1280 tokens, e é treinado utilizando o método da máxima verosimilhança para gerar todos os tokens, um após o outro. A

Este treino permite ao DALL·E não só gerar uma imagem a partir do zero, mas também regenerar qualquer região retangular de uma imagem existente que se estenda até ao canto inferior direito, conforme o prompt de texto.

Reconhecemos que o trabalho com modelos generativos tem o potencial para impactos sociais significativos e abrangentes. No futuro, planeamos analisar de que forma os modelos como o DALL·E se relacionam com questões sociais, como o impacto económico em determinados processos de trabalho e profissões, o potencial enviesamento nos resultados dos modelos e os desafios éticos a longo prazo decorrentes desta tecnologia.

Recursos

Descobrimos que o DALL·E é capaz de criar imagens plausíveis para uma grande variedade de frases que exploram a estrutura composicional da linguagem. A secção seguinte ilustra isto mesmo com uma série de materiais visuais interativos. As amostras apresentadas para cada legenda nos visuais são obtidas ao selecionar as melhores 32 de 512 após reclassificação com o CLIP, mas não fizemos qualquer seleção manual, exceto as miniaturas e as imagens que aparecem no exterior.B

Atributos de controlo

Testamos a capacidade do DALL·E de modificar vários atributos de um objeto, assim como o número de vezes que ele aparece.

A carregar...

Desenho de vários objetos

Controlar simultaneamente vários objetos, os seus atributos e relações espaciais representa um novo desafio. Por exemplo, considera a frase “um ouriço com um chapéu vermelho, luvas amarelas, camisa azul e calças verdes”. Para a interpretar corretamente, o DALL·E deve não só compor corretamente cada peça de vestuário no animal, mas também formar as associações (chapéu, vermelho), (luvas, amarelo), (camisa, azul) e (calças, verde) sem as confundir.C

 Testámos a capacidade do DALL·E para realizar estas tarefas em termos de posicionamento relativo, empilhamento de objetos e controlo de vários atributos.

A carregar...

Embora o DALL·E ofereça algum nível de controlo sobre os atributos e posições de um pequeno número de objetos, a taxa de sucesso pode depender da estrutura da frase. À medida que mais objetos são introduzidos, o DALL·E tende a confundir as associações entre objetos e cores, e a taxa de sucesso diminui drasticamente. Observamos também que o DALL·E é frágil em relação à reformulação das frases nestes cenários: frases diferentes, mas semanticamente equivalentes, não são muitas vezes interpretadas corretamente.

Visualização de perspetiva e tridimensionalidade

Descobrimos que o DALL·E também permite controlar o ponto de vista de uma cena e o estilo 3D em que uma cena é renderizada.

A carregar...

Para aprofundar isto ainda mais, testámos a capacidade do DALL·E de desenhar repetidamente a cabeça de uma figura bem conhecida em vários ângulos igualmente espaçados, e descobrimos que conseguimos criar uma animação fluida da cabeça a rodar.

A carregar...

O DALL·E parece ser capaz de aplicar alguns tipos de distorções óticas às cenas, como as opções “fisheye lens view” e “a spherical panorama”. Assim, resolvemos explorar a sua capacidade de gerar reflexões.

A carregar...

Visualização de estrutura interna e externa

As amostras da “extreme close-up view” e do estilo “x-ray” levaram-nos a explorar ainda mais a capacidade do DALL·E de renderizar a estrutura interna com cortes transversais e a estrutura externa com fotografias macro.

A carregar...

Inferência de detalhes do contexto

A tarefa de traduzir texto para imagens é pouco específica: uma único texto geralmente corresponde a uma infinidade de imagens plausíveis e, portanto, a imagem gerada não é a única interpretação possível. Por exemplo, considera a frase “pintura de uma capivara sentada num campo ao nascer do sol”. Dependendo da orientação da capivara, pode ser necessário desenhar uma sombra, embora este detalhe nunca seja explicitamente mencionado. Exploramos a capacidade do DALL·E de resolver a subespecificação em três casos: mudança de estilo, cenário e tempo; desenhar o mesmo objeto em várias situações; e gerar uma imagem de um objeto com texto específico escrito nele.

A carregar...

Com diferentes graus de fiabilidade, o DALL·E permite o acesso a um subconjunto de recursos de um mecanismo de renderização 3D, através de linguagem natural. Também consegue controlar de forma independente os atributos de um pequeno número de objetos e, de forma limitada, quantos existem e como estão dispostos em relação uns aos outros. Também controla a localização e o ângulo a partir do qual uma cena é renderizada, e pode gerar objetos conhecidos, de acordo com especificações precisas de ângulo e iluminação.

Ao contrário dos mecanismos de renderização 3D, cujas entradas devem ser especificadas de forma inequívoca e detalhada, o DALL·E consegue frequentemente "preencher as lacunas" quando o texto sugere que a imagem deve conter um determinado detalhe que não é explicitamente mencionado.

Aplicações dos recursos anteriores

Em seguida, exploramos a utilização destes recursos para design de moda e de interiores.

A carregar...

Combinação de conceitos não relacionados

A natureza composicional da linguagem permite-nos juntar conceitos para descrever tanto coisas reais como imaginárias. Descobrimos que o DALL·E também tem a capacidade de combinar ideias díspares para sintetizar objetos, alguns dos quais improváveis de existir no mundo real. Exploramos esta capacidade em duas situações: transferir qualidades de vários conceitos para animais e criar produtos inspirados em conceitos não relacionados.

A carregar...

Ilustrações de animais

Na secção anterior, explorámos a capacidade do DALL·E de combinar conceitos não relacionados para gerar imagens de objetos do mundo real. Agora, exploramos esta capacidade no contexto da arte, para três tipos de ilustrações: versões antropomórficas de animais e objetos, quimeras de animais e emojis.

A carregar...

Reflexão visual zero-shot

O GPT‑3 pode ser instruído a realizar muitos tipos de tarefas apenas a partir de uma descrição e de uma sugestão para gerar a resposta obtida no prompt, sem qualquer treino adicional. Por exemplo, ao receber um prompt com a frase “aqui está a frase ‘uma pessoa a passear o seu cão no parque’ traduzida para francês:”, o GPT‑3 responde “un homme qui promène son chien dans le parc.” Esta capacidade chama-se reflexão zero-shot. Descobrimos que o DALL·E amplia esta capacidade ao domínio visual e é capaz de realizar vários tipos de tarefas de transformação de imagem para imagem, quando solicitado com o prompt correto.

A carregar...

Não antecipámos o desenvolvimento desta capacidade, e não fizemos modificações na rede neural ou no procedimento de treino que a incentivassem. Motivados por estes resultados, avaliamos a capacidade do DALL·E para resolver problemas de reflexão analógica. Testamo-lo nas matrizes progressivas de Raven, um teste de QI visual amplamente utilizado no século XX.

A carregar...

Conhecimentos geográficos

Descobrimos que o DALL·E aprendeu sobre factos geográficos, pontos de referência e bairros. O conhecimento destes conceitos é surpreendentemente preciso em algumas áreas e imperfeito noutras.

A carregar...

Conhecimentos temporais

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

A carregar...

Resumo da abordagem e trabalhos anteriores

O DALL·E é um transformador de codificação que recebe tanto o texto como a imagem como um único fluxo de 1280 tokens—256 para texto e 1024 para imagem—e modela todos de forma autorregressiva. A máscara de atenção em cada uma das suas 64 camadas de auto-atenção permite que cada token de imagem atenda a todos os tokens de texto. O DALL·E utiliza a máscara causal padrão para os tokens de texto e a máscara de atenção esparsa para os tokens de imagem em linha, coluna ou um padrão de atenção convolucional, dependendo da camada. Vê mais detalhes sobre a arquitetura e o procedimento de treino no nosso artigo(abre numa nova janela).

A síntese de texto para imagem tem sido uma área ativa de investigação desde o trabalho pioneiro de Reed et al,1 que usava um GAN condicionado com integrações de texto. Essas integrações são produzidas por um codificador pré-treinado com perda contrastiva, semelhante ao CLIP. O StackGAN3 e o StackGAN++4 usam GANs de múltiplas escalas para aumentar a resolução da imagem e melhorar a fidelidade visual. O AttnGAN5 incorpora atenção entre os recursos de imagem e texto, e propõe um recurso texto-imagem contrastivo que aplica a perda como objetivo auxiliar. É interessante comparar a nossa reclassificação com o CLIP, que é feito offline. Outros trabalhos2, 6, 7 incorporam outras fontes de supervisão durante o treino para melhorar a qualidade da imagem. Finalmente, o trabalho de Nguyen et. al8 e Cho et. al9 explora estratégias baseadas em amostragem para a geração de imagens que aproveitam modelos discriminativos multimodais pré-treinados.

Semelhante à amostragem de rejeição utilizada no VQVAE-2(abre numa nova janela), utilizamos o CLIP para reclassificar as melhores 32 de 512 amostras para cada texto em todos os visuais interativos. Este procedimento também pode ser visto como uma espécie de pesquisa orientada por linguagem16, e pode ter um impacto dramático na qualidade da amostra.

A carregar...

Notas de rodapé

  1. A

    Um token é qualquer símbolo de um vocabulário específico; para os humanos, cada letra do alfabeto inglês é um token de um alfabeto de 26 letras. O vocabulário do DALL·E inclui tokens para conceitos de texto e de imagem. Especificamente, cada legenda de imagem é representada usando um máximo de 256 tokens codificados em BPE com um vocabulário de 16384, e a imagem é representada usando 1024 tokens com um vocabulário de 8192.

As imagens são pré-processadas para uma resolução de 256x256 durante o treino. Semelhante ao VQVAE, cada imagem é comprimida para uma matriz de 32x32 de códigos latentes discretos, utilizando um VAE discreto que pré-treinámos com um relaxamento contínuo. Descobrimos que o treino com relaxamento elimina a necessidade de um código explícito, perda por EMA ou truques como a recuperação de código morto, e pode ser dimensionado vocabulários maiores.

  1. B

    Mais detalhes na secção abaixo.

  2. 17

    Esta tarefa é designada por vinculação de variáveis e tem sido 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 numa 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 numa 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 numa 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 numa 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 numa 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 numa 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 numa nova janela)”. EMNLP 2020.

  10. 10

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

  11. 11

    Rezende, Danilo Jimenez, Shakir Mohamed e Daan Wierstra. “Stochastic backpropagation and approximate inference in deep generative models(abre numa 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 numa nova janela)”.

  15. 15

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

  16. 16

    Andreas, J., Klein, D., Levine, S. (2017). “Learning with Latent Language(abre numa 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