Generative Adversarial Networks (GANs) Anderson Brilhador ● Introdução a GANs ● Como funciona uma GAN? ● Alguns desafios com GANs Roteiro ● Aplicações de GANs ● Implementação (keras + TensorFlow) Introdução ● Modelos discriminativos ○ Aprendem uma função que mapeia uma entrada x para uma saída y; ○ Probabilidade condicional P(y|x); ○ Exemplo: SVM, CNN (Convolutional Neural Networks). ● Modelos generativos ○ Tentam modelar a probabilidade conjunta de x e y ao mesmo tempo; ○ Probabilidade conjunta P(x,y); ○ Exemplo: Modelos probabilístico generativo (LDA), Autoencoders (AEs). ● GAN é um modelo generativo com aprendizado "não" supervisionado. Como funciona uma GAN? (Exemplo Intuitivo) Gerador Discriminador Objetivo: produzir dinheiro falsificado Objetivo: diferenciar entre dinheiro o mais similar possível ao dinheiro falsificado e dinheiro verdadeiro. verdadeiro. Como funciona uma GAN? (Arquitetura) GAN - "Generative Adversarial Networks" - https://arxiv.org/abs/1406.2661 Treinamento do discriminador GAN - "Generative Adversarial Networks" - https://arxiv.org/abs/1406.2661 Treinamento do gerador GAN - "Generative Adversarial Networks" - https://arxiv.org/abs/1406.2661 Formulação matemática de uma GAN GAN - "Generative Adversarial Networks" - https://arxiv.org/abs/1406.2661 ● Duas redes competem entre si (minmax game): ○ O Discriminador tenta maximizar a probabilidade de uma imagem real ser classificada como real, minimizando a probabilidade de uma imagem falsa seja classificada como pertencente ao conjunto de dados real; ■ O Discriminador maximiza a função de erro D(x) e também minimiza D(G(z)); ○ O Gerador tenta enganar o discriminador, maximizando a probabilidade de que qualquer imagem falsa seja classificada como pertencente ao conjunto de dados real; ■ O Gerador maximiza a função de erro D(G(z)). Treinamento Discriminador Treinamento Gerador
Description: