Um modelo de difusão latente (LDM) é um tipo de modelo generativo que estende a estrutura de difusão operando em um espaço latente de menor dimensionalidade, em vez de diretamente no espaço de pixels. Desenvolvido pelo grupo Computer Vision & Learning (CompVis) da LMU Munique, o LDM foi introduzido em um artigo publicado no arXiv em 20 de dezembro de 2021. Ele melhora os modelos de difusão padrão ao reduzir o custo computacional, mantendo a síntese de imagens de alta qualidade, e suporta condicionamento por meio de mecanismos de autoatenção e atenção cruzada. Os LDMs são amplamente utilizados em modelos de difusão práticos; por exemplo, as versões 1.1 a 2.1 do Stable Diffusion foram baseadas na arquitetura LDM.
A arquitetura LDM consiste em três componentes principais: um autoencoder variacional (VAE), um U-Net modificado e um codificador de texto. O VAE comprime imagens em um espaço latente, o U-Net realiza a remoção de ruído nesse espaço latente e o codificador de texto fornece o condicionamento. Esse design permite que o modelo gere imagens a partir de prompts de texto de forma eficiente, tornando-o uma pedra angular da geração moderna de imagens por IA.
Histórico e Desenvolvimento
Os modelos de difusão foram introduzidos pela primeira vez em 2015 como um método para aprender a amostrar distribuições de probabilidade complexas, utilizando princípios da termodinâmica de não equilíbrio. Um artigo de 2019 propôs a rede de pontuação condicional a ruído (NCSN), também conhecida como correspondência de pontuação com dinâmica de Langevin (SMLD), que foi implementada em PyTorch. Em 2020, o modelo de difusão denoising probabilístico (DDPM) melhorou esses métodos usando inferência variacional, com uma implementação de referência em TensorFlow.
O artigo sobre o LDM foi publicado no arXiv em 20 de dezembro de 2021, e tanto os repositórios do Stable Diffusion quanto do LDM foram disponibilizados no GitHub. A arquitetura ganhou destaque quando as versões 1.1 a 2.1 do Stable Diffusion a adotaram. O Stable Diffusion 1.1 foi treinado no conjunto de dados LAION-2B-en, e versões subsequentes foram ajustadas para melhorar a estética e a orientação sem classificador. O Stable Diffusion 1.5 foi lançado pela RunwayML em outubro de 2022.
Visão Geral da Arquitetura
O LDM opera em um espaço latente comprimido, o que reduz a dimensionalidade dos dados e acelera o treinamento e a inferência. O processo começa com um codificador VAE que comprime uma imagem de entrada do espaço de pixels em uma representação latente. Ruído gaussiano é então aplicado iterativamente a essa representação latente durante a difusão direta. Um U-Net, composto por uma espinha dorsal ResNet, remove o ruído da representação latente em ordem reversa e, finalmente, um decodificador VAE converte a representação latente denoised de volta ao espaço de pixels.
A etapa de remoção de ruído pode ser condicionada a várias modalidades, como texto, imagens ou outros dados. Para condicionamento por texto, um codificador de texto CLIP ViT-L/14 pré-treinado transforma prompts de texto em um espaço de incorporação, que é exposto ao U-Net por meio de um mecanismo de atenção cruzada. Isso permite que o modelo gere imagens alinhadas à descrição textual fornecida.
Autoencoder Variacional
O VAE é treinado em um conjunto de dados de imagens para aprender uma representação latente comprimida. O codificador recebe uma imagem RGB de formato (3, 512, 512) e gera um tensor latente de formato (4, 64, 64), após aplicar um fator de escala de 0,18215 para aproximadamente branquear o vetor latente. O decodificador reverte esse processo, recebendo um tensor latente e produzindo uma imagem, com um fator de escala de 0,18125 e recorte para o intervalo [0, 1].
O codificador é uma rede neural convolucional (CNN) com um único mecanismo de autoatenção próximo ao final. Ele gera uma concatenação da média e da variância previstas para o vetor latente, cada uma com formato (4, H/8, W/8). Durante o treinamento, a variância é utilizada, mas na inferência, apenas a média é normalmente retida. O decodificador também é uma CNN com uma estrutura de autoatenção semelhante, convertendo tensores latentes de volta em imagens.
U-Net
A espinha dorsal do U-Net é o componente central de remoção de ruído. Ela recebe como entrada um array latente produzido pelo codificador VAE, juntamente com informações de condicionamento, como embeddings de texto. O U-Net é projetado para prever o ruído que foi adicionado durante a difusão direta, permitindo que o modelo remova o ruído iterativamente e recupere a representação latente original. A arquitetura inclui conexões residuais e mecanismos de atenção, permitindo lidar com dependências complexas nos dados.
Aplicações e Impacto
Os modelos de difusão latente tornaram-se a base de muitos sistemas de texto para imagem, mais notavelmente o Stable Diffusion. A eficiência obtida ao operar no espaço latente permite que esses modelos sejam executados em hardware de consumo, democratizando o acesso à geração de imagens por IA. A arquitetura também foi adaptada para outras tarefas, como inpaintings, super-resolução e geração de vídeo, demonstrando sua versatilidade.
Limitações e Direções Futuras
Apesar de seu sucesso, os LDMs enfrentam desafios como os requisitos computacionais para treinamento, possíveis vieses no conteúdo gerado e a necessidade de ajuste cuidadoso dos mecanismos de condicionamento. A pesquisa continua a melhorar a arquitetura, incluindo mecanismos de atenção mais eficientes e melhores representações do espaço latente. No início da década de 2020, os LDMs permanecem uma área central de estudo em aprendizado de máquina e visão computacional, com contribuições contínuas de laboratórios acadêmicos e industriais.