Glossar

Abwurfschicht

Entdecke, wie Dropout-Schichten eine Überanpassung in neuronalen Netzen verhindern, indem sie die Generalisierung, die Robustheit und die Modellleistung verbessern.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Eine Dropout-Schicht ist eine grundlegende Technik, die beim Training neuronaler Netze (NN) eingesetzt wird, um das Problem der Überanpassung zu bekämpfen. Dropout wurde von Hinton et al. in ihrem einflussreichen Artikel aus dem Jahr 2014 eingeführt und hat sich zu einer weit verbreiteten Regularisierungsmethode beim Deep Learning (DL) entwickelt, die besonders bei großen Netzen mit vielen Parametern effektiv ist. Ihr Hauptziel ist es, die Generalisierungsfähigkeit des Modells zu verbessern und sicherzustellen, dass es auch auf ungesehenen Daten gut funktioniert, nicht nur auf den Trainingsdaten.

Wie Dropout funktioniert

Während des Modelltrainings wird in einer Dropout-Schicht ein Teil der Neuronen (Einheiten) in dieser Schicht für jede Trainingsstichprobe nach dem Zufallsprinzip "herausgenommen" oder deaktiviert. Das bedeutet, dass die Ausgänge dieser ausgewählten Neuronen auf Null gesetzt werden und dass sie nicht zum Vorwärtsdurchlauf beitragen oder am Backpropagation-Schritt für diese spezifische Probe teilnehmen. Der Anteil der Neuronen, die herausfallen, wird durch die Dropout-Rate bestimmt, ein Hyperparameter, der in der Regel zwischen 0,2 und 0,5 liegt.

Entscheidend ist, dass die Ausfälle nur während des Trainings aktiv sind. Während der Inferenz oder der Vorhersage auf Testdaten sind alle Neuronen aktiv. Um die Tatsache zu kompensieren, dass während der Schlussfolgerung mehr Neuronen aktiv sind als während des Trainings, werden die Ausgänge der Schicht in der Regel um die Dropout-Rate herabgesetzt (eine Technik namens Inverted Dropout, die häufig in Frameworks wie PyTorch und TensorFlow).

Vorteile der Nutzung von Dropout

Der Hauptvorteil von Dropout-Layern ist eine verbesserte Modellgeneralisierung und weniger Overfitting. Erreicht wird dies durch mehrere Mechanismen:

  • Geringere Co-Adaptation: Durch das zufällige Fallenlassen von Neuronen wird verhindert, dass sich die Einheiten innerhalb einer Schicht zu sehr voneinander abhängig machen (Co-Adaptation), um Fehler während des Trainings zu beheben. Dadurch wird jedes Neuron gezwungen, robustere und unabhängige Merkmale zu lernen, die für sich selbst nützlich sind.
  • Implizites Ensemble: Die Anwendung von Dropouts während des Trainings ist vergleichbar mit dem Training einer großen Anzahl verschiedener "ausgedünnter" neuronaler Netze mit gemeinsamen Gewichten. Zum Zeitpunkt der Inferenz wird das gesamte Netzwerk mit skalierten Aktivierungen verwendet, um die Vorhersagen dieses großen Ensembles zu mitteln, was im Allgemeinen zu einer besseren Leistung und Robustheit führt.
  • Effiziente Berechnung: Obwohl das Konzept dem Training mehrerer Modelle ähnelt, erzielt Dropout diesen Ensemble-Effekt in einem einzigen Trainingszyklus und ist damit rechnerisch viel billiger als ein explizites Modell-Ensembling.

Anwendungen in der realen Welt

Dropout wird in verschiedenen Bereichen der künstlichen Intelligenz (KI ) und des maschinellen Lernens (ML) eingesetzt:

  1. Computer Vision: In der Computer Vision (CV) helfen Dropout-Modelle wie Ultralytics YOLO bei Aufgaben wie der Objekterkennung, der Bildklassifizierung und der Instanzensegmentierung besser abschneiden. Bei autonomen Fahrsystemen kann Dropout die Erkennungsmodelle beispielsweise robuster gegenüber Licht- und Wetterschwankungen oder Verdeckungen machen und so die Sicherheit und Zuverlässigkeit erhöhen. Das Training solcher Modelle kann mit Plattformen wie Ultralytics HUB effektiv verwaltet werden.
  2. Natürliche Sprachverarbeitung (NLP): Dropout wird häufig in NLP-Modellen wie Transformers und BERT eingesetzt. In Anwendungen wie der maschinellen Übersetzung oder der Stimmungsanalyse verhindert Dropout, dass sich das Modell bestimmte Phrasen oder Satzstrukturen aus den Trainingsdaten merkt, was zu einem besseren Verständnis und zur Generierung neuer Texte führt. Dies verbessert die Leistung von Chatbots und Tools zur Textzusammenfassung.

Verwandte Konzepte und Unterscheidungen

Dropout ist eine von mehreren Techniken, die zur Regularisierung beim Deep Learning eingesetzt werden. Andere sind:

  • L1- und L2-Regularisierung: Diese Methoden fügen der Verlustfunktion einen Malus hinzu, der auf der Größe der Modellgewichte basiert und kleinere Gewichte begünstigt. Lies mehr über L1/L2 Regularisierung.
  • Batch-Normalisierung: Die Batch-Normalisierung (BN) normalisiert die Aktivierungen innerhalb einer Schicht, was das Training stabilisieren kann und manchmal einen leichten Regularisierungseffekt hat, der die Notwendigkeit eines starken Dropouts verringern kann. Während BN die interne Kovariatenverschiebung berücksichtigt, zielt Dropout direkt auf die Modellkomplexität ab, indem es Redundanz erzwingt.
  • Datenerweiterung: Techniken wie das Drehen, Skalieren oder Zuschneiden von Bildern(Datenerweiterung) erhöhen künstlich die Vielfalt des Trainingsdatensatzes, was ebenfalls dazu beiträgt, eine Überanpassung zu verhindern und die Generalisierung zu verbessern. Dropout und Datenerweiterung werden oft zusammen eingesetzt.

Zusammenfassend lässt sich sagen, dass der Dropout-Layer eine einfache, aber leistungsstarke Regularisierungstechnik ist, die für das Training robuster Deep-Learning-Modelle in verschiedenen Anwendungsbereichen - von Computer Vision bis NLP - unerlässlich ist.

Alles lesen