attention
O modelo é treinado com pares (descrição, imagem). Um encoder de texto (similar ao CLIP) converte o texto em um vetor de embedding.
Durante o denoising, o embedding guia cada passo de remoção de ruído. A rede não remove ruído aleatoriamente — ela o remove em direção aos padrões associados ao texto.
A U-Net mantém sua estrutura convolucional (blocos ResNet + downsampling/upsampling). Em cada resolução, um Spatial Transformer Block é inserido entre as convoluções:
- O mapa de features 2D é achatado em sequência de patches (tokens visuais)
- Q = projeção dos tokens visuais | K, V = projeção do embedding de texto
- Atenção: softmax(QKᵀ/√d)·V — idêntica ao transformer clássico
- O resultado é reformatado para 2D e devolvido ao fluxo convolucional
As convoluções capturam estrutura espacial local; o cross-attention injeta contexto semântico global do texto a cada resolução.
Durante o treino, o modelo aprende dois modos: com prompt e sem prompt (texto vazio). Na geração, as duas predições são combinadas:
O fator w (guidance scale) amplifica o quanto o prompt influencia. Maior w → mais fiel ao texto, menos diversidade.