Os modelos de difusão representam uma classe poderosa de modelos generativos no âmbito da aprendizagem profunda (DL) que ganharam um destaque significativo, particularmente na criação de imagens de alta qualidade, áudio e outros tipos de dados complexos. Inspirados em conceitos de termodinâmica, estes modelos funcionam adicionando sistematicamente ruído aos dados e, em seguida, aprendendo a reverter este processo para gerar novas amostras de dados a partir de ruído puro. A sua capacidade de produzir resultados diversos e realistas tornou-os uma pedra angular da Inteligência Artificial (IA) moderna.
Como funcionam os modelos de difusão
A ideia central subjacente aos modelos de difusão envolve dois processos: um processo de avanço (difusão) e um processo de retrocesso (desnaturalização).
- Processo de avanço: Esta fase pega em dados reais (como uma imagem dos dados de treino) e adiciona gradualmente pequenas quantidades de ruído aleatório ao longo de vários passos. Eventualmente, após passos suficientes, a imagem original torna-se indistinguível do ruído puro (como a estática num ecrã de televisão antigo). Este processo é fixo e não envolve aprendizagem.
- Processo inverso: É aqui que a aprendizagem acontece. O modelo, normalmente uma arquitetura de rede neural como uma U-Net, é treinado para desfazer a adição de ruído passo a passo. Começando com ruído aleatório, o modelo remove iterativamente o ruído previsto, refinando gradualmente a amostra até que ela se assemelhe aos dados da distribuição de treinamento original. Este processo de redução de ruído aprendido permite ao modelo gerar dados inteiramente novos. Pesquisas importantes como os Modelos Probabilísticos de Difusão de Denoising (DDPM) lançaram muitas das bases para as implementações modernas.
O treino envolve ensinar o modelo a prever com precisão o ruído que foi adicionado em cada passo do processo de avanço. Ao aprender isto, o modelo aprende implicitamente a estrutura subjacente dos dados.
Conceitos-chave e condicionamento
Vários conceitos são fundamentais para os modelos de difusão:
- Passos temporais: A adição gradual e a remoção de ruído ocorrem ao longo de uma série de passos temporais discretos. O modelo necessita frequentemente de saber qual o intervalo de tempo que está a processar.
- Programa de ruído: Define a quantidade de ruído que é adicionada em cada etapa do processo de avanço. Diferentes programações podem afetar a qualidade da formação e da geração.
- Condicionamento: Os modelos de difusão podem ser orientados para gerar resultados específicos. Por exemplo, na geração de texto para imagem, o modelo é condicionado por descrições de texto (prompts) para criar imagens correspondentes. Isto envolve frequentemente mecanismos como a atenção cruzada.
Modelos de difusão versus outros modelos generativos
Os modelos de difusão diferem significativamente de outras abordagens generativas populares, como as redes adversariais generativas (GAN):
- Estabilidade do treinamento: Os modelos de difusão geralmente oferecem um treinamento mais estável em comparação com os GANs, que envolvem um jogo contraditório complexo entre um gerador e um discriminador que às vezes pode não convergir.
- Qualidade e diversidade da amostra: Os modelos de difusão são muitas vezes excelentes na produção de amostras diversificadas e de elevada fidelidade, ultrapassando por vezes os GAN em determinados parâmetros de referência, embora muitas vezes à custa de uma maior latência de inferência.
- Velocidade de inferência: Tradicionalmente, a geração de uma amostra com um modelo de difusão requer muitas etapas de denoising, tornando a inferência mais lenta do que os GANs. No entanto, a investigação sobre técnicas de amostragem mais rápidas está a colmatar rapidamente esta lacuna. Técnicas como a destilação do conhecimento também estão a ser exploradas.
Aplicações no mundo real
Os modelos de difusão estão a impulsionar a inovação em vários domínios:
- Geração de imagens de alta fidelidade: Modelos como o Stable Diffusion, o Midjourney e o Imagen da Google utilizam técnicas de difusão para criar imagens incrivelmente realistas e artísticas a partir de mensagens de texto.
- Edição e pintura de imagens: Podem preencher de forma inteligente as partes em falta nas imagens (pintura) ou modificar imagens existentes com base em instruções (por exemplo, alterar estilos, adicionar objectos), permitindo poderosas ferramentas criativas como o Adobe Firefly.
- Síntese de áudio: Os modelos de difusão são utilizados para gerar discurso, música e efeitos sonoros realistas, como se pode ver em projectos como o AudioLDM.
- Descoberta científica: Estão a surgir aplicações em domínios como a descoberta de medicamentos para gerar novas estruturas moleculares e na física para simular sistemas complexos.
- Aumento de dados: A geração de dados sintéticos através de modelos de difusão pode complementar os dados de treino reais para tarefas como a deteção de objectos ou a segmentação de imagens, melhorando potencialmente a robustez de modelos como Ultralytics YOLO.
Ferramentas e desenvolvimento
O desenvolvimento e a utilização de modelos de difusão envolvem frequentemente estruturas como PyTorch e TensorFlow. Bibliotecas como a bibliotecaHugging Face Diffusers fornecem modelos pré-treinados e ferramentas para simplificar o trabalho com modelos de difusão. Plataformas como o Ultralytics HUB simplificam o fluxo de trabalho mais amplo da visão computacional, incluindo a gestão de conjuntos de dados e a implementação de modelos, que podem complementar os fluxos de trabalho generativos.