Neuronale Netze gegen alles andere

15

Ich habe keine zufriedenstellende Antwort von Google gefunden .

Wenn die Daten, die ich habe, in der Größenordnung von Millionen liegen, ist Deep Learning natürlich der richtige Weg.

Und ich habe gelesen, dass es vielleicht besser ist, beim maschinellen Lernen andere Methoden zu verwenden, wenn ich keine großen Datenmengen habe. Der angegebene Grund ist zu passend. Maschinelles Lernen: dh Betrachten von Daten, Extrahieren von Merkmalen, Erstellen neuer Merkmale aus dem Gesammelten usw. Dinge wie Entfernen stark korrelierter Variablen usw. Das gesamte maschinelle Lernen 9 Meter.

Und ich habe mich gefragt: Warum sind neuronale Netze mit einer verborgenen Schicht kein Allheilmittel gegen Probleme des maschinellen Lernens? Sie sind universelle Schätzer, Überanpassungen können mit Dropout, l2-Regularisierung, l1-Regularisierung und Batch-Normalisierung verwaltet werden. Die Trainingsgeschwindigkeit ist im Allgemeinen kein Problem, wenn wir nur 50.000 Trainingsbeispiele haben. Sie sind zum Testzeitpunkt besser als zum Beispiel zufällige Wälder.

Warum also nicht - bereinigen Sie die Daten, setzen Sie fehlende Werte auf die übliche Weise um, zentrieren Sie die Daten, standardisieren Sie die Daten, werfen Sie sie in ein Ensemble neuronaler Netzwerke mit einer verborgenen Ebene und wenden Sie die Regularisierung an, bis Sie keine Überanpassung mehr bemerken, und trainieren Sie dann sie bis zum Ende. Keine Probleme mit der Gradientenexplosion oder dem Verschwinden des Gradienten, da es sich nur um ein zweischichtiges Netzwerk handelt. Wenn tiefe Schichten benötigt würden, müssten hierarchische Merkmale erlernt werden, und andere Algorithmen für maschinelles Lernen wären ebenfalls nicht gut. Zum Beispiel ist SVM ein neuronales Netzwerk mit nur Gelenkverlust.

Ein Beispiel, bei dem ein anderer Algorithmus für maschinelles Lernen ein sorgfältig reguliertes 2-Schichten- (vielleicht 3?) Neuronales Netzwerk übertreffen würde, wäre wünschenswert. Sie können mir den Link zum Problem geben und ich würde das beste neuronale Netzwerk trainieren, das ich kann, und wir können sehen, ob zwei- oder dreischichtige neuronale Netzwerke keinem anderen Benchmark-Algorithmus für maschinelles Lernen entsprechen.

MiloMinderbinder
quelle
14
Neuronale Netze sind ein Algorithmus für maschinelles Lernen ...
Matthew Drury
6
Es gibt sicherlich einige Bereiche, in denen Deep Learning das A und O ist, wie beispielsweise die Bilderkennung, aber in den meisten anderen Bereichen wird es tendenziell von Gradientenanhebungen dominiert, wie aus den Ergebnissen von Kaggle-Wettbewerben hervorgeht.
Jake Westfall
1
@MatthewDrury - In der Tat ist es! Entschuldigung für die schlechte Terminologie. Ich hoffe, die Nachricht wurde jedoch übermittelt. die Frage dennoch ändern, um robuster zu sein. Vielen Dank für den Hinweis
MiloMinderbinder
1
Beachten
Sie in

Antworten:

31

Jeder Algorithmus für maschinelles Lernen weist eine andere induktive Vorspannung auf, sodass es nicht immer angemessen ist, neuronale Netze zu verwenden. Ein linearer Trend lernt man immer am besten durch einfache lineare Regression und nicht durch ein Ensemble nichtlinearer Netzwerke.

Wenn Sie sich die Gewinner vergangener Kaggle-Wettbewerbe ansehen , mit Ausnahme von Herausforderungen mit Bild- / Videodaten, werden Sie schnell feststellen, dass neuronale Netze nicht die Lösung für alles sind. Einige frühere Lösungen hier.

Wenden Sie die Regularisierung an, bis Sie keine Überanpassung mehr sehen, und trainieren Sie sie dann bis zum Ende

Es gibt keine Garantie dafür, dass Sie genügend Regularisierung anwenden können, um eine Überanpassung zu verhindern, ohne die Fähigkeit des Netzwerks, etwas zu lernen, vollständig zu zerstören. Im wirklichen Leben ist es selten möglich, die Lücke zwischen Zug und Test zu schließen. Aus diesem Grund berichten die Zeitungen immer noch über die Zug- und Testleistung.

Sie sind universelle Schätzer

Dies gilt nur für die unbegrenzte Anzahl von Einheiten, was nicht realistisch ist.

Sie können mir den Link zum Problem geben, und ich würde das beste neuronale Netzwerk trainieren, das ich kann, und wir können sehen, ob zwei- oder dreischichtige neuronale Netzwerke keinem anderen Benchmark-Algorithmus für maschinelles Lernen entsprechen

Ein Beispielproblem, von dem ich erwarte, dass es ein neuronales Netzwerk niemals lösen kann: Bei einer Ganzzahl klassifizieren Sie es als Primzahl oder Nicht-Primzahl.

Ich glaube, dies könnte perfekt mit einem einfachen Algorithmus gelöst werden, der alle gültigen Programme in aufsteigender Länge durchläuft und das kürzeste Programm findet, das die Primzahlen korrekt identifiziert. In der Tat kann diese 13-stellige Regex-Zeichenfolge mit Primzahlen übereinstimmen, die für die Suche nicht rechenintensiv wären.


Kann Regularisierung ein Modell von einem Modell übernehmen, das zu einem Modell passt, dessen Repräsentationskraft durch Regularisierung stark beeinträchtigt wird? Wird es nicht immer diesen süßen Fleck dazwischen geben?

Ja, es gibt einen Sweet Spot, aber normalerweise dauert es lange, bis Sie mit der Überanpassung aufhören. Siehe diese Abbildung:

http://gluon.mxnet.io/_images/regularization-overfitting.png

Wenn Sie die horizontale Achse umdrehen und sie als "Grad der Regularisierung" neu kennzeichnen, ist dies ziemlich genau. Wenn Sie regulieren, bis überhaupt keine Überanpassung vorliegt, ist Ihr Fehler sehr groß. Der "Sweet Spot" tritt auf, wenn etwas Überanpassung vorliegt, aber nicht zu viel.

Wie ist ein einfacher Algorithmus, der alle gültigen Programme in aufsteigender Länge durchläuft und das kürzeste Programm findet, das die Primzahlen korrekt identifiziert? ein Algorithmus, der lernt?

θH(θ)θ


Wenn ich Sie also richtig verstehe, argumentieren Sie, dass das tiefe Netzwerk niemals die Validierungsgenauigkeit des besten flachen Netzwerks bei den besten Hyperparametern für beide trifft, wenn die Daten nicht wesentlich sind?

Ja. Hier ist eine hässliche, aber hoffentlich wirksame Figur, um meinen Standpunkt zu veranschaulichen. https://i.imgur.com/nM3aI2l.png

aber das ergibt keinen Sinn. Ein tiefes Netzwerk kann nur eine 1: 1-Zuordnung über der Oberfläche lernen

Die Frage ist nicht "kann es", sondern "wird es", und wenn Sie Backpropagation trainieren, lautet die Antwort wahrscheinlich nicht.

Wir haben die Tatsache diskutiert, dass größere Netzwerke immer besser funktionieren als kleinere Netzwerke

Ohne weitere Einschränkung ist diese Behauptung einfach falsch.

