Glossário

Rede Adversária Generativa (GAN)

Descobre como os GANs revolucionam a IA, gerando imagens realistas, melhorando os dados e impulsionando inovações nos cuidados de saúde, jogos e muito mais.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

As redes adversariais generativas (GAN) representam uma classe poderosa de estruturas de aprendizagem automática (ML), introduzidas pela primeira vez por Ian Goodfellow e colegas em 2014. Pertencem ao domínio da IA generativa, centrando-se na criação de novos dados que se assemelham a um determinado conjunto de dados de treino. A ideia central dos GANs envolve duas redes neurais (NNs), o Gerador e o Discriminador, envolvidas num jogo competitivo. Este processo contraditório leva o sistema a produzir resultados sintéticos altamente realistas, como imagens, música ou texto.

Como funcionam os GANS

Uma arquitetura GAN consiste em dois componentes principais que são treinados simultaneamente:

  • O gerador: Esta rede recebe ruído aleatório (um vetor de números aleatórios, muitas vezes amostrados a partir de uma distribuição Gaussiana) como entrada e tenta transformá-lo em dados que imitam a distribuição de dados reais. Por exemplo, pode gerar uma imagem sintética de um gato que se pareça com as imagens do conjunto de dados de treino. O seu objetivo é produzir resultados que sejam indistinguíveis dos dados reais, enganando efetivamente o Discriminador.
  • O Discriminador: Esta rede funciona como um classificador binário. Recebe amostras de dados reais (do conjunto de dados real) e amostras de dados falsos (criados pelo Gerador). A sua tarefa é determinar se cada amostra de entrada é real ou falsa. Aprende isso por meio de técnicas padrão de aprendizado supervisionado, com o objetivo de classificar corretamente as amostras reais e geradas.

O processo de formação contraditória

O treino de um GAN é um processo dinâmico em que o Gerador e o Discriminador competem e melhoram em conjunto:

  1. O Gerador produz um lote de dados sintéticos.
  2. O Discriminador é treinado em um lote contendo dados reais e dados sintéticos do Gerador, aprendendo a diferenciá-los. O Backpropagation é utilizado para atualizar os seus pesos com base na precisão da classificação.
  3. O Gerador é então treinado com base no resultado do Discriminador. O seu objetivo é produzir dados que o Discriminador classifica incorretamente como reais. Os gradientes voltam a fluir através do Discriminador (temporariamente fixo) para atualizar os pesos do Gerador.

Este ciclo continua, conduzindo idealmente a um equilíbrio em que o Gerador produz dados tão realistas que o Discriminador só pode adivinhar aleatoriamente (50% de precisão) se uma amostra é verdadeira ou falsa. Neste ponto, o Gerador aprendeu a aproximar-se da distribuição de dados subjacente do conjunto de treino.

Principais aplicações

As GANs permitiram avanços significativos em vários domínios:

  • Geração de imagens: Cria imagens fotorrealistas, como rostos humanos(StyleGAN da NVIDIA Research), animais ou objectos que não existem. Isto tem aplicações na arte, design e entretenimento, mas também levanta preocupações éticas em relação às falsificações profundas.
  • Aumento de dados sintéticos: Gera dados sintéticos realistas para complementar conjuntos de dados reais. Isto é particularmente útil em domínios como a análise de imagens médicas, em que os dados reais podem ser escassos ou ter restrições de privacidade. Por exemplo, os GAN podem criar imagens sintéticas de raios X que mostram condições raras para melhorar a robustez dos modelos de visão computacional (CV) de diagnóstico utilizados para tarefas como a deteção ou segmentação de objectos. Este aumento pode melhorar a formação de modelos como o Ultralytics YOLO11.
  • Tradução de imagem para imagem: Transforma imagens de um domínio para outro (por exemplo, converter esboços em fotografias, mudar as estações numa paisagem ou efetuar uma transferência de estilo neural).
  • Super-resolução: Melhora a resolução de imagens de baixa qualidade.
  • Síntese de texto para imagem: Geração de imagens com base em descrições textuais (embora muitas vezes ultrapassada por arquitecturas mais recentes, como os modelos de difusão).

GANS vs. Outros modelos

É importante distinguir os GANs de outros tipos de modelos:

  • Modelos discriminativos: A maioria dos modelos de classificação e regressão padrão (como os utilizados para classificação de imagens ou deteção de objectos padrão) são discriminativos. Aprendem os limites de decisão para separar classes diferentes ou prever um valor com base nas caraterísticas de entrada. Em contraste, os GANs são generativos - aprendem a distribuição de probabilidade subjacente dos próprios dados para criar novas amostras.
  • Modelos de difusão: Os modelos de difusão são outra classe poderosa de modelos generativos que ganharam destaque recentemente, alcançando frequentemente resultados de ponta na geração de imagens. Funcionam adicionando gradualmente ruído aos dados e aprendendo depois a inverter este processo. Embora por vezes produzam imagens de maior fidelidade e ofereçam uma formação mais estável do que os GAN, podem ser computacionalmente mais intensivos durante a inferência.

Desafios e avanços

O treino de GANs pode ser notoriamente difícil devido a questões como:

Os investigadores desenvolveram numerosas variantes de GAN para responder a estes desafios, como as GAN de Wasserstein(WGAN) para melhorar a estabilidade e as GAN condicionais(cGAN) que permitem gerar dados condicionados a atributos específicos (por exemplo, gerar uma imagem de um dígito específico). Estruturas como PyTorch e TensorFlow fornecem ferramentas e bibliotecas que facilitam a implementação e o treinamento de GANs.

Lê tudo