As redes contraditórias generativas foram introduzidas por Jürgen Schmidhuber?


32

Eu li em https://en.wikipedia.org/wiki/Generative_adversarial_networks :

[Redes adversárias generativas] foram introduzidas por Ian Goodfellow et al em 2014.

mas Jurgen Schmidhuber afirma ter realizado um trabalho semelhante anteriormente nessa direção (por exemplo, houve algum debate no NIPS 2016 durante o tutorial de redes adversárias generativas: https://channel9.msdn.com/Events/Neural-Information-Processing-Systems- Conferência / Sistemas de processamento de informações neurais - Conferência - NIPS-2016 / Redes de Adversarial Gerativa (ver 1h03min).

A ideia por trás das redes generativas de oposição foi introduzida publicamente pela primeira vez por Jürgen Schmidhuber? Caso contrário, quão semelhantes eram as idéias de Jürgen Schmidhuber?


5
Discussão relevante no reddit aqui , especialmente este comentário .
Dougal

Um breve resumo do incidente do NIPS pode ser lido aqui: beamandrew.github.io/deeplearning/2016/12/12/nips-2016.html
ameba diz Reinstate Monica

1
A seção de histórico da página da Wikipedia foi atualizada e acho que contém todas as referências relevantes e suas conexões entre si agora. Eu acho que isso é realmente justo e completo agora.
Albert

@ Albert obrigado pela atualização!
Franck Dernoncourt

Respostas:


50

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,

insira a descrição da imagem aqui
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.


8
Devo dizer que estou muito impressionado. Parece que seu post também merece crédito pela idéia, mesmo que Ian e sua equipe possam tê-la descoberto independentemente.
user2808118

2
Se você tivesse publicado seu trabalho, poderia ter se tornado a pessoa que inspirou a revolução adversária. SUSPIRO!!
User2808118

5
@ user2808118 Isso exigiria trabalhar nele, para produzir alguns resultados para publicar, e não apenas pensar nisso.
Olli Niemitalo 21/05/19

4
Eu os saúdo duas vezes: primeiro por descobri-lo pelo menos três anos antes de Goodfellow e segundo por ter o grande coração para aceitá-lo de uma maneira muito positiva.
Failed Scientist

19

Uma resposta de Ian Goodfellow sobre Jürgen Schmidhuber estava certo quando reivindicou crédito por GANs no NIPS 2016? Publicado em 21-03-2017:

Ele não está reivindicando crédito por GANs, exatamente. É mais complicado.

Você pode ver o que ele escreveu com suas próprias palavras quando foi revisor da submissão do NIPS 2014 em GANs: Revisões de Exportação, Discussões, Comentários do Autor e Meta-Revisões ( espelho )

Ele é o revisor que nos pediu para alterar o nome dos GANs para "PM inverso".

Aqui está o artigo que ele acredita que não está sendo suficientemente reconhecido: http: // ftp: //ftp.idsia.ch/pub/juergen/factorial.pdf ( espelho )

Não gosto que não haja uma boa maneira de julgar questões como essa. Entrei em contato com os organizadores do NIPS e perguntei se Jürgen havia uma maneira de registrar uma queixa sobre mim e solicite que um comitê de representantes do NIPS julgue se minha publicação a trata injustamente. Eles disseram que não existe esse processo disponível.

Pessoalmente, não acho que exista uma conexão significativa entre a minimização da previsibilidade e os GANs. Eu nunca tive nenhum problema em reconhecer conexões entre GANs e outros algoritmos que realmente estão relacionados, como estimativa contrastante de ruído e aumento auto-supervisionado.

Jürgen e eu pretendemos escrever um artigo em breve descrevendo as semelhanças e diferenças entre PM e GANs, assumindo que somos capazes de concordar com o que são.


2
Infelizmente, parece não haver um documento entre os dois. :-(
ComputerScientist

@ComputerScientist yep ainda está esperando, alguém poderia cuidar dela caso contrário :-)
Franck Dernoncourt
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.