Inteligência Artificial

Modelos de difusão explicados: como Stable Diffusion gera imagens a partir de texto

Modelos de difusão explicados: como Stable Diffusion gera imagens a partir de texto

Modelos de difusão são a tecnologia por trás do Stable Diffusion, DALL-E e Midjourney. Eles aprendem a transformar ruído aleatório em imagens coerentes, guiados por descrições textuais. Entender como funcionam não é apenas curiosidade acadêmica — é conhecimento prático que permite usar essas ferramentas com mais eficácia e customizá-las para aplicações específicas.

O processo de difusão forward

A intuição é elegante: pegue uma imagem real e adicione ruído gaussiano gradualmente em T passos até que ela se torne ruído puro indistinguível. Esse processo é simples e determinístico — dado qualquer imagem, sabemos como transformá-la em ruído através de uma sequência de adições de ruído com variância crescente. Cada passo adiciona um pouco mais de ruído até que, no passo T, a informação original é completamente obscurecida.

O processo forward não é aprendido — é uma fórmula matemática fixa. A magia acontece no processo reverso: treinar uma rede neural para desfazer cada passo de adição de ruído, recuperando progressivamente a imagem original a partir do ruído.

O processo de difusão reverso

O modelo é treinado para prever o ruído que foi adicionado em cada passo. Dado uma imagem ruidosa e o número do passo t, o modelo prediz o ruído — e subtraindo esse ruído estimado, obtemos uma imagem um pouco menos ruidosa. Repetindo esse processo T vezes, partindo de ruído puro, geramos uma imagem coerente que parece real.

A rede neural usada é tipicamente uma U-Net: uma arquitetura encoder-decoder com skip connections que processa a imagem em múltiplas resoluções. O encoder captura contexto global (composição, layout geral), o decoder reconstrói detalhes finos (texturas, bordas), e as skip connections preservam informação espacial entre as escalas. A U-Net recebe como inputs adicionais o timestep (para saber quanta ruído esperar) e o embedding do texto do prompt (para saber que imagem gerar).

Condicionamento por texto: CLIP e cross-attention

O CLIP (Contrastive Language-Image Pre-training) conecta texto e imagem no mesmo espaço vetorial. Treinado com bilhões de pares imagem-texto da internet, CLIP entende relações semânticas entre descrições e conteúdo visual. O texto do prompt é encodado pelo text encoder do CLIP em vetores que representam o significado semântico da descrição.

Esses vetores de texto são injetados na U-Net via mecanismo de cross-attention: em cada camada da U-Net, os features visuais “prestam atenção” aos features textuais, buscando quais palavras do prompt são relevantes para cada região espacial da imagem. Isso permite controle fino — “um gato vermelho sentado em uma cadeira azul” direciona a cross-attention para associar vermelho ao gato e azul à cadeira nas regiões espaciais correspondentes.

Latent diffusion: eficiência computacional

Stable Diffusion opera no espaço latente, não no espaço de pixels. Um autoencoder (VAE) comprime imagens de 512x512x3 pixels para representações latentes de 64x64x4 — uma redução de 48x em dimensionalidade. Todo o processo de difusão (forward e reverso) acontece nesse espaço comprimido, reduzindo enormemente o custo computacional. Apenas no final, o decoder do VAE converte o latente gerado de volta para pixels em resolução total.

Essa arquitetura latente é o ingrediente secreto que tornou modelos de difusão práticos. Modelos que operam diretamente em pixels (como o DDPM original) precisam de GPUs massivas e horas para gerar uma imagem. No espaço latente, Stable Diffusion gera imagens em segundos em GPUs consumer como RTX 3060.

Customização: LoRA, Textual Inversion e ControlNet

LoRA (Low-Rank Adaptation) permite fine-tunar Stable Diffusion com 10-50 imagens para aprender estilos artísticos, rostos específicos ou objetos customizados. O treinamento adiciona matrizes pequenas de parâmetros treináveis sem modificar o modelo base, e o resultado é portável como um arquivo de poucos MB que pode ser combinado com outros LoRAs.

ControlNet adiciona condicionamento espacial: guie a geração com edge maps, depth maps, poses humanas ou segmentação. Isso permite controle preciso sobre composição e layout — fundamental para aplicações profissionais onde o resultado precisa seguir especificações exatas, não apenas uma descrição textual ambígua.

Tem um projeto em mente?

Somos especialistas em transformar ideias em produtos digitais. Apps, sites, automações e IA — vamos construir juntos.

Resposta rápida Orçamento sem compromisso +100 projetos entregues
Compartilhar: