Visão geral da estrutura da GAN

Uma rede adversária generativa (GAN, na sigla em inglês) tem duas partes:

  • O gerador aprende a gerar dados plausíveis. As instâncias geradas se tornam exemplos de treinamento negativo para o discriminador.
  • O discriminador aprende a diferenciar os dados falsos do gerador dos dados reais. O discriminador penaliza o gerador para produzir resultados concretos.

Quando o treinamento começa, o gerador produz obviamente dados falsos, e o discriminador aprende rapidamente a dizer que é falso:

Três colunas são denominadas "#39;Dados gerados', 'Discriminador' e
          Dados reais' Em 'Dados gerados' um retângulo azul contém
          um esguicho e um círculo. O retângulo é a primeira tentativa
          malsucedida do gerador
          de desenhar uma conta em dólar. Em 'Dados reais'há uma imagem de uma
          fatura de dez reais. Em 'Discriminador' estão as palavras 'FAKE' e
          'REAL'. Uma seta aponta da palavra 'FAKE' para a imagem em
          'Dados gerados'. Outra seta aponta da palavra 'REAL' para a
          imagem sob 'Dados reais'.

À medida que o treinamento avança, o gerador se aproxima da produção de informações que podem enganar o discriminador:

Esta imagem adiciona uma nova linha abaixo dos cabeçalhos 'Dados gerados', 'Discriminator'
          e 'Dados reais' da imagem anterior. Em 'Dados gerados'
          há um retângulo verde com o número 10 no canto superior esquerdo
          e um desenho simples de um rosto. Em 'Dados reais'há uma imagem de
          uma conta de 100 dólares real. Em 'Discriminador' é a palavra 'FAKE' com
          uma seta apontando para a imagem em 'Dados gerados' e a palavra
          'REAL' com uma seta apontando para a imagem em 'Dados reais'.

Por fim, se o treinamento do gerador funcionar bem, o discriminador piora a diferença entre o real e o falso. Ele começa a classificar os dados falsos como reais e a precisão diminui.

Esta imagem adiciona uma nova linha abaixo dos cabeçalhos 'Dados gerados', 'Discriminator'
          e 'Dados reais' da primeira imagem anterior. Em 'Dados
          gerados' há uma imagem de uma fatura de 20 dólares. Em "#39;Dados reais"
          há uma imagem de uma conta de 20 dólares. Em 'Discriminator'
          é a palavra 'REAL' com
          uma seta apontando para a imagem em 'Dados gerados' e a palavra
          'REAL' com uma seta apontando para a imagem em 'Dados reais'.

Esta é uma imagem de todo o sistema:

Um diagrama de uma rede adversária generativa. No centro do
          diagrama, há uma caixa com o rótulo "#39;discriminator'". Duas ramificações são inseridas nesta
          caixa à esquerda.  A ramificação superior começa no canto superior esquerdo do
          diagrama com um cilindro rotulado como 'imagens do mundo real'. Uma seta leva
          deste cilindro para uma caixa etiquetada como "#39;Exemplo'". Uma seta da caixa 'Sample' alimenta na caixa 'Discriminator'. A ramificação inferior
          alimenta a caixa 'Discriminator' começando com uma caixa denominada 'Entrada
          aleatória'. Uma seta leva da caixa 'Random Input' para uma caixa denominada
          'Generator'. Uma seta vai da caixa 'Generator' para uma segunda
          'Sample'. Uma seta vai da caixa 'Sample' para a
          'Discriminator. No lado direito da caixa de discriminação, uma seta leva a uma caixa que contém um círculo verde e um círculo vermelho. A palavra "#39;Real'" aparece em texto verde acima da caixa e a palavra "#39;False'
 aparece em vermelho abaixo da caixa. Duas setas vão desta caixa a duas
 caixas no lado direito do diagrama. Uma seta leva a uma caixa
          com o rótulo "##99;Perda do decretador"'. A outra seta leva a uma caixa chamada 'Perda do gerador'.

O gerador e o discriminador são redes neurais. A saída do gerador é conectada diretamente à entrada do discriminador. Por meio da propagação, a classificação do discriminador' fornece um sinal que o gerador usa para atualizar os pesos.

Vamos explicar as partes desse sistema com mais detalhes.