Warum verbessert das Hinzufügen einer Dropout-Ebene die Tiefen- / Maschinenlernleistung, da durch das Dropout einige Neuronen aus dem Modell unterdrückt werden?


12

Wenn das Entfernen einiger Neuronen zu einem leistungsfähigeren Modell führt, warum nicht zunächst ein einfacheres neuronales Netzwerk mit weniger Schichten und weniger Neuronen verwenden? Warum am Anfang ein größeres, komplizierteres Modell bauen und Teile davon später unterdrücken?

Antworten:


28

Die Funktion von Dropout besteht darin, die Robustheit des Modells zu erhöhen und auch einfache Abhängigkeiten zwischen den Neuronen zu beseitigen.

Neuronen werden nur für einen einzelnen Durchlauf vorwärts und rückwärts durch das Netzwerk entfernt. Dies bedeutet, dass ihre Gewichte für diesen Durchlauf synthetisch auf Null gesetzt werden und ihre Fehler ebenfalls, was bedeutet, dass die Gewichte nicht aktualisiert werden. Dropout funktioniert auch als eine Form der Regularisierung , da es das Modell für seine Komplexität in gewisser Weise benachteiligt.

Ich würde empfehlen, den Dropout-Abschnitt in Michael Nielsens Deep Learning-Buch (kostenlos und online) zu lesen , der eine gute Intuition vermittelt und auch sehr hilfreiche Diagramme / Erklärungen enthält. Er erklärt das:

Dropout ist eine radikal andere Technik zur Regularisierung. Im Gegensatz zur L1- und L2-Regularisierung muss bei Dropout die Kostenfunktion nicht geändert werden. Stattdessen ändern wir bei Dropout das Netzwerk selbst.

Hier ist ein schöner zusammenfassender Artikel . Aus diesem Artikel:

Einige Beobachtungen:

  • Dropout zwingt ein neuronales Netzwerk, robustere Funktionen zu lernen, die in Verbindung mit vielen verschiedenen zufälligen Untergruppen der anderen Neuronen nützlich sind.
  • Dropout verdoppelt ungefähr die Anzahl der für die Konvergenz erforderlichen Iterationen. Die Trainingszeit für jede Epoche ist jedoch kürzer.
  • Mit H versteckten Einheiten, von denen jede fallengelassen werden kann, haben wir 2 ^ H mögliche Modelle. In der Testphase wird das gesamte Netzwerk betrachtet und jede Aktivierung um einen Faktor p reduziert.

Beispiel

Stellen Sie sich vor, ich bitte Sie, mir eine Tasse Tee zu machen - Sie könnten immer Ihre rechte Hand zum Eingießen des Wassers verwenden, Ihr linkes Auge zum Messen des Wasserstandes und dann Ihre rechte Hand erneut, um den Tee mit einem Löffel umzurühren. Dies würde bedeuten, dass Ihre linke Hand und Ihr rechtes Auge wenig Sinn haben. Die Verwendung von Dropout würde z. B. Ihre rechte Hand hinter Ihrem Rücken binden und Sie dazu zwingen, Ihre linke Hand zu verwenden. Jetzt, nachdem Sie mir 20 Tassen Tee zubereitet haben und entweder ein Auge oder eine Hand außer Gefecht gesetzt haben, sind Sie besser darin geschult, alles zu benutzen, was zur Verfügung steht. Vielleicht müssen Sie später in einer winzigen Küche Tee kochen, in der es nur möglich ist, den Wasserkocher mit dem linken Arm zu benutzen ... und nachdem Sie Dropout benutzt haben, haben Sie Erfahrung damit! Sie sind robuster gegenüber unsichtbaren Daten geworden.


Wie ermittle ich den besten Dropout-Wert für die Klassifizierung mehrerer Klassen? und wie man die beste Anzahl von Dropout-Schichten ermittelt?
NIT

2
@ N.IT - soweit mir bekannt ist, gibt es keine genau definierte Methode, die den besten Grad an Dropout oder wie viele Ebenen findet - abgesehen davon, dass ich nur viele Kombinationen ausprobiere. Wie bei anderen Regularisierungs- und Architekturerkundungsmethoden erzielen Sie wahrscheinlich die besten Ergebnisse, wenn Sie ein Modell trainieren und die Trainings- / Validierungsverlustkurven vergleichen. Lesen Sie diese Erklärung zum Thema .
n1k31t4

Gute Antwort. Um in Bezug auf Ihre Küchenanalogie konkreter zu sein, wird Dropout nur während des Trainings und nicht während der Schlussfolgerung verwendet. Daher wird das komplexe Modell teilweise nicht verwendet.
Vaibhav Garg

Ich schreibe diese Antwort mit geschlossenen Augen. Das bedeutet mehr Trainingsbedarf. nwws moew seopour.
VHanded

3

Dropout entfernt eigentlich keine Neuronen, es ist nur so, dass diese bestimmten Neuronen für den angegebenen Datenstapel keine Rolle spielen (nicht aktiviert werden).

