Was ist die "Dropout" -Technik?

10

Welchen Zweck erfüllt die "Dropout" -Methode und wie verbessert sie die Gesamtleistung des neuronalen Netzwerks?

Kenorb
quelle

Antworten:

7

Dropout bedeutet, dass jeder einzelne Datenpunkt nur zur Anpassung einer zufälligen Teilmenge der Neuronen verwendet wird. Dies geschieht, um das neuronale Netzwerk einem Ensemblemodell ähnlicher zu machen.

Das heißt, genau wie eine zufällige Gesamtstruktur die Ergebnisse vieler einzelner Entscheidungsbäume zusammen mittelt, können Sie ein neuronales Netzwerk, das mithilfe von Dropout trainiert wurde, als Mittelung der Ergebnisse vieler einzelner neuronaler Netze sehen (wobei unter "Ergebnissen" Aktivierungen auf jeder Ebene verstanden werden) und nicht nur die Ausgabeschicht).

Matthew Graves
quelle
4

Das Originalpapier 1 , in dem ein Ausfall von neuronalen Netzen vorgeschlagen wurde, trägt den Titel: Ausfall : Ein einfacher Weg, um eine Überanpassung von neuronalen Netzen zu verhindern . Dieses Tittle erklärt in einem Satz ziemlich genau, was Dropout macht. Dropout funktioniert durch zufälliges Auswählen und Entfernen von Neuronen in einem neuronalen Netzwerk während der Trainingsphase. Beachten Sie, dass Dropout während des Tests nicht angewendet wird und dass das resultierende Netzwerk im Rahmen der Vorhersage nicht ausfällt.

Dieses zufällige Entfernen / Herausfallen von Neuronen verhindert eine übermäßige Co-Anpassung der Neuronen und verringert auf diese Weise die Wahrscheinlichkeit einer Überanpassung des Netzwerks .

Die zufällige Entfernung von Neuronen während des Trainings bedeutet auch, dass zu jedem Zeitpunkt nur ein Teil des ursprünglichen Netzwerks trainiert wird. Dies hat zur Folge, dass Sie am Ende mehrere Teilnetzwerke trainieren, zum Beispiel:

Droup als Ensembler

Aus diesem wiederholten Training von Teilnetzwerken im Gegensatz zum gesamten Netzwerk kommt der Begriff des neuronalen Netzwerkausfalls als eine Art Ensemble-Technik ins Spiel. Das Training der Teilnetzwerke ähnelt dem Training zahlreicher, relativ schwacher Algorithmen / Modelle und kombinieren sie zu einem Algorithmus, der leistungsfähiger als die einzelnen Teile ist.

Verweise:

1 : Srivastava, Nitish et al. "Dropout: Ein einfacher Weg, um eine Überanpassung neuronaler Netze zu verhindern." The Journal of Machine Learning Research 15.1 (2014): 1929-1958.

Tshilidzi Mudau
quelle
"Dropout funktioniert durch zufällige Auswahl und Entfernung von Neuronen in einem neuronalen Netzwerk". Wirklich nur der vollständig verbundene Teil eines neuronalen Netzwerks.
Monica Heddneck
2

Ich werde versuchen, Ihre Fragen mit Geoffrey Hintons Ideen in Dropout Paper und seiner Coursera-Klasse zu beantworten.

Welchen Zweck erfüllt die "Dropout" -Methode?

Tiefe neuronale Netze mit einer großen Anzahl von Parametern sind sehr leistungsfähige maschinelle Lernsysteme. Eine Überanpassung ist jedoch in solchen Netzwerken ein ernstes Problem. Große Netzwerke sind ebenfalls langsam zu verwenden, was es schwierig macht, mit Überanpassung umzugehen, indem die Vorhersagen vieler verschiedener großer neuronaler Netze zur Testzeit kombiniert werden. Dropout ist eine Technik, um dieses Problem anzugehen.

Es handelt sich also um eine Regularisierungstechnik, die das Problem der Überanpassung (hohe Varianz) angeht.

Wie verbessert es die Gesamtleistung?
durch bessere Verallgemeinerung und nicht in die Falle einer Überanpassung geraten.

Iman Mirzadeh
quelle
2

Hier gibt es einige gute Antworten. Die einfachste Erklärung, die ich für einen Ausfall geben kann, ist, dass einige Neuronen und ihre Verbindungen während des Trainings zufällig aus dem Netzwerk ausgeschlossen werden, um zu verhindern, dass sich Neuronen zu sehr "gemeinsam anpassen". Es bewirkt, dass jedes Neuron allgemeiner angewendet wird, und eignet sich hervorragend, um eine Überanpassung für große neuronale Netze zu stoppen.

thegreenpizza
quelle