Publiquei automaticamente a ideia básica de uma variedade determinística de redes contraditórias generativas (GANs) em uma postagem de blog de 2010 (archive.org) . Eu procurei, mas não encontrei nada semelhante em nenhum lugar, e não tive tempo para tentar implementá-lo. Eu não era e ainda não sou um pesquisador de redes neurais e não tenho conexões no campo. Vou copiar e colar a postagem do blog aqui:
24-02-2010
Um método para treinar redes neurais artificiais para gerar dados ausentes em um contexto variável. Como a ideia é difícil de colocar em uma única frase, usarei um exemplo:
Uma imagem pode ter pixels ausentes (digamos, sob uma mancha). Como restaurar os pixels ausentes, conhecendo apenas os pixels circundantes? Uma abordagem seria uma rede neural "geradora" que, dados os pixels circundantes como entrada, gera os pixels ausentes.
Mas como treinar essa rede? Não se pode esperar que a rede produza exatamente os pixels ausentes. Imagine, por exemplo, que os dados ausentes sejam um pedaço de grama. Pode-se ensinar à rede um monte de imagens de gramados, com partes removidas. O professor conhece os dados que estão faltando e pode pontuar a rede de acordo com a diferença quadrática média da raiz (RMSD) entre o trecho de grama gerado e os dados originais. O problema é que, se o gerador encontrar uma imagem que não faz parte do conjunto de treinamento, seria impossível para a rede neural colocar todas as folhas, especialmente no meio do patch, nos lugares certos. O menor erro RMSD provavelmente seria alcançado pela rede preenchendo a área central do patch com uma cor sólida que é a média da cor dos pixels em imagens típicas de grama. Se a rede tentasse gerar grama que parecesse convincente para um humano e, como tal, cumprisse seu objetivo, haveria uma penalidade infeliz pela métrica RMSD.
Minha idéia é a seguinte (veja a figura abaixo): Treine simultaneamente com o gerador uma rede classificadora que recebe, em seqüência aleatória ou alternada, dados gerados e originais. O classificador deve adivinhar, no contexto do contexto da imagem circundante, se a entrada é original (1) ou gerada (0). A rede do gerador está tentando simultaneamente obter uma pontuação alta (1) no classificador. O resultado, esperançosamente, é que ambas as redes começam realmente simples e avançam no sentido de gerar e reconhecer recursos cada vez mais avançados, aproximando e possivelmente derrotando a capacidade humana de discernir entre os dados gerados e os originais. Se várias amostras de treinamento forem consideradas para cada pontuação, o RMSD será a métrica de erro correta a ser usada,
Configuração de treinamento em rede neural artificial
Quando menciono o RMSD no final, quero dizer a métrica de erro para a "estimativa de probabilidade", não os valores de pixel.
Inicialmente, comecei a considerar o uso de redes neurais em 2000 (comp.dsp post) para gerar altas frequências ausentes para áudio digital com amostragem superior (reamostrada para uma frequência de amostragem mais alta), de uma maneira que seria mais convincente do que precisa. Em 2001, coletei uma biblioteca de áudio para o treinamento. Aqui estão partes de um log do EFNet #musicdsp Internet Relay Chat (IRC) de 20 de janeiro de 2006, no qual eu (yehar) falo sobre a idéia com outro usuário (_Beta):
[22:18] <yehar> o problema com as amostras é que, se você ainda não tem algo "lá em cima", o que você pode fazer se
aumentar a amostra ... [22:22] <yehar> uma vez colecionei uma grande biblioteca de sons para que eu pudesse desenvolver um algo "inteligente" para resolver esse problema exato
[22:22] <yehar> eu usaria redes neurais
[22:22] <yehar>, mas não terminei o trabalho: - D
[22:23] <_Beta> problema com redes neurais é que você tem que ter uma maneira de medir a qualidade dos resultados
[22:24] <yehar> beta: eu tenho essa idéia de que você pode desenvolver um "ouvinte" em ao mesmo tempo em que você desenvolve o "criador de som inteligente lá em cima"
[22:26] <yehar> beta: e esse ouvinte aprenderá a detectar quando estiver ouvindo um espectro criado ou natural lá em cima. e o criador se desenvolve ao mesmo tempo para tentar contornar essa detecção
Entre 2006 e 2010, um amigo convidou um especialista para dar uma olhada na minha ideia e discuti-la comigo. Eles pensaram que era interessante, mas disseram que não era econômico treinar duas redes quando uma única rede pode fazer o trabalho. Eu nunca tinha certeza se eles não entenderam a idéia principal ou se viram imediatamente uma maneira de formulá-la como uma única rede, talvez com um gargalo em algum lugar da topologia para separá-la em duas partes. Isso foi numa época em que eu nem sabia que a retropropagação ainda é o método de treinamento de fato (aprendi que fazer vídeos na mania do Deep Dream de 2015). Ao longo dos anos, conversei sobre minha ideia com alguns cientistas de dados e outros que achei que poderiam estar interessados, mas a resposta foi moderada.
Em maio de 2017, vi a apresentação tutorial de Ian Goodfellow no YouTube [Mirror] , que fez o meu dia totalmente. Pareceu-me a mesma idéia básica, com as diferenças que eu entendo atualmente descritas abaixo, e o trabalho duro foi feito para fazê-lo dar bons resultados. Também ele deu uma teoria, ou baseou tudo em uma teoria, de por que deveria funcionar, enquanto eu nunca fiz nenhum tipo de análise formal da minha ideia. A apresentação de Goodfellow respondeu às perguntas que eu tinha e muito mais.
O GAN de Goodfellow e suas extensões sugeridas incluem uma fonte de ruído no gerador. Eu nunca pensei em incluir uma fonte de ruído, mas, em vez disso, tenho o contexto de dados de treinamento, correspondendo melhor a idéia a um GAN condicional (cGAN) sem uma entrada de vetor de ruído e com o modelo condicionado em uma parte dos dados. Meu entendimento atual baseado em Mathieu et al. 2016 é que uma fonte de ruído não é necessária para obter resultados úteis se houver variabilidade de entrada suficiente. A outra diferença é que o GAN da Goodfellow minimiza a probabilidade de log. Mais tarde, um GAN de mínimos quadrados (LSGAN) foi introduzido ( Mao et al. 2017) que corresponde à minha sugestão de RMSD. Portanto, minha ideia corresponderia à de uma rede adversária generativa condicional de mínimos quadrados (cLSGAN) sem uma entrada de vetor de ruído para o gerador e com uma parte dos dados como entrada de condicionamento. Um gerador generativo amostras de uma aproximação da distribuição de dados. Agora eu sei se e duvido que a entrada barulhenta do mundo real permitiria isso com a minha ideia, mas isso não quer dizer que os resultados não seriam úteis se não o fizessem.
As diferenças mencionadas acima são a principal razão pela qual acredito que Goodfellow não sabia ou ouviu falar da minha ideia. Outra é que meu blog não possuía outro conteúdo de aprendizado de máquina, portanto, teria tido uma exposição muito limitada nos círculos de aprendizado de máquina.
É um conflito de interesses quando um revisor pressiona um autor para citar o próprio trabalho do revisor.