Kann man (theoretisch) ein neuronales Netzwerk mit weniger Trainingsmustern als Gewichten trainieren?


12

Zunächst einmal: Ich weiß, dass zum Trainieren eines neuronalen Netzwerks keine allgemeine Anzahl von Stichproben erforderlich ist. Es hängt von viel zu vielen Faktoren ab, wie der Komplexität der Aufgabe, dem Rauschen in den Daten und so weiter. Und je mehr Trainingsbeispiele ich habe, desto besser wird mein Netzwerk.

Aber ich habe mich gefragt: Ist es theoretisch möglich, ein neuronales Netzwerk mit weniger Trainingsmustern als Gewichten zu trainieren, wenn ich davon ausgehe, dass meine Aufgabe "einfach" genug ist? Kennt jemand ein Beispiel, wo das geklappt hat? Oder wird dieses Netzwerk mit ziemlicher Sicherheit eine schlechte Leistung erbringen?

Wenn ich zum Beispiel die Polynomregression betrachte, kann ich kein Polynom vom Grad 4 (dh mit 5 freien Parametern) nur auf 4 Datenpunkte anpassen. Gibt es eine ähnliche Regel für neuronale Netze, wenn ich meine Anzahl von Gewichten als die Anzahl von freien Parametern betrachte?


Ja: Wenn die Gewichte zufällig initialisiert werden, ist es theoretisch möglich, ein perfekt trainiertes neuronales Netzwerk auch ohne Trainingsmuster zu erhalten. (Posting als Kommentar, nicht als Antwort, da ich weiß, dass dies nicht wirklich das ist, was Sie fragen.)
Darren Cook

Antworten:


17

Das machen die Leute die ganze Zeit mit großen Netzwerken. Zum Beispiel hat das berühmte AlexNet-Netzwerk ungefähr 60 Millionen Parameter, während das ImageNet ILSVRC, auf dem es ursprünglich trainiert wurde, nur 1,2 Millionen Bilder hat.

Der Grund, warum Sie ein 5-Parameter-Polynom nicht an 4 Datenpunkte anpassen, ist, dass es immer eine Funktion finden kann, die genau zu Ihren Datenpunkten passt, aber an anderer Stelle unsinnige Dinge tut. Nun ja, wie wurde vor kurzem festgestellt , AlexNet und ähnliche Netzwerke können beliebige Zufalls Etiketten passen auf IMAGEnet angewendet und einfach auswendig lernen sie alle, vermutlich weil sie so viele mehr Parameter als Trainingspunkte. Etwas an den Prioritäten des Netzwerks in Kombination mit dem Optimierungsprozess für den stochastischen Gradientenabstieg bedeutet jedoch, dass diese Modelle in der Praxis immer noch gut auf neue Datenpunkte verallgemeinert werden können, wenn Sie ihnen echte Beschriftungen geben. Wir verstehen immer noch nicht wirklich, warum das passiert.


2
+1. Darf ich hinzufügen, dass ich für einen Vergleich mit der Polynomregression auch davon ausgehen würde, dass Stichproben hochdimensional sind. Die durchschnittliche Bildauflösung in ImageNet beträgt etwa 469 x 387 Pixel. Bei einer Beschneidung auf 256 x 256 haben wir 1,2 Millionen 65k-Eingabeparameter, die in jedem Sample stark korreliert sind und somit dem neuronalen Netzwerk (und insbesondere einem Faltungs-NN) viel mehr Informationen liefern. als im Fall der Polynomregression.
jjmontes

3
@jjmontes stimmt, aber das Hauptgeheimnis ist, dass diese Netzwerke die Fähigkeit haben, sich sowohl zu merken als auch zu verallgemeinern (gut). Mit anderen Worten, sie können die Trainingsdaten mit zufälligen Beschriftungen zerstören und dennoch gut verallgemeinern. Dies sieht man bei traditionellen ML-Methoden nicht.
Amelio Vazquez-Reina

6

Unterbestimmte Systeme sind nur dann unterbestimmt, wenn Sie keine anderen Einschränkungen als die Daten auferlegen. Wenn Sie sich an Ihr Beispiel halten und ein 4-Grad-Polynom an 4 Datenpunkte anpassen, haben Sie einen Freiheitsgrad, der nicht durch die Daten eingeschränkt wird, sodass Sie eine Linie (im Koeffizientenraum) gleich guter Lösungen erhalten. Sie können jedoch verschiedene Regularisierungstechniken verwenden, um das Problem nachvollziehbar zu machen. Indem Sie beispielsweise die L2-Norm (dh die Summe der Quadrate) der Koeffizienten mit einer Strafe belegen, stellen Sie sicher, dass es immer eine eindeutige Lösung mit der höchsten Fitness gibt.

Regularisierungstechniken gibt es auch für neuronale Netze. Die kurze Antwort auf Ihre Frage lautet "Ja, Sie können". Von besonderem Interesse ist eine Technik namens "Dropout", bei der Sie für jede Aktualisierung der Gewichte zufällig eine bestimmte Teilmenge von Knoten aus dem Netzwerk "löschen". Das heißt, für diese bestimmte Iteration des Lernalgorithmus tun Sie so, als ob diese Knoten nicht existieren. Ohne Dropout kann das Netz sehr komplexe Darstellungen der Eingabe lernen, die davon abhängen, dass alle Knoten genau richtig zusammenarbeiten. Solche Darstellungen werden wahrscheinlich die Trainingsdaten "auswendig lernen", anstatt verallgemeinernde Muster zu finden. Dropout stellt sicher, dass das Netzwerk nicht alle Knoten gleichzeitig verwenden kann, um die Trainingsdaten anzupassen. es muss in der Lage sein, die Daten auch dann gut darzustellen, wenn einige Knoten fehlen,

Beachten Sie auch, dass bei Verwendung von Dropout die Freiheitsgrade an einem bestimmten Punkt während des Trainings tatsächlich kleiner sein können als die Anzahl der Trainingsmuster, obwohl Sie insgesamt mehr Gewichte als Trainingsmuster lernen.


2
Dies übertreibt möglicherweise die Rolle, die die explizite Regularisierung in tiefen Netzen spielt: Dieses Papier, auf das ich in meiner Antwort Bezug genommen habe, zeigt Dropout und andere Formen der Regularisierung, die nur geringe Auswirkungen darauf haben, wie viel sich das Netzwerk merken kann. Es könnte jedoch sein, dass Ihre grundlegende Geschichte richtig ist, aber die wichtigste Regularisierung im Spiel ist die implizite von SGD; das ist alles noch etwas trüb.
Dougal
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.