4 pontos por GN⁺ 2024-05-27 | 1 comentários | Compartilhar no WhatsApp

Modelagem generativa

  • O problema básico da modelagem generativa é: dado um conjunto de amostras de uma distribuição desconhecida x∼p(x), gerar novas amostras dessa distribuição.

1.1 Modelos de difusão com remoção de ruído

  • Em vez de mapear deterministamente pontos de dados para uma distribuição normal, usa-se um método que os mapeia probabilisticamente ao misturar ruído aleatório.
  • Embora isso possa parecer estranho no início, ao longo de várias etapas mistura-se uma pequena quantidade de ruído em pontos de dados limpos até que eles passem a se parecer com ruído puro.
  • Ao observar um ponto de dados com ruído em cada etapa, é possível inferir aproximadamente onde o ponto de dados estava na etapa anterior.
  • Ao aprender esse processo no sentido inverso, é possível gerar amostras da distribuição p(x).
  • Isso é semelhante a um processo físico de difusão.

Modelo DDP

  • DDP é a sigla de Denoising Diffusion Probabilistic Models.
  • Os avanços mais recentes se baseiam na linguagem e na matemática deste artigo.

2.1 Adição e remoção de ruído

  • Para mapear a imagem de entrada x0 para um ponto em uma distribuição normal padrão, usa-se um processo de difusão direta que adiciona ruído gradualmente ao longo das etapas de tempo t=1,2,…,T.
  • Cada etapa de tempo mistura uma pequena quantidade de ruído aleatório à imagem anterior para gerar uma nova imagem.
  • Esse processo tem natureza iterativa: cada etapa depende apenas da etapa de tempo anterior, e o ruído adicionado é independente das amostras de ruído anteriores.
  • Aprende-se o processo reverso para prever a distribuição da versão menos ruidosa xt-1 da imagem a partir da imagem com ruído xt.

2.2 Aprendizado de remoção de ruído

  • q(xt−1∣xt) é aproximadamente gaussiana para uma quantidade muito pequena de ruído.
  • Esse é um resultado clássico da física estatística.
  • Isso permite aprender a distribuição reversa.
  • Usa-se divergência KL para minimizar a diferença entre q(xt−1∣xt,x0) e pθ(xt−1∣xt) para todos os exemplos de treino x0.
  • A função de perda final se simplifica para um problema de previsão de ruído.

2.3 Amostragem

  • Após treinar o modelo de estimativa de ruído ϵθ(xt,t), ele pode ser usado para amostrar a imagem x0.
  • Amostra-se uma imagem de ruído puro xT∼N(0,I) e, para as etapas de tempo de T até 1, prevê-se o ruído e usa-se essa previsão para amostrar a imagem sem ruído.

2.4 Resumo e exemplo

  • Aprende-se a distribuição subjacente de um conjunto de dados de imagens e define-se o processo direto de adição de ruído para transformar gradualmente a imagem x0 em ruído puro xT.
  • Aprende-se o processo reverso para prever a distribuição de xt-1 a partir de xt.
  • Usa-se divergência KL para garantir que a distribuição aprendida fique o mais próxima possível da distribuição conhecida do conjunto de dados.
  • Por fim, isso se simplifica para um problema de previsão de ruído.

Evolução

3.1 Geração rápida

  • A principal desvantagem dos modelos de difusão iniciais era a velocidade de geração.
  • Depois disso, muitas técnicas foram desenvolvidas para acelerar a geração; algumas podem ser aplicadas diretamente a modelos pré-treinados, enquanto outras exigem o treinamento de novos modelos.

Score matching e amostradores rápidos

  • Os modelos de difusão têm uma conexão notável com equações diferenciais, o que levou ao desenvolvimento de muitos amostradores rápidos.
  • Prever a direção do ruído é equivalente ao gradiente da log-verossimilhança do processo direto.
  • Isso forma a base dos modelos baseados em score, que aprendem o score de conjuntos de dados com ruído e geram novas amostras seguindo o campo de score.

Opinião do GN⁺

  1. Entendimento dos modelos de difusão: os modelos de difusão podem ser aplicados não apenas à geração de imagens, mas também a áreas diversas como animação, geração de vídeo, modelagem 3D, previsão da estrutura de proteínas e planejamento de trajetórias de robôs.
  2. Complexidade do processo de treinamento: o processo de treinamento de modelos de difusão é complexo, mas permite gerar imagens extremamente sofisticadas.
  3. Técnicas de geração rápida: as técnicas de geração rápida melhoram bastante a praticidade dos modelos de difusão.
  4. Modelos baseados em score: os modelos baseados em score funcionam de forma semelhante aos modelos de difusão e contribuem para aumentar a velocidade de amostragem.
  5. Pontos a considerar na adoção da tecnologia: ao adotar modelos de difusão, é preciso considerar tempo de treinamento, recursos computacionais e a complexidade do modelo.

1 comentários

 
GN⁺ 2024-05-27

Comentários do Hacker News

  • Descobri que os modelos de difusão surgiram antes da teoria de score matching. Quando a OpenAI treinou com 250 milhões de imagens, foi uma tentativa ousada, apesar da falta de explicação teórica.
  • O loop de treinamento parece estar errado. Como x0 e eps não são usados na representação de xt, parece que ele está prevendo ruído aleatório.
  • Estou procurando a melhor biblioteca Python com licença Apache ou MIT para transformadores de difusão.
  • Obrigado por compartilhar. Consegui ter uma visão melhor de como os modelos de difusão funcionam. A aleatoriedade é poderosa. Agora é hora de tentar programar em uma linguagem inadequada.
  • Não há muito para resumir para quem está lendo os comentários. Este post é um resumo do Stable Diffusion.
  • Em 2022, enquanto aprendia a desenhar, fiquei surpreso com o surgimento de modelos de arte com IA como o Stable Diffusion. O computador se tornou um artista melhor do que eu. Quanto mais a IA invade o trabalho criativo, mais sinto vontade de acabar com tudo isso.