Ângulo de Anderson
O modelo de difusão eDiffi da NVIDIA permite “pintar com palavras” e mais

Ao tentar criar composições precisas com modelos de imagem generativa de difusão latente, como o Stable Diffusion, pode ser como tentar controlar gatos; os mesmos poderes imaginativos e interpretativos que permitem que o sistema crie detalhes extraordinários e invoque imagens extraordinárias a partir de prompts de texto relativamente simples também são difíceis de desligar quando você está procurando por controle de nível de Photoshop sobre a geração de imagens.
Agora, uma nova abordagem da pesquisa da NVIDIA, intitulada ensemble diffusion for images (eDiffi), usa uma mistura de métodos de incorporação e interpretativos múltiplos (em vez do mesmo método em todo o pipeline) para permitir um nível muito maior de controle sobre o conteúdo gerado. No exemplo abaixo, vemos um usuário pintando elementos onde cada cor representa uma palavra de um prompt de texto:

‘Pintar com palavras’ é uma das duas capacidades novas no modelo de difusão eDiffi da NVIDIA. Cada cor aplicada representa uma palavra do prompt (veja-as aparecer à esquerda durante a geração), e a cor da área aplicada consistirá apenas daquele elemento. Veja o vídeo oficial para mais exemplos e melhor resolução em https://www.youtube.com/watch?v=k6cOx9YjHJc
Essencialmente, isso é “pintar com máscaras”, e reverte o paradigma de pintura no Stable Diffusion, que é baseado em consertar imagens quebradas ou insatisfatórias, ou estender imagens que poderiam ter sido do tamanho desejado desde o início.
Aqui, em vez disso, as margens da cor aplicada representam os limites aproximados permitidos de apenas um elemento único de um conceito único, permitindo que o usuário defina o tamanho final da tela desde o início e, em seguida, adicione elementos discretamente.

Exemplos do novo artigo. Fonte: https://arxiv.org/pdf/2211.01324.pdf
Os métodos variados empregados no eDiffi também significam que o sistema faz um trabalho muito melhor em incluir todos os elementos em prompts longos e detalhados, enquanto o Stable Diffusion e o DALL-E 2 da OpenAI tendem a priorizar certas partes do prompt, dependendo de como elas aparecem no prompt ou de outros fatores, como a dificuldade em desembaraçar os vários elementos necessários para uma composição completa, mas abrangente (em relação ao texto-prompt):

Do artigo: o eDiffi é capaz de iterar mais completamente através do prompt até que o número máximo possível de elementos seja renderizado. Embora os resultados melhorados para o eDiffi (coluna mais à direita) sejam escolhidos, os exemplos de comparação do Stable Diffusion e do DALL-E 2 também são escolhidos.
Além disso, o uso de um codificador de texto-para-texto T5 dedicado significa que o eDiffi é capaz de renderizar texto em inglês compreensível, seja solicitado abstratamente a partir de um prompt (i.e., imagem contém algum texto de [x]) ou explicitamente solicitado (i.e., a camiseta diz ‘Nvidia Rocks’):

Processamento de texto-para-texto dedicado no eDiffi significa que o texto pode ser renderizado verbatim em imagens, em vez de ser executado apenas por uma camada interpretativa de texto-para-imagem que distorce a saída.
Um impulso adicional ao novo quadro é que também é possível fornecer uma imagem única como um prompt de estilo, em vez de precisar treinar um modelo DreamBooth ou uma incorporação textual em múltiplos exemplos de um gênero ou estilo.

Transferência de estilo pode ser aplicada de uma imagem de referência para um prompt de texto-para-imagem, ou até mesmo um prompt de imagem-para-imagem.
O novo artigo é intitulado eDiffi: Modelos de difusão de texto-para-imagem com um conjunto de denoisers especializados, e
O Codificador de Texto T5
O uso do Transformador de Transferência de Texto-para-Texto da Google (T5) é o elemento fundamental nos resultados aprimorados demonstrados no eDiffi. O pipeline de difusão latente médio centra-se na associação entre imagens treinadas e as legendas que as acompanhavam quando foram coletadas da internet (ou ajustadas manualmente mais tarde, embora isso seja uma intervenção cara e, portanto, rara).

