Além dos Autoencoders: GANs e Modelos de Difusão, Um Panorama
Objetivos de Aprendizagem
- Enunciar a configuração de uma rede adversarial generativa (GAN): um gerador e um discriminador treinados um contra o outro em um jogo minimax.
- Explicar, em nível conceitual, por que GANs podem produzir amostras mais nítidas que um autoencoder simples, e qual dificuldade específica de treino essa configuração adversarial introduz.
- Descrever, em nível conceitual, a ideia central de um modelo de difusão: aprender a inverter um processo gradual de adição de ruído.
- Explicar, de forma explícita, por que este conceito trata as duas arquiteturas em nível panorâmico e onde um tratamento mais completo é deliberadamente adiado.
Contexto e Motivação
O conceito anterior terminou nomeando uma limitação genuína de um autoencoder simples como modelo generativo: seu espaço latente não tem garantia de ser suave ou realista em toda parte, apenas onde exemplos reais de treino por acaso caem. GANs e modelos de difusão são duas respostas diferentes e mais sofisticadas para "como gerar amostras novas genuinamente realistas", e são também, de longe, as arquiteturas generativas por trás das aplicações recentes de IA mais visíveis: geração de imagens, mídia sintética e a onda mais ampla de ferramentas de IA generativa. A revisão de 2023 das diretrizes curriculares de CS da ACM/IEEE/AAAI acrescentou "generative models" e "basics of deep generative models" como conteúdo esperado explícito para todos os estudantes de graduação em ciência da computação justamente por causa dessa proeminência no mundo real, mas ainda delimitando essa expectativa ao básico, e não à derivação matemática completa da dinâmica de treino; este conceito foi calibrado exatamente para esse escopo, de propósito.
Uma nota sobre o escopo: este conceito trata as duas arquiteturas no nível do que elas são e de por que funcionam, e não de como seus objetivos de treino são derivados por completo ou otimizados na prática; a teoria de otimização de ponto de sela do jogo minimax, os problemas específicos de instabilidade (mode collapse) e suas correções, e a derivação probabilística completa do objetivo de remoção de ruído de um modelo de difusão (score matching, o limite variacional que o conecta ao framework de autoencoders) são temas reais e substanciais que merecem genuinamente um tratamento próprio, deixados explicitamente para uma disciplina futura e mais avançada de modelagem generativa. É uma decisão deliberada de escopo, e não um descuido: o "Dive into Deep Learning", a segunda âncora desta disciplina, dá às GANs um único capítulo em um nível introdutório parecido e não tem capítulo dedicado a modelos de difusão, o que confirma que um tratamento matemático mais completo de ambos pertence de fato a um material mais especializado que uma disciplina introdutória de deep learning.
Teoria Central
GANs: um gerador e um discriminador, treinados um contra o outro
Uma GAN consiste em duas redes treinadas ao mesmo tempo com objetivos opostos. O gerador G recebe ruído aleatório z (tirado de alguma distribuição simples e fixa) e o transforma em uma amostra sintética G(z), tentando produzir uma saída indistinguível dos dados reais de treino. O discriminador D é um classificador binário (construído exatamente com os mesmos blocos densos/convolucionais e o mesmo loss de cross-entropy já vistos nesta disciplina) treinado para distinguir exemplos reais de treino dos exemplos sintéticos do gerador. Os dois são treinados juntos em um jogo minimax: o discriminador tenta ficar melhor em distinguir o real do falso, enquanto o gerador tenta ficar melhor em enganar o discriminador, e a melhora de cada um torna a tarefa do outro mais difícil. Quando o treino dá certo, o gerador aprendeu a produzir amostras realistas o bastante para que o discriminador não consiga fazer melhor que um chute aleatório ao separá-las dos dados reais.
Essa configuração adversarial é justamente o que permite às GANs produzir amostras mais nítidas e realistas do que o loss de reconstrução por erro quadrático de um autoencoder simples costuma alcançar: o erro quadrático, tirando a média sobre muitas reconstruções plausíveis possíveis, tende a produzir saídas borradas e "na média", enquanto um discriminador penaliza explicitamente qualquer coisa que pareça irrealista, independentemente de ela minimizar ou não um erro médio pixel a pixel. O custo real dessa abordagem é a estabilidade do treino: como duas redes são otimizadas uma contra a outra, em vez de uma rede contra um único objetivo fixo, o treino de uma GAN pode ser bem mais difícil de fazer convergir de forma confiável do que o treino com um único loss que esta disciplina usou em todos os outros lugares.
Modelos de difusão: aprender a inverter um ruído gradual
Um modelo de difusão adota uma estratégia generativa totalmente diferente. Durante o treino, dados reais são corrompidos gradualmente pela adição de uma pequena quantidade de ruído aleatório ao longo de muitos passos, até que, depois de passos suficientes, ficam indistinguíveis de ruído puro; um processo direto (de adição de ruído) fixo e não aprendido. Uma rede é então treinada para fazer o inverso: dada uma versão ruidosa de uma imagem em algum passo, prever e remover uma pequena quantidade desse ruído, progressivamente; um processo reverso (de remoção de ruído) aprendido. Depois de treinado, gerar uma nova amostra significa partir de ruído aleatório puro e rodar o processo aprendido de remoção de ruído por muitos passos, transformando aos poucos ruído sem estrutura em uma amostra coerente e realista. Ao contrário da geração de uma GAN, que vai do ruído à saída em uma única passada, a difusão gera de forma iterativa, por meio de muitos pequenos passos de remoção de ruído, individualmente mais fáceis de aprender; uma estratégia estruturalmente diferente para o mesmo objetivo de fundo de transformar ruído simples em uma amostra realista da distribuição dos dados.
Exemplos Resolvidos
Exemplo 1: o loop de treino de uma GAN, rastreado conceitualmente
Considere uma rodada de treino de GAN em um dataset de imagens reais. Primeiro, o discriminador recebe um batch de imagens reais (rotuladas "real") e um batch das imagens falsas atuais do gerador (rotuladas "falsa") e é atualizado por gradiente descendente (backpropagation, já visto) para melhorar sua acurácia na classificação real versus falsa; exatamente o treino de classificador com loss de cross-entropy já visto, com as imagens geradas simplesmente fornecendo os exemplos de treino de uma das duas classes. Em seguida, o gerador é atualizado, não para se parecer diretamente com as imagens reais, mas para fazer com que seu próximo batch de saídas tenha uma pontuação maior ao passar pelo discriminador (recém-atualizado), usando o gradiente do próprio discriminador em relação à sua entrada, propagado ainda mais para trás até os pesos do gerador. Essas duas atualizações se alternam, rodada após rodada: conforme o discriminador fica melhor em detectar as fraquezas atuais do gerador, o gerador é empurrado a corrigir exatamente essas fraquezas, e o ciclo continua.
Exemplo 2: remoção de ruído como um pequeno passo aprendível, repetido
Considere um modelo de difusão gerando um ponto 2D que deve se parecer com pontos de alguma distribuição-alvo, partindo de um ponto aleatório z_T tirado de ruído gaussiano puro. A remoção de ruído avança passo a passo, z_T → z_{T-1} → ... → z_1 → z_0, e em cada passo a rede prevê uma pequena correção (uma estimativa do ruído presente naquele passo) e subtrai uma fração adequadamente escalada dela, empurrando o ponto um pouco mais para perto de algo que a distribuição dos dados de treino de fato produziria. Nenhum passo individual tenta a tarefa (muito mais difícil) de pular direto do ruído puro para uma amostra pronta; cada passo é uma previsão local de remoção de ruído comparativamente fácil, e só a composição de muitos desses pequenos passos produz o resultado final realista. Essa estrutura de "quebrar um problema difícil em muitos fáceis" é a ideia estratégica central que distingue a geração iterativa da difusão da geração em uma única passada de uma GAN.
Equívocos Comuns e Armadilhas
- "GANs e modelos de difusão são técnicas sem relação, competindo pelo mesmo problema." Os dois atacam o mesmo objetivo de fundo (transformar ruído simples em dados realistas), mas por mecanismos estruturalmente diferentes (geração adversarial em uma passada versus remoção iterativa de ruído), e cada um tem trade-offs reais e documentados (a instabilidade de treino das GANs versus o processo de geração, normalmente muito mais lento e com muitos passos, da difusão), em vez de um dominar estritamente o outro.
- "Este conceito já cobriu por completo a modelagem generativa." Este conceito é deliberadamente panorâmico, por design explícito; a teoria de otimização do jogo minimax, o mode collapse e suas mitigações, e a derivação probabilística por trás do objetivo de remoção de ruído da difusão são temas reais e substanciais deixados de propósito para uma disciplina dedicada e mais avançada, e não cobertos aqui.
- "O discriminador de uma GAN é um tipo de modelo fundamentalmente novo, sem relação com conceitos anteriores desta disciplina." O discriminador é um classificador binário comum, construído e treinado com exatamente as mesmas camadas densas/convolucionais, backpropagation e loss de cross-entropy já vistos; o que é genuinamente novo é o procedimento de treino (duas redes otimizadas uma contra a outra), e não a arquitetura ou a função de loss do próprio discriminador.
Resumo
As GANs colocam um gerador contra um discriminador em um jogo minimax, produzindo amostras mais nítidas que as reconstruções "na média" de um autoencoder simples, ao custo real de um procedimento de treino mais difícil e menos estável; os modelos de difusão, por sua vez, aprendem a inverter um processo gradual e fixo de adição de ruído por meio de muitos pequenos passos de remoção de ruído, cada um tratável individualmente. Os dois são vistos aqui em um nível deliberadamente panorâmico (o que cada arquitetura é e por que funciona, usando apenas blocos de construção já vistos em outros pontos desta disciplina, como classificadores, cross-entropy e backpropagation), com a teoria matemática completa de treino de ambos explícita e deliberadamente adiada para uma disciplina futura e mais avançada de modelagem generativa; uma decisão de escopo baseada diretamente em como as próprias fontes âncora desta disciplina (as aulas de modelos generativos do CS231n, o único capítulo sobre GANs e a ausência de capítulo dedicado à difusão no "Dive into Deep Learning") tratam esse material no nível introdutório.