Explore como os modelos de difusão utilizam IA generativa para criar dados de alta fidelidade. Aprenda a melhorar o treinamento Ultralytics com dados sintéticos realistas hoje mesmo.
Os modelos de difusão são uma classe de algoritmos de IA generativa que aprendem a criar novas amostras de dados revertendo um processo gradual de adição de ruído. Ao contrário dos modelos discriminativos tradicionais usados para tarefas como detecção ou classificação de objetos, que prevêem rótulos a partir de dados, os modelos de difusão concentram-se na geração de conteúdo de alta fidelidade — principalmente imagens, áudio e vídeo — que imita de perto as propriedades estatísticas dos dados do mundo real. Eles rapidamente se tornaram a solução de ponta para síntese de imagens de alta resolução, ultrapassando líderes anteriores, como as redes adversárias generativas (GANs) , devido à sua estabilidade de treinamento e capacidade de gerar resultados diversificados.
O mecanismo central de um modelo de difusão baseia-se na termodinâmica de não equilíbrio. O processo de treino envolve duas fases distintas: o processo direto (difusão) e o processo reverso (remoção de ruído).
Este refinamento iterativo permite um controlo excecional sobre detalhes finos e textura, uma vantagem significativa em relação aos métodos de geração de etapa única.
Os modelos de difusão ultrapassaram a investigação académica e tornaram-se ferramentas práticas e de nível industrial em vários setores.
É útil distinguir os modelos de difusão de outras arquiteturas generativas:
Embora treinar um modelo de difusão do zero exija um poder de computação significativo, os engenheiros podem aproveitar modelos pré-treinados ou integrá-los em fluxos de trabalho juntamente com detectores eficientes. Por exemplo, pode-se usar um modelo de difusão para gerar variações de fundo para um conjunto de dados e, em seguida, usar Ultralytics para anotar e treinar um modelo de detecção nesses dados aprimorados.
Abaixo está um exemplo conceitual usando torch para simular uma etapa simples de difusão para a frente (adicionando ruído),
que é a base do treino desses sistemas.
import torch
def add_noise(image_tensor, noise_level=0.1):
"""Simulates a single step of the forward diffusion process by adding Gaussian noise."""
# Generate Gaussian noise with the same shape as the input image
noise = torch.randn_like(image_tensor) * noise_level
# Add noise to the original image
noisy_image = image_tensor + noise
# Clamp values to ensure they remain valid image data (e.g., 0.0 to 1.0)
return torch.clamp(noisy_image, 0.0, 1.0)
# Create a dummy image tensor (3 channels, 64x64 pixels)
dummy_image = torch.rand(1, 3, 64, 64)
noisy_result = add_noise(dummy_image)
print(f"Original shape: {dummy_image.shape}, Noisy shape: {noisy_result.shape}")
O campo está a evoluir rapidamente para modelos de difusão latente (LDMs), que operam num espaço latente comprimido em vez de num espaço de pixels para reduzir os custos computacionais. Essa eficiência torna viável a execução de modelos generativos poderosos em hardware de consumo. À medida que a investigação continua, esperamos uma integração mais estreita entre entradas generativas e tarefas discriminativas, como o uso de cenários gerados por difusão para validar a segurança de veículos autónomos ou melhorar a análise de imagens médicas através da simulação de patologias raras .