Do artigo de julho de 2020 para o T5 – transformações baseadas em texto, que podem ajudar o fluxo de trabalho de imagem generativa no eDiffi (e, potencialmente, outros modelos de difusão latente). Source: https://arxiv.org/pdf/1910.10683.pdf
Ao reescrever o texto-fonte e executar o módulo T5, podem ser obtidas associações e representações mais exatas do que as treinadas originalmente no modelo, quase como etiquetagem manual pós-fato com maior especificidade e aplicabilidade às especificações do prompt de texto solicitado.
Os autores explicam:
‘Na maioria dos trabalhos existentes sobre modelos de difusão, o modelo de denoising é compartilhado por todos os níveis de ruído, e a dinâmica temporal é representada usando uma incorporação de tempo simples que é alimentada ao modelo de denoising por meio de uma rede MLP. Argumentamos que a dinâmica temporal complexa do denoising de difusão pode não ser aprendida com eficácia a partir dos dados usando um modelo compartilhado com capacidade limitada.
‘Em vez disso, propomos aumentar a capacidade do modelo de denoising introduzindo um conjunto de denoisers especializados; cada denoiser especializado é um modelo de denoising especializado para um determinado intervalo de níveis de ruído. Dessa forma, podemos aumentar a capacidade do modelo sem diminuir a velocidade de amostragem, pois a complexidade computacional de avaliar [o elemento processado] em cada nível de ruído permanece a mesma.’

Arquitetura conceitual para o eDiffi.
O módulo de codificação CLIP existente incluído no DALL-E 2 e no Stable Diffusion também é capaz de encontrar interpretações de imagem alternativas para texto relacionado à entrada do usuário. No entanto, eles são treinados em informações semelhantes às do modelo original e não são usados como uma camada interpretativa separada da maneira como o T5 é no eDiffi.
Os autores afirmam que o eDiffi é a primeira vez que um T5 e um codificador CLIP foram incorporados em um único pipeline:
‘Como esses dois codificadores são treinados com objetivos diferentes, suas incorporações favorecem a formação de imagens diferentes com o mesmo texto de entrada. Enquanto as incorporações de texto CLIP ajudam a determinar a aparência global das imagens geradas, as saídas tendem a perder os detalhes finos no texto.
‘Em contraste, as imagens geradas com incorporações de texto T5 refletem melhor os objetos individuais descritos no texto, mas a aparência global é menos precisa. Usá-los em conjunto produz os melhores resultados de geração de imagens em nosso modelo.’
Interrompendo e Aumentando o Processo de Difusão
O artigo observa que um modelo de difusão latente típico começará a jornada desde o ruído puro até uma imagem, confiando apenas no texto nos estágios iniciais da geração.
Quando o ruído se resolve em algum tipo de layout representando a descrição no prompt de texto, o aspecto orientado por texto do processo essencialmente desaparece, e o restante do processo se desloca em direção à ampliação das características visuais.
Isso significa que qualquer elemento que não foi resolvido no estágio nascente da interpretação de ruído orientada por texto é difícil de injetar na imagem posteriormente, porque os dois processos (texto-para-layout e layout-para-imagem) têm relativamente pouca sobreposição, e o layout básico está bastante emaranhado quando chega ao processo de ampliação da imagem.

Do artigo: os mapas de atenção de várias partes do pipeline à medida que o processo de ruído-para-imagem amadurece. Podemos ver a queda acentuada na influência do CLIP na imagem na linha inferior, enquanto o T5 continua a influenciar a imagem muito mais tarde no processo de renderização.
Potencial Profissional
Os exemplos na página do projeto e no vídeo do YouTube centram-se na geração de imagens fofas e de memes. Como de costume, a pesquisa da NVIDIA está minimizando o potencial de sua última inovação para melhorar os fluxos de trabalho de imagens fotorealistas ou de efeitos visuais, bem como seu potencial para melhorar a imagem de deepfake e vídeo.
Nos exemplos, um usuário iniciante ou amador desenha esboços grosseiros de colocação para o elemento específico, enquanto em um fluxo de trabalho de efeitos visuais mais sistemático, poderia ser possível usar o eDiffi para interpretar múltiplos quadros de um elemento de vídeo usando texto-para-imagem, onde os contornos são muito precisos e baseados, por exemplo, em figuras onde o fundo foi removido por meio de tela verde ou métodos algorítmicos.

