Training, Daten und Modellanpassung
Dropout
Heißt auch Dropout-Regularisierung.
Zufälliges Auslassen von Netzwerkeinheiten während des Trainings zur Regularisierung.
Dropout ist ein Regularisierungsverfahren, bei dem während des Trainings ausgewählte Aktivierungswerte zufällig auf null gesetzt werden. (PyTorch Dropout) In der üblichen elementweisen Variante entscheidet eine vorgegebene Wahrscheinlichkeit für jedes Element darüber, ob es in diesem Durchlauf ausfällt. (PyTorch Dropout)
So kannst du dir das vorstellen
Stell dir eine Arbeitsgruppe vor, die eine Aufgabe übt, während gelegentlich unterschiedliche Informationskanäle vorübergehend fehlen. Sie soll ihre Lösung nicht ausschließlich auf eine stets verfügbare Einzelverbindung stützen.
Das ist nur ein Bild für eine Trainingsmaßnahme. Im Modell fehlen keine Mitarbeitenden und es werden keine Fakten bewusst verschwiegen; mathematisch werden ausgewählte Zwischenwerte vorübergehend auf null gesetzt.
Zufällige Maske statt dauerhaftes Löschen
In PyTorch wird die Auswahl bei jedem Vorwärtsdurchlauf im Training neu per Bernoulli-Verteilung getroffen. (PyTorch Dropout) Bei einer Ausfallwahrscheinlichkeit von beispielsweise 20 Prozent heißt das nicht, dass in jedem kleinen Ausschnitt exakt jedes fünfte Element ausfällt, sondern dass jedes Element die entsprechende Chance hat. (PyTorch Dropout)
Die verbleibenden Werte werden in dieser Implementierung während des Trainings mit dem Faktor eins geteilt durch eins minus Ausfallwahrscheinlichkeit skaliert. (PyTorch Dropout) Im regulären Auswertungsmodus arbeitet die Dropout-Schicht dagegen als Identität und verändert die Werte nicht. (PyTorch Dropout)
Trainingsmodus und Auswertung auseinanderhalten
Dropout entfernt somit nicht dauerhaft einen Teil der Modellgewichte und ist keine Methode, um die gespeicherte Modelldatei entsprechend zu verkleinern. (PyTorch Dropout) Für reproduzierbare Prüfungen solltest du kontrollieren, ob das Modell im vorgesehenen Auswertungsmodus läuft.
Die Stärke der Regularisierung muss zur Aufgabe passen; zu starke Regularisierung kann Unteranpassung fördern. (Google ML Glossary) Vergleiche daher die Wirkung auf unabhängigen Daten, statt einen möglichst hohen Ausfallanteil als besonders gründliches Training zu verstehen.
Verwandte Begriffe
Zur Abgrenzung dienen Regularization, Overfitting, Underfitting, Training und Model Parameters.