Jürgen Schmidhuber a-t-il mis en place des réseaux contradictoires génératifs?


32

J'ai lu sur https://en.wikipedia.org/wiki/Generative_adversarial_networks :

Les réseaux accusatoires génératifs ont été introduits par Ian Goodfellow et al. En 2014.

mais Jurgen Schmidhuber affirme avoir déjà effectué un travail similaire dans cette direction (par exemple, il y avait eu un débat lors du NIPS 2016 lors du didacticiel sur les réseaux contradictoires génératifs: https://channel9.msdn.com/Events/Neural-Information-Processing-Systems- Conférence / Conférence-NIPS-2016 / Réseaux génératifs- contradictoires voir 1h03).

L'idée derrière les réseaux contradictoires génératifs a-t-elle été introduite pour la première fois par Jürgen Schmidhuber? Sinon, dans quelle mesure les idées de Jürgen Schmidhuber étaient-elles similaires?


5
Discussion pertinente sur reddit ici , en particulier ce commentaire .
Dougal

Un bref résumé de l'incident du NIPS peut être lu ici: beamandrew.github.io/deeplearning/2016/12/12/nips-2016.html
dit

1
La section historique de la page Wikipedia a été mise à jour et je pense qu’elle contient toutes les références pertinentes et leurs liens les uns avec les autres. Je pense que c'est en fait assez juste et complet maintenant.
Albert

@ Albert merci pour la mise à jour!
Franck Dernoncourt

Réponses:


50

J'ai moi-même publié l'idée de base d'une variété déterministe de réseaux de confrontation générative (GAN) dans un article de blog de 2010 (archive.org) . J'avais cherché mais je ne trouvais rien de semblable nulle part et je n'avais pas le temps d'essayer de le mettre en œuvre. Je n'étais pas et ne suis toujours pas un chercheur sur les réseaux de neurones et je n'ai aucune connexion sur le terrain. Je vais copier le post du blog ici:

2010-02-24

Un procédé pour les réseaux de neurones artificiels de formation afin de générer des données manquantes dans un contexte de variable. Comme il est difficile de formuler l’idée en une seule phrase, je vais utiliser un exemple:

Une image peut avoir des pixels manquants (disons, sous un maculage). Comment restaurer les pixels manquants en ne connaissant que les pixels environnants? Une approche consisterait en un réseau neuronal "générateur" qui, étant donné les pixels environnants en entrée, génère les pixels manquants.

Mais comment former un tel réseau? On ne peut pas s'attendre à ce que le réseau produise exactement les pixels manquants. Imaginons, par exemple, que les données manquantes soient un morceau d’herbe. On pourrait enseigner au réseau un tas d’images de pelouses, avec des portions enlevées. L'enseignant connaît les données manquantes et peut évaluer le réseau en fonction de la différence de racine moyenne (RMSD) entre le champ de gazon généré et les données d'origine. Le problème est que si le générateur rencontre une image qui ne fait pas partie de l'ensemble d'apprentissage, il serait impossible au réseau de neurones de placer toutes les feuilles, en particulier au milieu du patch, exactement aux bons endroits. L’erreur la plus faible en termes de RMSD serait probablement obtenue si le réseau remplissait la zone médiane du patch avec une couleur unie qui correspond à la moyenne de la couleur des pixels dans les images types de gazon. Si le réseau essayait de générer une herbe qui paraisse convaincante et remplisse son objectif, la métrique RMSD encourt une sanction fâcheuse.

Mon idée est la suivante (voir figure ci-dessous): Former simultanément avec le générateur un réseau de classificateur auquel sont données, en séquence aléatoire ou alternée, les données générées et originales. Le classificateur doit alors deviner, dans le contexte du contexte de l'image environnante, si l'entrée est originale (1) ou générée (0). Le réseau du générateur tente simultanément d’obtenir un score élevé (1) du classificateur. Le résultat, espérons-le, est que les deux réseaux sont très simples au début et que des progrès sont réalisés pour générer et reconnaître des fonctionnalités de plus en plus avancées, approcher et éventuellement vaincre la capacité de l'homme à discerner entre les données générées et l'original. Si plusieurs échantillons d'apprentissage sont pris en compte pour chaque score, RMSD est la métrique d'erreur correcte à utiliser.

entrez la description de l'image ici
Configuration d'entraînement neural artificiel

Lorsque je mentionne RMSD à la fin, je parle de la métrique d'erreur pour "l'estimation de probabilité", pas des valeurs de pixels.

À l'origine, j'avais commencé à envisager l'utilisation de réseaux de neurones en 2000 (comp.dsp post) pour générer les hautes fréquences manquantes pour l'audio numérique suréchantillonné (rééchantillonné à une fréquence d'échantillonnage supérieure), d'une manière qui serait plus convaincante que précise. En 2001, j'ai rassemblé une bibliothèque audio pour la formation. Voici des extraits d'un journal INet (Internet Relay Chat) EFNet #musicdsp du 20 janvier 2006 dans lequel je (yehar) parle de l'idée avec un autre utilisateur (_Beta):

[22:18] <yehar> le problème avec les échantillons, c'est que si vous n'avez pas déjà quelque chose "d'en haut", que pouvez-vous faire si vous sous-échantillonnez ...
[22:22] <yehar> une fois, j'ai récolté Une bibliothèque de sons pour pouvoir développer un algo "intelligent" afin de résoudre ce problème
[22:22] <yehar> j'aurais utilisé des réseaux de neurones
[22:22] <yehar> mais je n'ai pas fini le travail: - D
[22:23] <_Beta> Le problème avec les réseaux de neurones est qu’il faut avoir un moyen de mesurer la qualité des résultats
[22:24] <yehar> beta: j’ai l’idée que vous pouvez développer un "auditeur" à en même temps que vous développez le "créateur sonore haut de gamme intelligent"
[22:26] <yehar> beta: et cet auditeur apprendra à détecter quand il écoute un spectre créé ou naturel. et le créateur développe en même temps pour essayer de contourner cette détection

Entre 2006 et 2010, un ami a invité un expert à examiner mon idée et à en discuter avec moi. Ils pensaient que c'était intéressant, mais ont déclaré qu'il n'était pas rentable de former deux réseaux lorsqu'un seul réseau peut faire le travail. Je ne savais jamais s'ils ne comprenaient pas l'idée de base ou s'ils voyaient immédiatement un moyen de la formuler en un seul réseau, avec éventuellement un goulot d'étranglement dans la topologie pour la séparer en deux parties. C'était à un moment où je ne savais même pas que la rétropropagation était encore la méthode de formation de facto (appris à faire des vidéos dans l'engouement pour Deep Dream de 2015). Au fil des années, j’avais parlé de mon idée avec quelques scientifiques et d’autres personnes susceptibles de l’intéresser, mais la réponse a été modérée.

En mai 2017, j'ai vu la présentation du didacticiel d'Ian Goodfellow sur YouTube [Mirror] , qui a totalement fait ma journée. Cela me semblait être la même idée de base, avec les différences que je comprends actuellement décrites ci-dessous, et tout le travail avait été fait pour obtenir de bons résultats. Il a également donné une théorie, ou tout basé sur une théorie, de la raison pour laquelle cela devrait fonctionner, alors que je n'ai jamais procédé à une analyse formelle de mon idée. La présentation de Goodfellow a répondu aux questions que j'avais et bien plus encore.

Le GAN de Goodfellow et ses extensions suggérées incluent une source de bruit dans le générateur. Je n'ai jamais pensé à inclure une source de bruit, mais plutôt le contexte de données d'apprentissage, qui correspond mieux à l'idée d'un GAN conditionnel sans entrée de vecteur de bruit et au modèle conditionné sur une partie des données. Ma compréhension actuelle basée sur Mathieu et al. En 2016 , une source de bruit n'est pas nécessaire pour obtenir des résultats utiles si la variabilité d'entrée est suffisante. L'autre différence est que le GAN de Goodfellow minimise la log-vraisemblance. Plus tard, un GAN des moindres carrés (LSGAN) a été introduit ( Mao et al. 2017) qui correspond à ma suggestion de RMSD. Donc, mon idée correspondrait à celle d'un réseau contradictoire génératif des moindres carrés conditionnels (cLSGAN) sans entrée de vecteur de bruit dans le générateur et avec une partie des données en tant qu'entrée de conditionnement. Un générateur générateur d'échantillons à partir d'une approximation de la distribution des données. Je sais maintenant si et doute que les brouillages réels rendent cela possible avec mon idée, mais cela ne veut pas dire que les résultats ne seraient pas utiles si ce n'était pas le cas.

Les différences mentionnées ci-dessus sont la principale raison pour laquelle je pense que Goodfellow ne connaissait pas ou n'entendait pas parler de mon idée. Une autre est que mon blog n'a pas d'autre contenu d'apprentissage automatique, de sorte qu'il aurait bénéficié d'une exposition très limitée dans les cercles d'apprentissage automatique.

C’est un conflit d’intérêts quand un critique exerce des pressions sur un auteur pour qu’il cite son propre travail.


8
Je dois dire que je suis extrêmement impressionné. Il semble que votre article mérite également l’attribution de cette idée, même si Ian et son équipe l’ont peut-être découverte de manière indépendante.
user2808118

2
Si vous aviez publié votre travail, vous seriez peut-être devenu la personne qui a inspiré la révolution accusatoire. HALETER!!
user2808118

5
@ user2808118 Cela aurait nécessité de travailler dessus, de produire des résultats à publier, et pas seulement d'y penser.
Olli Niemitalo

4
Je vous salue deux fois: premièrement pour le découvrir au moins 3 ans avant Goodfellow et deuxièmement pour avoir le grand cœur de le prendre de manière très positive.
Scientifique en échec

19

Une réponse de Ian Goodfellow à propos de Jürgen Schmidhuber at-il raison lorsqu'il a revendiqué le mérite des GAN lors du NIPS 2016? posté le 2017-03-21:

Il ne réclame pas de crédit pour les GAN, exactement. C'est plus compliqué.

Vous pouvez voir ce qu'il a écrit dans ses propres mots lorsqu'il a révisé la soumission du NIPS 2014 sur les GAN: critiques d'exportation, discussions, commentaires de l'auteur et méta-critiques ( miroir )

Il est le critique qui nous a demandé de changer le nom des GAN en «PM inverse».

Voici le document qu'il pense ne pas être suffisamment reconnu: http: // ftp: //ftp.idsia.ch/pub/juergen/factorial.pdf ( miroir )

Je n'aime pas le fait qu'il n'y ait pas de bon moyen de régler des problèmes comme celui-ci. J'ai contacté les organisateurs du NIPS et demandé s'il était possible pour Jürgen de porter plainte à mon sujet et de laisser un comité composé de représentants du NIPS juger si ma publication le traitait de manière injuste. Ils ont dit qu'il n'y avait pas de tel processus disponible.

Personnellement, je ne pense pas qu’il existe un lien significatif entre la minimisation de la prévisibilité et les GAN. Je n'ai jamais eu de problème à reconnaître les connexions entre les GAN et d'autres algorithmes réellement liés, tels que l'estimation de contraste de bruit et le renforcement auto-supervisé.

Jürgen et moi-même avons l’intention d’écrire ensemble un article décrivant les similitudes et les différences entre PM et GAN, en supposant que nous puissions nous mettre d’accord sur leur nature.


2
Malheureusement, il ne semble pas y avoir de papier entre les deux prochains. :-(
ComputerScientist le

@ComputerScientist yep attend toujours, quelqu'un d'autre pourrait s'en occuper autrement :-)
Franck Dernoncourt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.