Was sind Alternativen zur VC-Dimension zur Messung der Komplexität neuronaler Netze?

16

Ich habe einige grundlegende Methoden gefunden, um die Komplexität neuronaler Netze zu messen:

Gibt es noch andere Alternativen?

Es ist bevorzugt:

  • Wenn die Komplexitätsmetrik verwendet werden könnte, um neuronale Netze aus verschiedenen Paradigmen (zur Messung von Backprop, dynamischen neuronalen Netzen, Kaskadenkorrelation usw.) im gleichen Maßstab zu messen. Zum Beispiel kann die VC-Dimension für verschiedene Typen in Netzwerken (oder sogar für andere Dinge als neuronale Netzwerke) verwendet werden, während die Anzahl der Neuronen nur zwischen sehr spezifischen Modellen nützlich ist, bei denen die Aktivierungsfunktion, Signale (Grundsummen vs. Spitzen) und andere Eigenschaften des Netzwerks sind die gleichen.
  • Wenn es gute Übereinstimmungen mit Standardmaßen der Komplexität von Funktionen hat, die vom Netzwerk erlernt werden können
  • Wenn es einfach ist, die Metrik in bestimmten Netzwerken zu berechnen (letzteres ist jedoch kein Muss.)

Anmerkungen

Diese Frage basiert auf einer allgemeineren Frage zu CogSci.SE.

Artem Kaznatcheev
quelle
3
Sollte die Komplexität nicht auch vom Lernalgorithmus abhängen? Die VC-Dimension wird normalerweise auf Methoden mit konvexen Verlustfunktionen angewendet. Wenn Sie einen nicht-konvexen Verlust haben, könnten Sie in die Situation geraten, in der Ihr Modell einige Punkte trennen könnte, aber Ihr Lernalgorithmus wird diese Lösung niemals finden. Daher sollte es meines Erachtens ziemlich schwierig sein, Grenzen bei der Struktur des Netzwerks zu setzen. Ich stimme @tdc zu, dass ein Generalisierungsfehler der richtige Weg ist. Vapniks Artikel zur statistischen Lerntheorie könnte ein guter Ort sein, um etwas darüber zu lernen.
Andreas Mueller

Antworten:

8

Vielleicht möchten Sie einen Blick auf die Zeitung werfen "(Not) Bounding the True Error von John Langford & Rich Caruana (NIPS, 2001)

Die Zusammenfassung lautet:

Wir präsentieren einen neuen Ansatz zur Begrenzung der wahren Fehlerrate eines kontinuierlich bewerteten Klassifikators basierend auf PAC-Bayes-Grenzen. Die Methode erstellt zunächst eine Verteilung über Klassifikatoren, indem bestimmt wird, wie empfindlich die einzelnen Parameter im Modell auf Rauschen reagieren. Die wahre Fehlerrate des bei der Sensitivitätsanalyse gefundenen stochastischen Klassifikators kann dann unter Verwendung einer PAC-Bayes-Bindung eng begrenzt werden. In diesem Artikel demonstrieren wir die Methode an künstlichen neuronalen Netzen mit Ergebnissen einer Verbesserung um 2 bis 3 Größenordnungen im Vergleich zu den besten deterministischen neuronalen Netzgrenzen.

Sie zeigen, dass Sie PAC-Bayes-Stilgrenzen auf stochastische neuronale Netze anwenden können. Die Analyse gilt jedoch nur für 2-Schicht-Feed-Forward-Neuronale Netze mit einer Sigmoid-Übertragungsfunktion. In diesem Fall hängt der Komplexitätsterm nur von der Anzahl der Knoten und der Varianz der Gewichte ab. Sie zeigen, dass für diese Einstellung die Grenze effektiv vorhersagt, wann ein Übertraining auftreten wird. Leider trifft es keine Ihrer "bevorzugten" Eigenschaften!

tdc
quelle
+1 das sieht cool aus - danke, ich werde einen Blick darauf werfen. Aber ich stimme zu, dass es nicht zu den bevorzugten Eigenschaften passt und auf den ersten Blick die Komplexität des Netzwerks nicht so sehr wie seine Leistung zu messen scheint ... aber ich denke, dass diese untrennbar miteinander verbunden sind.
Artem Kaznatcheev
Was es betrachtet, ist Generalisierungsfehler . Die Grenzen, die erstellt werden, haben normalerweise einen Ausdruck, der auf dem Trainingsfehler basiert, und einen Strafausdruck, der auf der Komplexität des Modells basiert. Alles, was Sie interessiert, ist der Komplexitätsbegriff, der jedoch in nahezu jeder Hinsicht eine Zutat sein wird. Dieses Video erklärt es besser als ich kann!
tdc
denke, diese Richtung ist nicht richtig. Fehler ist viel anders als die Komplexität des Netzwerks. obwohl bestehende Theorie die zwei verwischen kann. Ein einfaches Beispiel ist die Überanpassung, bei der der Fehler gering, die Komplexität jedoch hoch ist. Außerdem kann sich ein Fehler aufgrund seiner Komplexität intuitiv verhalten. wie Voreingenommenheit. Es scheint, als ob ein kleines Netzwerk Fehler unterschätzen könnte. etcetera
@vzn aber Generalisierungsfehler ist der Fehler bei zukünftigen Daten - dh wenn Sie einen geringen Trainingsfehler und eine hohe Komplexität haben, ist Ihre Fehlergrenze locker.
tdc
3

Darüber hinaus könnten Sie auch Interesse an der fettsplitternden Dimensionsarbeit von Professor Peter Bartlett haben. Hier ist eine Einführung in die Analyse der Komplexität neuronaler Netze in einem IEEE-Papier von 1998: Die Beispielkomplexität der Musterklassifizierung mit neuronalen Netzen: Die Größe der Gewichte ist wichtiger als die Größe des Netzes (Bartlett 1998) [ http: //ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=661502]

Shaun Singh
quelle