Runway ML já fornece roteamento baseado em IA. Neste exemplo, a ‘tela verde’ ao redor do assunto representa a camada alfa, enquanto a extração foi realizada por meio do aprendizado de máquina, em vez da remoção algorítmica de um fundo de tela verde real. Fonte: https://twitter.com/runwayml/status/1330978385028374529
Usando um personagem treinado DreamBooth e um pipeline de imagem-para-imagem com o eDiffi, é potencialmente possível começar a resolver um dos problemas do modelo de difusão latente: a estabilidade temporal. Nesse caso, tanto as margens da imagem aplicada quanto o conteúdo da imagem seriam ‘pré-flutuados’ contra a tela do usuário, com continuidade temporal do conteúdo renderizado (i.e., transformando um praticante de Tai Chi real em um robô) fornecida pelo uso de um modelo DreamBooth bloqueado que ‘memorizou’ seus dados de treinamento – ruim para a interpretabilidade, ótimo para a reprodutibilidade, a fidelidade e a continuidade.
Método, Dados e Testes
O artigo afirma que o modelo eDiffi foi treinado em ‘uma coleção de conjuntos de dados públicos e proprietários’, fortemente filtrados por um modelo CLIP pré-treinado, para remover imagens que provavelmente diminuiriam a pontuação estética geral da saída. O conjunto de imagens final filtrado compreende ‘cerca de um bilhão’ de pares de texto-imagem. O tamanho das imagens treinadas é descrito como tendo ‘o lado mais curto maior que 64 pixels’.
Vários modelos foram treinados para o processo, com os modelos base e super-resolução treinados no otimizador AdamW com uma taxa de aprendizado de 0,0001, com um decaimento de peso de 0,01 e em um lote formidável de 2048.
O modelo base foi treinado em 256 GPUs NVIDIA A100, e os dois modelos de super-resolução em 128 GPUs NVIDIA A100 para cada modelo.
O sistema foi baseado na biblioteca PyTorch Imaginaire da própria NVIDIA. Os conjuntos de dados COCO e Visual Genome foram usados para avaliação, embora não tenham sido incluídos nos modelos finais, com MS-COCO sendo a variante específica usada para testes. Os sistemas rivais testados foram GLIDE, Make-A-Scene, DALL-E 2, Stable Diffusion, e os dois sistemas de síntese de imagem da Google, Imagen e Parti.
De acordo com trabalhos anteriores semelhantes, FID-30K de zero-shot foi usado como uma métrica de avaliação. Sob FID-30K, 30.000 legendas são extraídas aleatoriamente do conjunto de validação do COCO (i.e., não as imagens ou texto usadas no treinamento), que foram usadas como prompts de texto para sintetizar imagens.
A distância de Frechet Inception (FID) entre as imagens geradas e as imagens de verdade foi calculada, além de registrar a pontuação CLIP para as imagens geradas.

Resultados dos testes FID de zero-shot contra abordagens atuais do estado da arte no conjunto de validação do COCO 2014, com resultados mais baixos melhor.
No resultado, o eDiffi foi capaz de obter a pontuação mais baixa (melhor) em FID de zero-shot, mesmo contra sistemas com um número muito maior de parâmetros, como os 20 bilhões de parâmetros do Parti, em comparação com os 9,1 bilhões de parâmetros no modelo eDiffi de maior especificação treinado para os testes.
Conclusão
O eDiffi da NVIDIA representa uma alternativa bem-vinda ao simplesmente adicionar mais e mais dados e complexidade aos sistemas existentes, em vez de usar uma abordagem mais inteligente e em camadas para alguns dos obstáculos mais espinhosos relacionados à entrelaçamento e não-editabilidade em sistemas de imagem generativa de difusão latente.
Há já discussão nos subreddits e Discords do Stable Diffusion sobre a incorporação direta de qualquer código que possa ser disponibilizado para o eDiffi, ou reencenar os princípios por trás dele em uma implementação separada. O novo pipeline, no entanto, é tão radicalmente diferente que constituiria uma alteração de número de versão para o SD, abandonando alguma compatibilidade com versões anteriores, embora oferecendo a possibilidade de níveis muito melhorados de controle sobre as imagens sintetizadas finais, sem sacrificar os poderes imaginativos cativantes da difusão latente.
Publicado pela primeira vez em 3 de novembro de 2022.












