Como funcionam as redes contraditórias generativas?

12

Estou lendo sobre redes contraditórias generativas (GANs) e tenho algumas dúvidas sobre isso. Até agora, entendo que em uma GAN existem dois tipos diferentes de redes neurais: uma é gerativa ( G ) e a outra discriminativa ( D ). A rede neural generativa gera alguns dados que a rede neural discriminativa julga quanto à correção. O GAN aprende passando a função de perda para ambas as redes.

Como as redes neurais discriminativas ( D ) sabem inicialmente se os dados produzidos por G estão corretos ou não? Temos que treinar o D primeiro e depois adicioná-lo ao GAN com G ?

Vamos considerar minha rede D treinada , que pode classificar uma imagem com precisão percentual de 90%. Se adicionarmos essa rede D a um GAN, há uma probabilidade de 10% de classificar uma imagem incorreta. Se treinarmos um GAN com essa rede D , também haverá o mesmo erro de 10% na classificação de uma imagem? Se sim, então por que os GANs mostram resultados promissores?

Eka
fonte

Respostas:

4

Compare dados gerados e reais

Todos os resultados produzidos por G são sempre considerados "errados" por definição, mesmo para um gerador muito bom.

Você fornece a rede neural discriminativa D com uma mistura de resultados gerados pela rede de geradores G e resultados reais de uma fonte externa e, em seguida, você o treina para distinguir se o resultado foi produzido pelo gerador ou não - você não está comparando resultados "bons" e "ruins", está comparando resultados reais versus resultados gerados.

Isso resultará em uma "evolução mútua" como D aprenderá a encontrar recursos que separam resultados reais dos gerados e G aprenderá a gerar resultados difíceis de distinguir dos dados reais.

Peter é
fonte
2

Uma rede discriminativa (D) aprende a discriminar por definição - fornecemos os dados verdadeiros e os gerados e deixamos que ele aprenda sozinho como discriminar entre os dois.

Portanto, esperamos que a rede D para melhorar a capacidade da rede G para gerar imagens cada vez melhores (ou outro tipo de dados), enquanto tenta "enganar" a rede Dproduzindo novos dados mais parecidos com "dados reais". Não se trata da precisão da redeDem absoluto. Não se trata de melhorar a precisão , mas de melhorar a capacidade do computador de gerar mais dados "confiáveis".

Dito isto, usar esse cenário pode ser uma boa maneira "não supervisionada" de melhorar o poder de classificação das redes neurais, pois força o modelo do gerador a aprender melhores recursos de dados reais e a distinguir entre recursos reais e ruído, usando muito menos dados necessários para um esquema tradicional de aprendizado supervisionado.

Dror Hilman
fonte