Uma rede adversarial generativa (GAN) tem duas partes:
- O gerador aprende a gerar dados plausíveis. As instâncias geradas se tornam exemplos de treinamento negativos para o discriminador.
- O discriminador aprende a distinguir os dados falsos do gerador dos dados reais. O discriminador penaliza o gerador por produzir resultados implausíveis.
Quando o treinamento começa, o gerador produz dados obviamente falsos, e o discriminador aprende rapidamente a dizer que eles são falsos:
Conforme o treinamento avança, o gerador se aproxima de produzir uma saída que pode enganar o discriminador:
Por fim, se o treinamento do gerador for bem-sucedido, o discriminador vai ter mais dificuldade para identificar a diferença entre o real e o falso. Ele começa a classificar dados falsos como reais, e a precisão deles diminui.
Aqui está uma foto de todo o sistema:
O gerador e o discriminador são redes neurais. A saída do gerador é conectada diretamente à entrada do discriminador. Através da retropropagação, a classificação do discriminador fornece um sinal que o gerador usa para atualizar os pesos.
Vamos explicar as partes desse sistema em mais detalhes.