Difundido sobre os Modelos de Difusão?

Nov 26 2022
Acelerando em modelos de geração de imagens baseados em difusão Eu era um noob em difusão três semanas atrás, mas devido ao burburinho, queria pular no trem da difusão (o que sinto que consegui). O ritmo em que novos desenvolvimentos estão acontecendo no espaço de geração de imagem baseada em difusão (DbIG) é incompreensível.

Aprimoramento em modelos de geração de imagens baseados em difusão

Imagem gerada por Dall-E 2 com o prompt “Diffused about Diffusion Models art”

Eu era um noob da difusão três semanas atrás, mas, devido ao burburinho, queria pular no trem da difusão (o que sinto que consegui). O ritmo em que novos desenvolvimentos estão acontecendo no espaço de geração de imagem baseada em difusão (DbIG) é incompreensível. Fica difícil entender por onde começar a jornada. Neste post, compartilho minha jornada que pode ser útil para outras pessoas que desejam construir uma base fundamental sólida para entender o mundo dos modelos de difusão (DM), incluindo a compreensão da matemática.

Nota1 : Não vou necessariamente falar sobre nenhuma das técnicas em detalhes, mas traçar um caminho de um papel para outro. Acredito que haja uma overdose de blogs/vídeos/artigos que falam sobre várias técnicas. Por outro lado, não encontrei nenhum blog para ajudar a orientar como construir uma base sólida no DbIG.

Nota 2 : Levei cerca de 3 semanas de esforço dedicado para começar dos fundamentos e construir o terreno. Se você deseja construir um entendimento profundo, dedique cerca de 2 semanas do seu tempo, especialmente se você não estiver familiarizado com a matemática dos codificadores automáticos variacionais e quiser obter uma sensação intuitiva da matemática DM.

Vamos começar.

Etapa 1: modelo de difusão inicial

Deep Unsupervisioned Learning using Non-quilibrium Thermodynamics [2015] — Este é o primeiro artigo que introduziu as ideias sobre o uso de 'modelos probabilísticos de difusão'. Embora o artigo seja fácil de preparar se você pular a matemática, entender a matemática requer familiaridade com a Inferência Variacional. Eu recomendaria familiarizar-se com os codificadores automáticos variacionais (VAE) para seguir a matemática.

Codificadores automáticos variacionais [opcional] : embora não seja um requisito para entender os modelos de difusão, um bom entendimento do VAE ajuda a entender as unidades básicas do processo de difusão e a matemática por trás dele.

Etapa 2: DDPM

DDPM: Denoising Diffusion Probabilistic Models [2020] - Foi isso que deu início à mania em torno do DM para geração de imagens.

Indo mais fundo no DDPM:

  • Explicação do Artigo DDPM — O que são Modelos de Difusão? [Blog], Introdução aos modelos de difusão para aprendizado de máquina [Blog]
  • A matemática — modelos de difusão | Explicação do papel | Math Explained [YouTube] vídeo que cobre a matemática em detalhes. Muito útil para obter uma visão passo a passo da matemática [altamente recomendado]
  • Código — ainda restavam algumas confusões que foram removidas seguindo o código/recodificação DM usando Diffusion Models | Implementação do PyTorch [YouTube], Diffusion-Models-pytorch [Github], Diffusion models from scratch in PyTorch [YouTube]
  • Compreendendo a equivalência de DDPM e geração baseada em pontuação — Modelagem generativa por estimativa de gradientes da distribuição de dados [Blog]
  • Técnicas aprimoradas para treinar modelos generativos baseados em pontuação [2020]
  • Modelagem generativa baseada em pontuação por meio de equações diferenciais estocásticas [2020]

U-Net : O DDPM usou pela primeira vez a arquitetura U-Net para DM, que considero tão importante quanto o próprio processo de difusão para ajudar a gerar imagens de alta qualidade. Embora não seja necessário entender o U-Net para entender o processo, mas se você quiser seguir trabalhos mais avançados (codificação timestep, condicionamento de texto), é fundamental saber como o U-Net funciona.

  • U-Net: Redes convolucionais para segmentação de imagens biomédicas [2015] — O artigo da U-Net
  • Redes totalmente convolucionais para segmentação semântica [2014] — Artigo da FCN que é a inspiração para a U-Net
  • Compreendendo o U-Net em detalhes — Compreendendo a arquitetura do U-Net e construindo-a do zero [Youtube]
  • De-convoluções — Um guia para aritmética de convolução para aprendizagem profunda , Up-sampling com Convolução Transposta , Deconvolução e Artefatos Checkerboard

