O discriminador em uma GAN é simplesmente um classificador. Ela tenta distinguir dados reais dos dados criados pelo gerador. Ele pode usar qualquer arquitetura de rede adequada ao tipo de dados que é classificado.
Figura 1: retropropagação no treinamento de discriminadores.
Dados de treinamento do Discriminador
Os dados de treinamento do discriminador vêm de duas fontes:
- Instâncias de dados reais, como imagens reais de pessoas. O discriminador usa essas instâncias como exemplos positivos durante o treinamento.
- Instâncias de dados falsos criadas pelo gerador. O discriminador usa essas instâncias como exemplos negativos durante o treinamento.
Na Figura 1, as duas caixas ""Sample" representam essas duas fontes de dados que são alimentadas no discriminador. Durante o treinamento do discriminador, o gerador não treina. Os pesos dele permanecem constantes enquanto produzem exemplos para o discriminador treinar.
Como treinar o Discriminador
O discriminador se conecta a duas funções de perda. Durante o treinamento do discriminador, o discriminador ignora a perda do gerador e usa a perda do discriminador. Usamos a perda do gerador durante o treinamento, conforme descrito na próxima seção.
Durante o treinamento de discriminação:
- O classificador classifica os dados reais e falsos do gerador.
- A perda do discriminador penaliza o discriminador por classificar incorretamente uma instância real como falsa ou uma instância falsa como real.
- O discriminador atualiza os próprios pesos por meio da propagação da perda do discriminador por meio da rede de discriminadores.
Na próxima seção, vamos ver por que a perda do gerador se conecta ao discriminador.