As GANs têm vários modos de falha comuns. Todos esses problemas comuns são áreas de pesquisa ativa. Embora nenhum desses problemas tenha sido completamente resolvido, citaremos algumas coisas que as pessoas tentaram.
Gradientes sumindo
A pesquisa sugeriu que, se o discriminador for muito bom, o treinamento do gerador poderá falhar devido à desaparecimento de gradientes. Na verdade, um discriminador ideal não oferece informações suficientes para que o gerador faça o progresso.
Tentativas de solucionar
- Perda de Wasserstein: a perda de Wasserstein foi projetada para evitar o desaparecimento de gradientes, mesmo quando você treina o discriminador para otimização.
- Perda mínima de minimax modificada: o documento original da GAN propôs uma modificação para a perda mínima de minmax para lidar com gradientes de fuga.
Recolher modo
Normalmente, você quer que a GAN produza uma ampla variedade de saídas. Você quer, por exemplo, um rosto diferente para cada entrada aleatória do seu gerador de rostos.
No entanto, se um gerador gerar uma saída especialmente plausível, o gerador poderá aprender a produzir apenas essa saída. Na verdade, o gerador está sempre tentando encontrar a saída que parece mais plausível para o discriminador.
Se o gerador começar a produzir a mesma saída (ou um pequeno conjunto de saídas) várias vezes, a melhor estratégia do discriminador será aprender a sempre rejeitar essa saída. No entanto, se a próxima geração de discriminadores ficar presa em um mínimo local e não encontrar a melhor estratégia, será muito fácil para a próxima iteração de geradores encontrar a saída mais plausível para o discriminador atual.
Cada iteração do gerador é otimizada demais para um determinado discriminador, e ele nunca consegue aprender a sair da armadilha. Como resultado, os geradores giram em um pequeno conjunto de tipos de saída. Essa forma de falha do GAN é chamada de modo recolhido.
Tentativas de solucionar
As seguintes abordagens tentam forçar o gerador a ampliar o escopo, impedindo que ele seja otimizado para um único discriminador fixo:
- Perda de Wasserstein: a perda de Wasserstein diminui o modo de recolhimento, permitindo que você treine o discriminador para a otimização sem se preocupar com o desaparecimento de gradientes. Se o discriminador não ficar travado no mínimo local, ele aprenderá a rejeitar as saídas em que o gerador se estabiliza. Então o gerador precisa testar algo novo.
- GANs não lançadas: GANs não lançadas usam uma função de perda do gerador que incorpora não apenas as classificações do Discriminador atuais, mas também as saídas de versões futuras do discriminador. Portanto, o gerador não pode otimizar em excesso para um único discriminador.
Falha ao convergir
As GANs geralmente não convergem, como discutido no módulo sobre treinamento.
Tentativas de solucionar
Os pesquisadores tentaram usar várias formas de regularização para melhorar a convergência da GAN, incluindo:
- Adicionar ruído às entradas de discriminação: veja, por exemplo, Métodos para o início do treinamento para redes adversárias generativas.
- Penalização de pesos discriminadores: consulte, por exemplo, Estabilização do treinamento de redes adversárias generativas por meio da regularização.