Treinamento da GAN

Como uma GAN contém duas redes treinadas separadamente, o algoritmo de treinamento precisa resolver duas complicações:

  • As GANs precisam lidar com dois tipos diferentes de treinamento (gerador e discriminador).
  • A convergência de GAN é difícil de identificar.

Treinamento alternado

O gerador e o discriminador têm processos de treinamento diferentes. Como treinar o GAN como um todo?

O treinamento de GANs é feito em períodos alternados:

  1. O discriminador é treinado para uma ou mais épocas.
  2. O gerador é treinado para uma ou mais épocas.
  3. Repita as etapas 1 e 2 para continuar treinando as redes do gerador e do discriminador.

Mantemos o gerador constante durante a fase de treinamento do discriminador. Como o treinamento do discriminador tenta descobrir como distinguir dados reais de falsos, ele precisa aprender a reconhecer as falhas do gerador. Esse é um problema diferente para um gerador totalmente treinado do que para um gerador não treinado que produz saídas aleatórias.

Da mesma forma, mantemos o discriminador constante durante a fase de treinamento do gerador. Caso contrário, o gerador tentaria atingir um alvo em movimento e talvez nunca convergisse.

É esse vaivém que permite que as GANs lidem com problemas generativos difíceis de resolver. Encontramos um ponto de apoio no problema generativo difícil começando com um problema de classificação muito mais simples. Por outro lado, se você não conseguir treinar um classificador para diferenciar dados reais e gerados, mesmo para a saída inicial do gerador aleatório, não será possível iniciar o treinamento do GAN.

Convergência

À medida que o gerador melhora com o treinamento, o desempenho do discriminador piora porque ele não consegue identificar facilmente a diferença entre o real e o falso. Se o gerador tiver sucesso, o discriminador terá uma precisão de 50%. Na verdade, o discriminador lança uma moeda para fazer a previsão.

Essa progressão representa um problema para a convergência da GAN como um todo: o feedback do discriminador se torna menos significativo com o tempo. Se o GAN continuar treinando além do ponto em que o discriminador está fornecendo resultados completamente aleatórios feedback, então o gerador começa a treinar com feedback indesejado e com seu próprio a qualidade pode entrar em colapso.

Para uma GAN, a convergência é geralmente um estado transitório, e não estável.