Warum ist das zusammengeführte neuronale Netzwerk von AlphaGo Zero effizienter als zwei separate neuronale Netzwerke?

10

AlphaGo Zero enthält mehrere Verbesserungen gegenüber seinen Vorgängern. Architektonische Details von Alpha Go Zero sind in diesem Spickzettel zu sehen .

Eine dieser Verbesserungen ist die Verwendung eines einzelnen neuronalen Netzwerks, das gleichzeitig die Bewegungswahrscheinlichkeiten und den Statuswert berechnet, während die älteren Versionen zwei separate neuronale Netzwerke verwendeten. Es wurde gezeigt, dass das zusammengeführte neuronale Netzwerk laut dem Papier effizienter ist:

Es wird ein neuronales Netzwerk anstelle von zwei verwendet. Frühere Versionen von AlphaGo verwendeten ein "Richtliniennetzwerk", um den nächsten Spielzug auszuwählen, und ein "Wertnetzwerk", um den Gewinner des Spiels von jeder Position aus vorherzusagen. Diese werden in AlphaGo Zero kombiniert, sodass es effizienter trainiert und bewertet werden kann.

Dies erscheint mir kontraintuitiv, da dies aus Sicht des Software-Designs gegen die prinzipielle Trennung von Bedenken verstößt . Deshalb frage ich mich, warum sich diese Fusion als vorteilhaft erwiesen hat.

Kann diese Technik - verschiedene Aufgaben in einem einzigen neuronalen Netzwerk zusammenführen, um die Effizienz zu verbessern - allgemein auf andere neuronale Netzwerke angewendet werden, oder erfordert dies bestimmte Arbeitsbedingungen?

Demento
quelle

Antworten:

6

Warum hat sich diese Fusion als vorteilhaft erwiesen?

Wenn Sie sich vorstellen, dass das gemeinsam genutzte Wert- / Richtliniennetzwerk aus einer gemeinsam genutzten Komponente (den verbleibenden Netzwerkebenen) besteht, auf der eine Wert- und Richtlinienkomponente liegt, und nicht aus der Trennung von Bedenken, ist dies sinnvoller.

Die zugrunde liegende Prämisse ist, dass der gemeinsam genutzte Teil des Netzwerks (das ResNet) eine allgemeine Verallgemeinerung der Eingabe (die Spielzustände, die zum Umzug führen) bietet, die eine gute Eingabedarstellung sowohl für das flache Value- als auch für das Policy-Netzwerk darstellt.

In diesem Fall können wir die Rechenlast erheblich reduzieren, indem wir ein einzelnes gemeinsam genutztes ResNet trainieren und es für zwei viel einfachere Netzwerke verwenden als zwei ResNets für den Wert und die Richtlinie. In ihrem Fall verbessert das gemeinsame Training der beiden auch die Regularisierung und schafft so eine robustere, allgemeine Darstellung.

Insbesondere das Alpha Go Zero-Papier von Silver et al. , Meistert das Spiel ohne menschliches Wissen , heißt es:

Durch die Kombination von Richtlinie und Wert in einem einzigen Netzwerk wurde die Genauigkeit der Bewegungsvorhersage geringfügig verringert, der Wertfehler jedoch verringert und die Spielleistung in AlphaGo um weitere 600 Elo gesteigert. Dies ist teilweise auf eine verbesserte Recheneffizienz zurückzuführen, aber was noch wichtiger ist, das doppelte Ziel reguliert das Netzwerk auf eine gemeinsame Darstellung, die mehrere Anwendungsfälle unterstützt.

Kann diese Technik allgemein oder nur in besonderen Fällen angewendet werden?

Wie bei herkömmlichen Komponenten in Softwarebibliotheken ist dies nur dann sinnvoll, wenn die Probleme, die Sie lösen möchten, von einer gemeinsamen Darstellung profitieren.

Sie können es verwenden, wenn Sie Klassifizierer für ähnliche Aufgaben trainieren oder eine neue Aufgabe mit wenigen Daten trainieren, bei der Sie bereits einen Klassifizierer für einen größeren, ähnlichen Datensatz trainiert haben .

Außerhalb von Go wird es häufig bei der Bilderkennung verwendet. Als Ausgangspunkt werden häufig tief vorgefertigte Netzwerke wie die aus den ImageNet ILSVRC- Wettbewerben verwendet. Sie sind Klassifikatoren, die (seit Wochen!) An über einer Million Bildern trainiert wurden.

Angenommen, Sie möchten ein Netzwerk erstellen, um Ihre bevorzugte Fahrradmarke zu erkennen, beginnen Sie mit der allgemeinen Bilderkennungspipeline, die in ImageNet trainiert wurde, hacken Sie die letzten Ebenen, die die eigentliche Klassifizierung vornehmen ("es ist ein Border Collie"), und fügen Sie hinzu Ein kleiner neuer Klassifikator, mit dem Sie nur die Fahrräder auswählen können, die Ihnen wichtig sind.

Da der vorab trainierte Klassifikator bereits Bildkonzepte auf hoher Ebene bietet, die gute Bausteine ​​für die Bilderkennung sind (er klassifiziert 200 Kategorien), erspart dies Ihnen viel Training und sorgt für einen sehr robusten Klassifikator.

Natürlich gibt es viele Fälle, in denen die Probleme keine nützlichen gemeinsamen Darstellungen haben und daher keinen Nutzen aus einem kombinierten Netzwerk ziehen. Trotzdem ist es ein nützliches Werkzeug in den richtigen Situationen.

Weitere Informationen hierzu finden Sie unter Transferlernen oder Multitasking-Lernen .

mjul
quelle
Wenn man Software-Engineering-Prinzipien verwenden möchte, um die Architektur dieses neuronalen Netzwerks zu analysieren, möchte ich auch darauf hinweisen, dass das verbleibende Blocknetzwerk, auf dem die Werte- und Richtlinienköpfe ruhen, das DRY-Prinzip respektiert. Indem sie von derselben Komponente (dem Restblocknetzwerk) abhängig sind, um Daten vor der Weitergabe dieser Daten an die anderen Komponenten in der Pipeline (den Wert und die Richtlinienköpfe) vorzuverarbeiten, garantieren sie, dass jede dieselbe Darstellung der ursprünglichen Eingabe verarbeitet. Das Duplizieren dieser Verarbeitung mit zwei getrennten Netzwerken garantiert fast eine zeitliche Divergenz.
Sadakatsu