Moderne neuronale Netze, die ihre eigene Topologie aufbauen

21

Eine Einschränkung der Standardalgorithmen für neuronale Netze (wie Backprop) besteht darin, dass Sie eine Entwurfsentscheidung treffen müssen, wie viele verborgene Schichten und Neuronen pro Schicht Sie möchten. In der Regel ist die Lernrate und Verallgemeinerung sehr empfindlich auf diese Entscheidungen. Dies war der Grund, warum neuronale Netzalgorithmen wie die Kaskadenkorrelation Interesse geweckt haben. Es beginnt mit einer minimalen Topologie (nur Eingabe- und Ausgabeeinheit) und rekrutiert im Verlauf des Lernprozesses neue versteckte Einheiten.

Der CC-NN-Algorithmus wurde 1990 von Fahlman und die wiederkehrende Version 1991 eingeführt. Welche neueren (nach 1992) neuronalen Netzalgorithmen beginnen mit einer minimalen Topologie?


Verwandte Fragen

CogSci.SE: Neuronale Netze mit biologisch plausiblen Berichten über die Neurogenese

Artem Kaznatcheev
quelle
Es ist möglich, mit zufälligen projektionsbasierten neuronalen Netzen zu experimentieren. Blogeintrag Code (github)
Sean O'Connor

Antworten:

10

Die implizite Frage ist hier, wie Sie die Topologie / Struktur eines neuronalen Netzwerks oder maschinellen Lernmodells bestimmen können, damit das Modell "die richtige Größe" hat und nicht über- / unterpasst.

Seit der Kaskadenkorrelation im Jahr 1990 gab es dafür eine ganze Reihe von Methoden, von denen viele wesentlich bessere statistische oder rechnerische Eigenschaften aufwiesen:

  • Boosten: Trainieren Sie jeweils einen schwachen Lernenden. Dabei erhält jeder schwache Lernende einen neu gewichteten Trainingssatz, damit er Dinge lernt, die frühere Lernende nicht gelernt haben.
  • Sparsity-induzierte Regularisierung wie Lasso oder automatische Relevanzbestimmung: Beginnen Sie mit einem großen Modell / Netzwerk und verwenden Sie einen Regularizer, der die nicht benötigten Einheiten zum "Ausschalten" anregt, sodass die nützlichen Einheiten aktiv bleiben.
  • Bayesianische Nichtparametrie: Versuchen Sie nicht, die "richtige" Modellgröße zu finden. Verwenden Sie nur ein großes Modell und seien Sie vorsichtig beim Regularisieren / Bayes'schen Sein, damit Sie nicht überanstrengen. Beispielsweise kann ein neuronales Netzwerk mit einer unendlichen Anzahl von Einheiten und Gaußschen Prioritäten als ein Gaußscher Prozess abgeleitet werden, der sich als viel einfacher zu trainieren herausstellt.
  • Deep Learning: Wie in einer anderen Antwort erwähnt, trainieren Sie ein tiefes Netzwerk Schicht für Schicht. Dies löst das Problem der Bestimmung der Anzahl der Einheiten pro Schicht nicht wirklich - oft wird dies noch von Hand oder durch Kreuzvalidierung festgelegt.

quelle
4

So wie ich es verstehe, ist die Spitze der heutigen Technik "Unüberwachtes Feature-Lernen und Deep Learning". kurz gesagt: das netzwerk wird unbeaufsichtigt geschult, jede schicht auf einmal:

Dov
quelle
Beginnt es mit einer minimalen Anzahl von Neuronen (nur Eingabe und Ausgabe)?
Artem Kaznatcheev
Deep Learning enthält eine Vielzahl von Methoden für neuronale Netze mit mehreren versteckten Schichten. Ich bin nicht mit solchen Methoden vertraut, die die Anzahl der Neuronen bestimmen, aber vielleicht weiß der Google-Gelehrte mehr ...
Ran
Afaik die Nummer ist im Voraus in allen gängigen Wettbewerbsmethoden festgelegt. Dies ist etwas problematisch, da dies bedeutet, dass es viele Hyperparameter gibt. James Bergstra schlug kürzlich die Verwendung von Gaußschen Prozessen vor, um die besten Einstellungen für Hyperparameter zu finden9http: //people.fas.harvard.edu/~bergstra/files/pub/11_nips_hyperopt.pdf). Aber dies ist eine Art "äußere Schleife", die viele verschiedene Einstellungen auf intelligente Weise versucht.
Andreas Mueller
4

NEAT (Neural Evolution with Augmenting Topologies) wurde bereits erwähnt. Diesbezüglich gibt es Fortschritte, einschließlich Speziation und HyperNEAT. HyperNEAT verwendet ein Meta-Netzwerk, um die Gewichtung eines vollständig verbundenen Phänotyps zu optimieren. Dies gibt einem Netzwerk ein räumliches Bewusstsein, das bei der Bilderkennung und bei Problemen mit Brettspielen von unschätzbarem Wert ist. Sie sind auch nicht auf 2D beschränkt. Ich verwende es in 1D für die Signalanalyse und 2D nach oben ist möglich, stellt jedoch hohe Anforderungen an die Verarbeitung. Suchen Sie nach Artikeln von Ken Stanley, und es gibt eine Gruppe auf Yahoo. Wenn Sie ein Problem haben, das mit einem Netzwerk behoben werden kann, sind möglicherweise NEAT und / oder HyperNEAT anwendbar.


quelle
3

Zu diesem Thema gibt es eine neuere Veröffentlichung: RP Adams, H. Wallach und Zoubin Ghahramani. Erlernen der Struktur von tief spärlichen grafischen Modellen. Dies ist etwas außerhalb der üblichen neuronalen Netzwerkgemeinschaft und eher auf der Seite des maschinellen Lernens. In diesem Artikel wird eine nicht parametrische Bayes'sche Inferenz für die Netzwerkstruktur verwendet.

Andreas Müller
quelle