shimao
quelle
Danke für die Antwort! Kann Regularisierung ein Modell von einem Modell übernehmen, das zu einem Modell passt, dessen Repräsentationskraft durch Regularisierung stark beeinträchtigt wird? Wird es nicht immer diesen süßen Fleck dazwischen geben?
MiloMinderbinder
Bezüglich Ihres Spielzeugproblems. Wie ist ein einfacher Algorithmus, der alle gültigen Programme in aufsteigender Länge durchläuft und das kürzeste Programm findet, das die Primzahlen korrekt identifiziert? ein Algorithmus, der lernt?
MiloMinderbinder
Bitte notieren Sie sich cs231n-Vorlesungsnotizen - 'Wir haben die Tatsache diskutiert, dass größere Netzwerke immer besser funktionieren als kleinere Netzwerke, aber ihre höhere Modellkapazität muss angemessen mit einer stärkeren Regularisierung (z. B. Zerfall mit höherem Gewicht) angegangen werden, da sie sonst möglicherweise übermäßig angepasst werden. Wir werden in späteren Abschnitten weitere Formen der Regularisierung sehen (insbesondere Aussetzer). ' cs231n.github.io/neural-networks-1
MiloMinderbinder
@ user46478 Ich habe die oben genannten Fragen beantwortet, indem ich die Antwort bearbeitete
shimao
"Es gibt keine Garantie dafür, dass Sie genug Regularisierung anwenden können, um eine Überanpassung zu verhindern, ohne die Fähigkeit des Netzwerks, etwas zu lernen, vollständig zu zerstören." - Es tut mir leid, aber ich verstehe diese Aussage immer noch nicht. Ich nehme die Trainingsdaten, {train, val} split, mache das größte Netzwerk, das meine Maschine zulässt, und erhöhe die Ausfallwahrscheinlichkeit, bis der Validierungsfehler unter den Validierungsfehlern minimiert ist, die ich bei verschiedenen Ausfallwahrscheinlichkeiten erhalte. Kann dieser Prozess dazu führen, dass ein überpasstes Modell unbrauchbar wird, ohne ein gutes Modell zu durchlaufen?
MiloMinderbinder
11

Ich möchte hinzufügen, dass es kein Allheilmittel für maschinelles Lernen gibt:

Nach dem No-Free-Lunch- Satz:

Wenn ein Algorithmus bei einer bestimmten Klasse von Problemen eine gute Leistung erbringt, zahlt sich dies zwangsläufig aus, da die Leistung aller verbleibenden Probleme nachlässt

user3684792
quelle
Das ist sehr bedrückend (aber keine Sorge, ich werde nicht über die Konsequenzen streiten). Neuronale Netze können also nur mit universellen Schätzern verglichen werden. 2. Hier geht es nicht darum, wie schnell der Funktionsraum durchsucht wird. Können wir sagen, dass ein neuronales Netzwerk mit 2 verborgenen Schichten bei jedem Problem einem neuronalen Netzwerk mit einer verborgenen Schicht gleichwertig oder überlegen ist? Ich denke, die Annahme von Kontinuität hat hier viel zu tun
MiloMinderbinder
Mit der richtigen Einstellung der Hyperparameter springt ein zweischichtiges neuronales Netzwerk durch Funktionen, die ähnliche Co-Domänen aufweisen, schneller als ein einzelnes neuronales Netzwerk mit versteckten Schichten. Ihre Eingaben?
MiloMinderbinder
1
"Können wir sagen, dass ein neuronales Netzwerk mit 2 verborgenen Schichten bei jedem Problem einem neuronalen Netzwerk mit einer verborgenen Schicht gleichwertig oder überlegen ist?" Nein, leider nicht. Stellen Sie sich als Gegenbeispiel eine logistische Regression (ein nn mit null ausgeblendeten Schichten) gegenüber einem neuronalen Netzwerk mit einer Schicht vor, wobei die Anzahl der ausgeblendeten Einheiten der Anzahl der Datenpunkte für ein vollständig trennbares Dataset entspricht. Es gibt keine Informationen über die Entscheidungsgrenze, die das lr nicht erfassen kann, und die hohe Komplexität nn wird wahrscheinlich zu stark angepasst
user3684792
3
Stimmen Sie der Aussage hier zu, aber ich wollte die Standard-Einschränkung zur NFL hinzufügen, die auch der Wikipedia-Seite entnommen ist: "Beachten Sie, dass die NFL nur gilt, wenn die Zielfunktion aus einer gleichmäßigen Verteilung aller möglichen Funktionen ausgewählt wird."
mkt - Setzen Sie Monica
1
@ user46478 Ich stimme der Relevanz des NFL-Theorems als Antwort auf Ihre Frage zu: "Warum sind neuronale Netze mit einer verborgenen Schicht kein Allheilmittel gegen Probleme des maschinellen Lernens?"
mkt - Wiedereinsetzung von Monica