DDIM : Modelos implícitos de difusão de redução de ruído [Outubro de 2020] - Estratégia de amostragem popular alternativa de DM da literatura baseada em pontuação.

Etapa 4: DM sendo estabelecido como a escolha padrão para geração de imagens

  • Modelos probabilísticos de difusão de redução de ruído aprimorados [fevereiro de 2021] — Melhorias no DDPM.
  • Modelos de difusão superam GANs na síntese de imagens [maio de 2021] — Melhorias adicionais no IDDPM. Este documento também introduziu a ideia de 'orientação do classificador' para melhorar a qualidade da geração e fornecer uma maneira de controlar a saída da geração. Acredito que foi isso que definiu a linha de base para o trabalho de acompanhamento do DbIG.
  • Orientação de difusão livre de classificador [julho de 2022] — Resultados aprimorados ao condicionar o modelo U-Net e seguir um treinamento estilo 'abandono'. Esta é uma alternativa à orientação do classificador que requer o treinamento de um classificador de imagem alternativo.
  • Métodos pseudonuméricos para modelos de difusão em variedades [setembro de 2021] — Melhoria na velocidade de amostragem.
  • Super-resolução de imagem por meio de refinamento iterativo [abril de 2021] — Não para geração de imagem, mas fundamental para entender o futuro DM condicionado por imagem e a cascata para melhorar a resolução da imagem.

Três jornais produziram modelos de difusão como material de primeira página.

Difusão estável : síntese de imagem de alta resolução com modelos de difusão latente [dezembro de 2021] — Tornou seu código de código aberto, o que ajudou a democratizar o DM. Ajudou a melhorar a complexidade computacional. Condicionamento via atenção cruzada, etc. Compreendendo a difusão estável em detalhes — A difusão estável ilustrada .

Dall-E 2 : Geração Hierárquica de Imagens Condicionais de Texto com CLIP Latents [abril de 2022] — Não é código aberto, mas uma demonstração online. Adicionada uma etapa adicional de uso de incorporações de imagem CLIP para condicionar e antes de converter as incorporações CLIP de texto em incorporações de imagem.

Imagen : Modelos fotorrealistas de difusão de texto para imagem com compreensão profunda da linguagem [maio de 2022] — Documento do Google, com a seguinte modificação — Uso de incorporações somente de texto (T5), orientação limitada, modelo em cascata.

Etapa 7: outros papéis de difusão popular para geração de imagens até outubro de 2022 [opcional]

  • SDEdit: síntese e edição de imagens guiadas com equações diferenciais estocásticas [agosto de 2021]
  • Paleta: modelos de difusão de imagem para imagem [novembro de 2021]
  • GLIDE: Rumo à geração e edição de imagens fotorrealistas com modelos de difusão guiados por texto [dezembro de 2021]
  • Síntese de imagens semânticas por meio de modelos de difusão [junho de 2022]
  • Uma imagem vale uma palavra: Personalizando a geração de texto para imagem usando a inversão textual [agosto de 2022][inversão de texto]
  • DreamBooth: modelos de difusão de texto para imagem de ajuste fino para geração orientada por assunto [agosto de 2022]
  • Edição de imagem prompt a prompt com controle de atenção cruzada [agosto de 2022]
  • Imagic: edição de imagem real baseada em texto com modelos de difusão [outubro de 2022]
  • MagicMix: mistura semântica com modelos de difusão [outubro de 2022]

É isso pessoal. Difusão feliz.

Eu realmente gostei dessa jornada mágica de criar uma imagem a partir das radiações do Big Bang . Se você acha que existe um artigo/blog/vídeo que o ajudou a embarcar no trem da difusão, por favor, compartilhe comigo.

Agradecimentos : Gostaria de agradecer sinceramente a Sen He , Jerry Wu e Tao Xiang por me ajudar nesta exploração e me apontar as direções certas de tempos em tempos.

Nota Final : Construí este conhecimento em um curto período de tempo, então pode haver alguns erros no meu entendimento. Por favor, deixe-me saber se alguma coisa que eu disse aqui é factualmente incorreta.