Beispiel - Angenommen, es gibt eine Straße mit 8 Fahrspuren - Wenn Lastwagen kommen, passieren sie die Fahrspuren 1,2,4,6,7, wenn Autos kommen, passieren sie die Fahrspuren 2,3,4,7,8 und wenn Motorräder kommen Sie fahren durch die Gassen 1,2,5,8. Unabhängig von einem Fahrzeug sind also alle Fahrspuren vorhanden, aber nur einige davon werden verwendet.

In ähnlicher Weise werden alle Neuronen im gesamten Modell verwendet, es wird jedoch nur eine Teilmenge von Neuronen für einen bestimmten Datenstapel aktiviert. Und das Modell wird später nicht gekürzt, die Modellkomplexität bleibt unverändert.

Warum Dropout verwenden?

Wie in Deep Learning-Buch von Ian Goodfellow gegeben,

Dropout ist effektiver als andere rechnerisch kostengünstige Standard-Regularisierer, z. B. Gewichtsabnahme, Einschränkung der Filternorm und Regularisierung spärlicher Aktivitäten.

Er sagt auch-

Ein Vorteil von Dropout ist, dass es sehr rechenintensiv ist.

Ein weiterer wesentlicher Vorteil des Abbrechens besteht darin, dass der Typ des Modells oder des Trainingsverfahrens, das verwendet werden kann, nicht wesentlich eingeschränkt wird. Es funktioniert gut mit fast jedem Modell, das eine verteilte Darstellung verwendet und mit stochastischer Gradientenabnahme trainiert werden kann. Dies umfasst vorwärtsgerichtete neuronale Netze, Wahrscheinlichkeitsmodelle wie eingeschränkte Boltzmann-Maschinen (Srivastava et al., 2014) und wiederkehrende neuronale Netze (Bayer und Osendorfer, 2014; Pascanu et al., 2014a).

Dieses Buch sagt-

Die Kernidee ist, dass das Einbringen von Rauschen in die Ausgabewerte einer Schicht zufällige Muster auflösen kann, die nicht signifikant sind. Wenn kein Rauschen vorhanden ist, beginnt das Netzwerk, diese zu speichern.


Ich habe die Frage bearbeitet, um das Wort "unterdrücken" zu verwenden und nicht "entfernen". Die Frage bleibt. Warum so viele Fahrspuren bauen, wenn am Ende nur einige davon genutzt werden?
User781486

@ user781486 Für einige von ihnen bedeutet dies, dass einige von ihnen für jeden Datenstapel gelten, aber alle werden verwendet, wenn Sie ganze Daten berücksichtigen. Wie in meinem Beispiel werden alle Fahrspuren 1 bis 8 verwendet, wenn Sie für jedes Fahrzeug einen kombinierten Satz von Fahrspurnummern verwenden.
Ankit Seth

3

Eine andere Sichtweise auf das, was Dropout bewirkt, ist, dass der Koeffizient für eine Kovariate (das ist ein komplexer Interaktionsterm der ursprünglichen Kovariaten mit einigen komplizierten funktionalen Transformationen) in einem Bayes'schen Modell wie ein Vorgänger ist. Dies ist die Interpretation, die Yarin Gal in seiner Dissertation vorgeschlagen hat (siehe seine Publikationsliste ).

Hier ist ein kurzes Argument, warum dies so ist:

  • In jenen Ansätzen, in denen ein Neuron eliminiert ist, ist der Koeffizient für Merkmal / Kovariate (konstruiert durch Verbindung in dem neuronalen Netzwerk, das in das Neuron eintritt) Null (Spitze bei Null).
  • In jenen Chargen, in denen das Neuron vorhanden ist, ist der Koeffizient nicht beschränkt (unpassende Ebene vor = Platte).
  • Über alle Chargen gemittelt, erhalten Sie vorab einen Spike-and-Slab.

Warum sollten wir vorher eine Platte mit Stacheln haben wollen? Sie induziert ein Bayes'sches Modell für die Mittelwertbildung zwischen einem neutralen Netzwerk ohne dieses Neuron und einem mit diesem Neuron. Mit anderen Worten, sie lässt uns die Unsicherheit darüber ausdrücken, ob das neutrale Netzwerk wirklich seine volle mögliche Komplexität haben muss, und berücksichtigt diese Unsicherheit in angemessener Weise in der Vorhersagen. Damit wird das Hauptproblem der Überanpassung neutraler Netzwerke an Daten behoben (obwohl dies natürlich nicht der einzige Weg ist, dies zu erreichen).


Guter Punkt. Aktualisiert die Antwort.
Björn

2

Durch die Dropout-Schicht wird ein bestimmter Teil der Neuronen unterschiedslos ausgesondert, wodurch die Darstellungskapazität des betreffenden Modells verringert wird. Dies verhindert, dass das Netzwerk komplexe nichtlineare Entscheidungsgrenzen (dh das "Rauschen" im Datensatz) anpasst, wodurch eine Überanpassung verhindert (oder verbessert) wird.

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.