Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Dropout Layer

Eine Dropout-Schicht setzt während des Trainings zufällig einen Anteil der Aktivierungen auf null, damit sich ein Netzwerk nicht auf eine einzelne Einheit verlassen kann. Das verringert Overfitting.

Eine Dropout-Schicht ist eine Regularisierung-Komponente eines neuronalen Netzes, die bei jedem Trainingsschritt zufällig einen Anteil p ihrer Eingaben auf null setzt und bei der Inferenz alle Werte unverändert durchlässt. Da jede Einheit in jedem Schritt ausfallen kann, kann sich das Netz nicht auf einige wenige bestimmte Neuronen oder fragile gegenseitige Anpassungen verlassen. Stattdessen lernt es redundante Merkmale, die besser verallgemeinern und die Trainingsdaten weniger stark überanpassen. Geoffrey Hinton und Kollegen führten die Technik 2012 ein, und Srivastava, Hinton et al. beschrieben sie 2014 ausführlich. Dropout ist eine integrierte Schicht in PyTorch, TensorFlow und den meisten anderen Deep-Learning-Frameworks. Sie kommt in Architekturen von vollständig verbundenen Klassifikationsköpfen bis hin zu Transformern zum Einsatz.

So funktioniert Dropout#

Beim Training erzeugt die Schicht für jeden Vorwärtsdurchlauf eine neue Zufallsmaske. Jedes Element bleibt mit Wahrscheinlichkeit 1 − p erhalten und wird mit Wahrscheinlichkeit p auf null gesetzt. Bei jedem Schritt wird also ein anderes, ausgedünntes Teilnetz trainiert. Das vollständige Netz, das beim Testen zum Einsatz kommt, entspricht näherungsweise dem Mittelwert über die exponentiell vielen Teilnetze, die dieselben Gewichte teilen. Deshalb wird Dropout oft als günstiges Ensemble-Training beschrieben. Damit die erwartete Aktivierung in beiden Phasen gleich bleibt, verwenden moderne Frameworks inverses Dropout: Die erhaltenen Werte werden während des Trainings mit 1 / (1 − p) multipliziert, sodass die Schicht bei der Inferenz nichts verändert. In PyTorch richtet sich nn.Dropout nach dem Trainings- oder Auswertungsmodus des Moduls:

import torch
from torch import nn

torch.manual_seed(0)
dropout = nn.Dropout(p=0.5)
x = torch.ones(10)

# Trainingsmodus: Etwa die Hälfte der Werte wird auf null gesetzt, und die übrigen Werte werden mit 1 / (1 - p) = 2 skaliert
dropout.train()
print("Train:", dropout(x))

# Auswertungsmodus: Die Schicht gibt alle Werte unverändert weiter
dropout.eval()
print("Eval: ", dropout(x))

Im Trainingsmodus werden sechs der zehn Werte verworfen, und die vier übrigen werden zu 2.0. So bleibt der Erwartungswert bei 1.0. Im Auswertungsmodus bleiben alle zehn Werte bei 1.0.

Gängige Dropout-Varianten#

  • Räumliches Dropout: PyTorchs nn.Dropout2d setzt ganze Feature-Map-Kanäle auf null. Das eignet sich für Faltungsnetze, da benachbarte Pixel innerhalb eines Kanals stark korreliert sind und das Verwerfen einzelner Pixel kaum regularisierend wirkt.
  • Stochastische Tiefe (DropPath): Statt einzelner Aktivierungen werden ganze Residualzweige für jede Stichprobe zufällig übersprungen. Das ist ein fester Bestandteil des Trainings von Vision Transformers und modernen CNNs.
  • Monte-Carlo-Dropout: Dropout bleibt bei der Inferenz aktiv, und das Modell führt mehrere Vorwärtsdurchläufe mit derselben Eingabe aus. Die Streuung der Vorhersagen liefert eine kostengünstige Schätzung der Modellunsicherheit für sicherheitskritische Systeme. Gal und Ghahramani interpretierten dieses Verfahren als näherungsweise Bayes'sche Inferenz.
  • DropConnect: Statt Aktivierungen werden einzelne Gewichte zufällig auf null gesetzt, sodass jede Verbindung ihre eigene Maske erhält.

Dropout in der Praxis#

Dropout-Raten werden wie alle anderen Hyperparameter abgestimmt. Srivastava et al. stellten fest, dass das Verwerfen verborgener Einheiten mit Wahrscheinlichkeit 0.5 bei einer großen Bandbreite von Netzen und Aufgaben gut funktionierte. Bei Eingabeeinheiten ist dagegen eine Beibehaltungswahrscheinlichkeit nahe 1 am besten, und der ursprüngliche Transformer verwendete p = 0.1. Eine zu hohe Rate verlangsamt die Konvergenz und kann zu Unteranpassung führen. Wird Dropout direkt vor der Batchnormalisierung platziert, kann das durch eine Verschiebung der Varianz zwischen Training und Test die Genauigkeit beeinträchtigen. Viele Faltungsneuronale Netze setzen vor allem auf Batchnormalisierung, Datenerweiterung und Gewichtszerfall und verwenden Dropout nur im Klassifikationskopf. Die Klassifikationsmodelle von Ultralytics YOLO26 folgen diesem Muster: Sie enthalten eine Dropout-Schicht zwischen den per Pooling zusammengefassten Merkmalen mit 1,280 Kanälen und dem abschließenden linearen Klassifikator. Die Rate dieser Schicht wird durch das Trainingsargument dropout festgelegt (standardmäßig 0.0).

from ultralytics import YOLO

# Ein YOLO26-Klassifikationsmodell laden, dessen Kopf die Dropout-Schicht enthält
model = YOLO("yolo26n-cls.pt")

# Mit 10 % Dropout im Klassifikationskopf auf einer kleinen MNIST-Teilmenge trainieren
results = model.train(data="mnist160", epochs=10, imgsz=64, dropout=0.1)

Anwendungen in der Praxis#

  • Medizinische Bildanalyse: Beschriftete Aufnahmen sind teuer. Daher werden Diagnoseklassifikatoren oft anhand einiger Tausend Bilder aus einem vortrainierten Backbone feinabgestimmt. Dropout im Klassifikationskopf begrenzt, wie stark sich der Kopf Fälle aus einer so kleinen Datenmenge einprägt.
  • Verarbeitung natürlicher Sprache: Transformer-Encoder wie BERT wenden beim Vortraining und bei der Feinabstimmung auf allen Schichten eine Dropout-Wahrscheinlichkeit von 0.1 an, auch auf die Aufmerksamkeitsgewichte.
  • Batchnormalisierung: Die Batchnormalisierung standardisiert die Eingaben jeder Schicht, um das Training zu stabilisieren. Sie fügt durch Batch-Statistiken nur geringfügiges Rauschen hinzu und entfernt keine Einheiten.
  • Labelglättung: Labelglättung regularisiert die Trainingsziele, indem sie One-Hot-Labels abschwächt. Dabei bleiben alle Aktivierungen erhalten.
  • Pruning: Beim Pruning werden unwichtige Gewichte dauerhaft entfernt, um ein Modell zu verkleinern. Bei Dropout dauert das Setzen auf null dagegen nur einen Trainingsschritt, und die Anzahl der Parameter bleibt gleich.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens