Wurden generative kontradiktorische Netzwerke von Jürgen Schmidhuber eingeführt?


32

Ich habe auf https://en.wikipedia.org/wiki/Generative_adversarial_networks gelesen :

[Generative Adversarial Networks] wurden 2014 von Ian Goodfellow et al. Eingeführt.

aber Jürgen Schmidhuber Ansprüche ähnliche Arbeiten früher in dieser Richtung durchgeführt haben ( zum Beispiel gibt es einige Diskussionen um NIPS 2016 während der generativen kontradiktorischen Netzwerk Tutorial: https://channel9.msdn.com/Events/Neural-Information-Processing-Systems- Konferenz / Neuronale Informationsverarbeitungssystemkonferenz-NIPS-2016 / Generative-Adversarial-Networks siehe 1h03min).

Wurde die Idee hinter generativen kontradiktorischen Netzwerken von Jürgen Schmidhuber erstmals öffentlich vorgestellt? Wenn nicht, wie ähnlich waren die Ideen von Jürgen Schmidhuber?


5
Relevante Diskussion zu reddit hier , insbesondere dieser Kommentar .
Dougal

Eine kurze Zusammenfassung des Vorfalls des NIPS kann hier gelesen werden: beamandrew.github.io/deeplearning/2016/12/12/nips-2016.html
Amöbe sagt Reinstate Monica

1
Der Verlaufsabschnitt der Wikipedia-Seite wurde aktualisiert, und ich denke, er enthält jetzt alle relevanten Verweise und ihre Verbindungen zueinander. Ich denke, das ist jetzt tatsächlich ziemlich fair und vollständig.
Albert

@ Albert danke für das Update!
Franck Dernoncourt

Antworten:


48

Die Grundidee einer deterministischen Vielfalt generativer adversarialer Netzwerke (GANs) habe ich 2010 in einem Blogbeitrag (archive.org) selbst veröffentlicht . Ich hatte nach etwas Ähnlichem gesucht, konnte es aber nirgendwo finden und hatte keine Zeit, es umzusetzen. Ich war und bin kein Forscher für neuronale Netze und habe keine Verbindungen vor Ort. Ich werde den Blog-Post hier kopieren und einfügen:

2010-02-24

Eine Methode zum Trainieren künstlicher neuronaler Netze , um fehlende Daten in einem variablen Kontext zu generieren. Da die Idee schwer in einen einzigen Satz zu fassen ist, werde ich ein Beispiel verwenden:

In einem Bild fehlen möglicherweise Pixel (z. B. unter einem Fleck). Wie kann man die fehlenden Pixel wiederherstellen und nur die umliegenden Pixel kennen? Ein Ansatz wäre ein "Generator" -neurales Netzwerk, das unter Berücksichtigung der umgebenden Pixel als Eingabe die fehlenden Pixel erzeugt.

Aber wie trainiert man ein solches Netzwerk? Man kann nicht erwarten, dass das Netzwerk genau die fehlenden Pixel erzeugt. Stellen Sie sich zum Beispiel vor, dass die fehlenden Daten ein Stück Gras sind. Man könnte das Netzwerk mit einer Reihe von Rasenbildern unterrichten, wobei Teile entfernt wurden. Der Lehrer kennt die fehlenden Daten und kann das Netzwerk anhand der mittleren Quadratwurzeldifferenz (RMSD) zwischen dem generierten Grasfeld und den ursprünglichen Daten bewerten. Das Problem ist, dass, wenn der Generator auf ein Bild stößt, das nicht Teil des Trainingssatzes ist, das neuronale Netzwerk unmöglich alle Blätter, insbesondere in der Mitte des Pflasters, genau an den richtigen Stellen platzieren kann. Der niedrigste RMSD-Fehler würde wahrscheinlich dadurch erzielt, dass das Netzwerk den mittleren Bereich des Patches mit einer Volltonfarbe füllt, die dem Durchschnitt der Pixelfarbe in typischen Grasbildern entspricht. Wenn das Netzwerk versucht, Gras zu generieren, das für einen Menschen überzeugend aussieht und somit seinen Zweck erfüllt, würde die RMSD-Metrik eine unglückliche Strafe nach sich ziehen.

Meine Idee ist dies (siehe Abbildung unten): Trainieren Sie gleichzeitig mit dem Generator ein Klassifikator-Netzwerk, das in zufälliger oder alternierender Reihenfolge aus generierten und ursprünglichen Daten besteht. Der Klassifikator muss dann im Kontext des umgebenden Bildkontexts raten, ob die Eingabe original (1) oder generiert (0) ist. Gleichzeitig versucht das Generator-Netzwerk, vom Klassifikator einen Highscore (1) zu erhalten. Das Ergebnis ist hoffentlich, dass beide Netzwerke sehr einfach beginnen und Fortschritte beim Generieren und Erkennen immer weiter fortgeschrittener Funktionen machen, wobei die Fähigkeit des Menschen, zwischen den generierten Daten und dem Original zu unterscheiden, angegangen und möglicherweise beseitigt wird. Wenn für jede Punktzahl mehrere Trainingsmuster berücksichtigt werden, ist RMSD die richtige zu verwendende Fehlermetrik.

Bildbeschreibung hier eingeben
Künstliches neuronales Netzwerk-Trainingssetup

Wenn ich RMSD am Ende erwähne, meine ich die Fehlermetrik für die "Wahrscheinlichkeitsschätzung", nicht die Pixelwerte.

Ich habe ursprünglich im Jahr 2000 über die Verwendung neuronaler Netze nachgedacht (comp.dsp post) , um fehlende Hochfrequenzen für digitales Audio mit Aufwärtsabtastung (Aufwärtsabtastung auf eine höhere Abtastfrequenz) auf eine Weise zu erzeugen, die eher überzeugend als genau wäre. Im Jahr 2001 habe ich eine Audiobibliothek für das Training gesammelt. Hier sind Teile eines EFNet-Protokolls #musicdsp Internet Relay Chat (IRC) vom 20. Januar 2006, in dem ich (yehar) mit einem anderen Benutzer (_Beta) über die Idee spreche:

[22:18] <yehar> Das Problem mit Samples ist, dass, wenn Sie nicht schon etwas "da oben" haben, was Sie tun können, wenn Sie ein Upsampling durchführen ...
[22:22] <yehar> Ich habe einmal ein großes gesammelt Bibliothek von Sounds, damit ich ein "intelligentes" Algo entwickeln kann, um genau dieses Problem zu lösen
[22:22] <yehar> Ich hätte neuronale Netze verwendet
[22:22] <yehar>, aber ich habe den Job nicht beendet: - D
[22:23] <_Beta> Problem mit neuronalen Netzen ist, dass Sie eine Möglichkeit haben müssen, die Güte der Ergebnisse zu
messen Gleichzeitig mit der Entwicklung des "Smart Up-There Sound Creator"
[22:26] <yehar> beta: und dieser Zuhörer lernt zu erkennen, wann er ein erstelltes oder ein natürliches Spektrum von oben hört. und der Schöpfer entwickelt sich gleichzeitig, um zu versuchen, diese Entdeckung zu umgehen

Irgendwann zwischen 2006 und 2010 lud ein Freund einen Experten ein, sich meine Idee anzuschauen und mit mir zu diskutieren. Sie hielten es für interessant, sagten jedoch, dass es nicht wirtschaftlich sei, zwei Netzwerke zu trainieren, wenn ein einziges Netzwerk die Aufgabe übernehmen könne. Ich war mir nie sicher, ob sie die Kernidee nicht verstanden haben oder ob sie sofort einen Weg sahen, sie als ein einziges Netzwerk zu formulieren, vielleicht mit einem Engpass in der Topologie, um sie in zwei Teile zu unterteilen. Dies war zu einer Zeit, als ich nicht einmal wusste, dass Backpropagation immer noch die de-facto-Trainingsmethode ist (lernte, dass das Erstellen von Videos in der Deep Dream-Begeisterung von 2015). Im Laufe der Jahre hatte ich mit ein paar Data Scientists und anderen über meine Idee gesprochen, von denen ich dachte, dass sie interessiert wären, aber die Reaktion war mild.

Im Mai 2017 habe ich Ian Goodfellows Tutorial-Präsentation auf YouTube [Mirror] gesehen , die meinen Tag total verschönert hat. Es schien mir die gleiche Grundidee zu sein, mit Unterschieden, wie ich sie derzeit verstehe, und die harte Arbeit war geleistet worden, um gute Ergebnisse zu erzielen. Er gab auch eine Theorie an oder gründete alles auf einer Theorie, warum es funktionieren sollte, während ich nie irgendeine formale Analyse meiner Idee durchführte. Goodfellow's Präsentation beantwortete Fragen, die ich hatte und vieles mehr.

Goodfellows GAN und seine vorgeschlagenen Erweiterungen enthalten eine Geräuschquelle im Generator. Ich habe nie daran gedacht, eine Rauschquelle einzuschließen, sondern stattdessen den Trainingsdatenkontext, um die Idee besser auf eine bedingte GAN (cGAN) ohne Rauschvektoreingabe abzustimmen und das Modell von einem Teil der Daten abhängig zu machen. Mein aktuelles Verständnis basiert auf Mathieu et al. 2016 ist, dass eine Rauschquelle für nützliche Ergebnisse nicht benötigt wird, wenn es genügend Eingangsvariabilität gibt. Der andere Unterschied besteht darin, dass die GAN von Goodfellow die Wahrscheinlichkeit von Logarithmen minimiert. Später wurde ein Least-Squares-GAN (LSGAN) eingeführt ( Mao et al. 2017)), der meinem RMSD-Vorschlag entspricht. Meine Idee würde also der eines generativen adversarischen Netzwerks mit bedingten kleinsten Quadraten (cLSGAN) ohne eine Rauschvektoreingabe in den Generator und mit einem Teil der Daten als Konditioniereingabe entsprechen. Ein generativer Generator tastet eine Approximation der Datenverteilung ab. Ich weiß jetzt, ob und bezweifle, dass reale, verrauschte Eingaben dies mit meiner Idee ermöglichen würden, aber das heißt nicht, dass die Ergebnisse nicht nützlich wären, wenn dies nicht der Fall wäre.

Die oben genannten Unterschiede sind der Hauptgrund, warum Goodfellow meiner Meinung nach weder etwas über meine Idee wusste noch davon hörte. Ein weiterer Grund ist, dass mein Blog keinen anderen maschinellen Lerninhalt hat, sodass er in maschinellen Lernkreisen nur in sehr begrenztem Umfang verwendet wird.

Es liegt ein Interessenkonflikt vor, wenn ein Rezensent Druck auf einen Autor ausübt, die eigene Arbeit des Rezensenten zu zitieren.


8
Ich muss sagen, ich bin sehr beeindruckt. Es sieht so aus, als ob Ihr Blog-Beitrag auch Anerkennung für die Idee verdient, obwohl Ian und sein Team sie möglicherweise unabhängig voneinander entdeckt haben.
user2808118

1
Hätten Sie Ihre Arbeit veröffentlicht, wären Sie vielleicht die Person geworden, die die kontroverse Revolution inspiriert hat. KEUCHEN!!
user2808118

5
@ user2808118 Dafür hätte man daran arbeiten müssen, um einige Ergebnisse zu veröffentlichen und nicht nur darüber nachzudenken.
Olli Niemitalo

4
Ich grüße Sie zweimal: Erstens, weil Sie es mindestens 3 Jahre vor Goodfellow entdeckt haben und zweitens, weil Sie das große Herz dafür haben, es auf sehr positive Weise anzunehmen.
Failed Scientist

18

Eine Antwort von Ian Goodfellow zu: Hatte Jürgen Schmidhuber Recht, als er auf der NIPS 2016 eine Gutschrift für GAN beantragte? Gepostet am 2017-03-21:

Genau genommen beansprucht er keine GANs. Es ist komplizierter.

Sie können sehen, was er in seinen eigenen Worten geschrieben hat, als er Rezensent der NIPS 2014-Einreichung zu GANs war: Export Reviews, Discussions, Author Feedback und Meta-Reviews ( Spiegel )

Er ist der Gutachter, der uns gebeten hat, den Namen der GANs in "Inverse PM" zu ändern.

Hier ist das Papier, von dem er glaubt, dass es nicht ausreichend anerkannt wird: http: // ftp: //ftp.idsia.ch/pub/juergen/factorial.pdf ( Spiegel )

Ich mag es nicht, dass es keinen guten Weg gibt, solche Angelegenheiten zu entscheiden. Ich habe mich an die NIPS-Organisatoren gewandt und gefragt, ob es für Jürgen eine Möglichkeit gibt, eine Beschwerde über mich einzureichen und ein Komitee von NIPS-Vertretern beurteilen zu lassen, ob meine Veröffentlichung seine ungerecht behandelt. Sie sagten, dass es keinen solchen Prozess gibt.

Ich persönlich glaube nicht, dass es einen signifikanten Zusammenhang zwischen Vorhersagbarkeitsminimierung und GANs gibt. Ich hatte nie ein Problem damit, Verbindungen zwischen GANs und anderen tatsächlich verwandten Algorithmen wie der rauschkontrastiven Schätzung und der selbstüberwachten Verstärkung zu erkennen.

Jürgen und ich beabsichtigen, in Kürze gemeinsam eine Arbeit zu verfassen, in der Gemeinsamkeiten und Unterschiede zwischen PM und GAN beschrieben werden, vorausgesetzt, wir können uns darauf einigen.


1
Leider scheint es keine Abhandlung zwischen den beiden zu geben. :-(
ComputerScientist

@ ComputerScientist yep noch warten, könnte jemand anderes kümmern sonst :-)
Franck Dernoncourt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.