Uma rede adversarial generativa (GAN) é uma classe de frameworks de aprendizado de máquina e um framework proeminente para abordar a IA generativa. O conceito foi inicialmente desenvolvido por Ian Goodfellow e seus colegas em junho de 2014. Em uma GAN, duas redes neurais competem entre si na forma de um jogo de soma zero, onde o ganho de um agente é a perda de outro.
Dado um conjunto de treinamento, essa técnica aprende a gerar novos dados com as mesmas estatísticas do conjunto de treinamento. Por exemplo, uma GAN treinada em fotografias pode gerar novas fotografias que parecem, pelo menos superficialmente, autênticas para observadores humanos, tendo muitas características realistas. Embora originalmente proposta como uma forma de modelo generativo para aprendizado não supervisionado, as GANs também se mostraram úteis para aprendizado semissupervisionado, aprendizado totalmente supervisionado e aprendizado por reforço.
A ideia central de uma GAN é baseada no treinamento "indireto" por meio do discriminador, outra rede neural que pode dizer o quão "realista" a entrada parece, que também é atualizada dinamicamente. Isso significa que o gerador não é treinado para minimizar a distância até uma imagem específica, mas sim para enganar o discriminador. Isso permite que o modelo aprenda de maneira não supervisionada.
As GANs são semelhantes ao mimetismo na biologia evolutiva, com uma corrida armamentista evolutiva entre as duas redes.
Definição Matemática
A GAN original é definida como um jogo. Cada espaço de probabilidade \((\Omega, \mu_{\text{ref}})\) define um jogo de GAN. Há dois jogadores: gerador e discriminador. O conjunto de estratégias do gerador é \(\mathcal{P}(\Omega)\), o conjunto de todas as medidas de probabilidade \(\mu_G\) em \(\Omega\). O conjunto de estratégias do discriminador é o conjunto de kernels de Markov \(\mu_D: \Omega \to \mathcal{P}[0,1]\), onde \(\mathcal{P}[0,1]\) é o conjunto de medidas de probabilidade em \([0,1]\).
O jogo de GAN é um jogo de soma zero, com função objetivo:
\[ L(\mu_G, \mu_D) := \mathbb{E}_{x \sim \mu_{\text{ref}}, y \sim \mu_D(x)}[\ln y] + \mathbb{E}_{x \sim \mu_G, y \sim \mu_D(x)}[\ln(1-y)]. \]
O gerador visa minimizar o objetivo, e o discriminador visa maximizar o objetivo. A tarefa do gerador é aproximar \(\mu_G \approx \mu_{\text{ref}}\), igualando sua distribuição de saída o mais próximo possível da distribuição de referência. A tarefa do discriminador é produzir um valor próximo de 1 quando a entrada parece vir da distribuição de referência, e próximo de 0 quando a entrada parece vir da distribuição do gerador.
Na Prática
A rede generativa gera candidatos enquanto a rede discriminativa os avalia. Isso cria um concurso baseado em distribuições de dados, onde o gerador aprende a mapear de um espaço latente para a distribuição de dados real, visando produzir candidatos que o discriminador não consiga distinguir de dados reais. O objetivo do discriminador é identificar corretamente esses candidatos, mas, conforme o gerador melhora, sua tarefa se torna mais desafiadora, aumentando a taxa de erro do discriminador.
Um conjunto de dados conhecido serve como dados de treinamento iniciais para o discriminador. O treinamento envolve apresentar a ele amostras do conjunto de dados de treinamento até que ele atinja precisão aceitável. O gerador é treinado com base em se ele consegue enganar o discriminador. Tipicamente, o gerador é inicializado com entrada aleatória amostrada de um espaço latente predefinido (por exemplo, uma distribuição normal multivariada). Posteriormente, os candidatos sintetizados pelo gerador são avaliados pelo discriminador. Procedimentos independentes de retropropagação são aplicados a ambas as redes para que o gerador produza amostras melhores, enquanto o discriminador se torna mais habilidoso em sinalizar amostras sintéticas. Quando usado para geração de imagens, o gerador é tipicamente uma rede neural deconvolucional, e o discriminador é uma rede neural convolucional.
Relação com Outros Métodos Estatísticos de Aprendizado de Máquina
As GANs são modelos generativos implícitos, o que significa que elas não modelam explicitamente a função de verossimilhança nem fornecem um meio para encontrar a variável latente correspondente a uma amostra dada, ao contrário de alternativas como modelos generativos baseados em fluxo.
Em comparação com redes de crença totalmente visíveis, como WaveNet e PixelRNN, e modelos autorregressivos em geral, as GANs podem gerar uma amostra completa em uma única passagem, em vez de múltiplas passagens pela rede. Em comparação com máquinas de Boltzmann e ICA linear, não há restrição sobre o tipo de função usada pela rede.
Como redes neurais são aproximadores universais, as GANs são assintoticamente consistentes. Em 2026, os autoencoders variacionais foram comprovados como aproximadores universais, mas as GANs permanecem uma abordagem distinta e influente no campo do aprendizado de máquina e do aprendizado profundo. O framework inspirou inúmeras variantes e aplicações, contribuindo para o desenvolvimento mais amplo da inteligência artificial e da pesquisa em redes neurais.