Dropout und Padding, um die Leistung und Effizienz des Modells zu verbessern.
Dropout
- reduziert die Overfitting, indem es bei jedem Trainingsschritt zufällig ausgewählte
Verbindung zwischen Neuronen temporär kappt
. - so verlassen sich neuronale Netze nicht mehr auf bestimmte Pfade
- das führt zur besseren Vorhrteilung der Vorhersagen und robusteren Ergebnissen
- Selbst festlegen, wie viele Verbindungen jeweisl verwolfen - Tpisch sind ca. 30%
...
model.add(Droput(0.25))
...
# Man kann mehrere Dropout-Layer haben
model.add(Droput(0.25))
...
Durch Dropout kann man das Ergebnis leicht verbessern
Infos über Netze abfragen
- Visualisierung der Layer
import visualkeras
visualkeras.layerd_view(model)
- Infos über den Ablauf
from tensorflow.keras.utils import plot_model
plot_model(model, to_file='model_plot.png', show_shapes=True, show_layer_names=True)
Ausgabe: 1. Conv2d 2. Max Ppoling 3. Droput 4. Flatten 5. Dense 6. Droput 7. Dense
Padding
- Informationsverlust an den Rändern des Bilders bei der Faltung verhindern
Funktionsweise:
- Hinzufügen von Pixeln (typisch mit Wert 0) an den Bildrändern vor der Faltung.
- Verhindert, dass Filter an den Rändern unvollständig angewendet werden.

Vorteil:
- Die räumliche Dimension des Bildes bleibt erhalten.
- Alle Pixel werden gleichmäßig verarbeitet, ohne Informationsverlust an den Rändern.
Bedeutung:
- Besonders wichtig bei großen Filtern oder mehreren Faltungsschichten, um Informationsverlust an den Rändern zu vermeiden.
Zusammenfassend lässt sich sagen:**
- Dropout verbessert die Generalisierungsfähigkeit von CNNs, indem es Overfitting reduziert.
- Padding verhindert Informationsverlust an den Rändern des Bildes bei der Faltung und ermöglicht eine gleichmäßigere Verarbeitung aller Pixel.
Quizfragen zu Dropout und Padding
Frage 1: Welche der folgenden Aussagen beschreibt die Funktionsweise von Dropout korrekt?
a) Dropout entfernt zufällig ausgewählte Pixel aus dem Eingabebild.
b) Dropout deaktiviert zufällig ausgewählte Neuronen während des Trainings.
c) Dropout reduziert die Größe der Filter im Convolutional Layer.
d) Dropout erhöht die Lernrate des Optimierers.Lösung
b) Dropout deaktiviert zufällig ausgewählte Neuronen während des Trainings.
Erläuterung: Dropout ist eine Regularisierungstechnik, die Overfitting reduziert, indem sie zufällig ausgewählte Neuronen während des Trainings deaktiviert. Dies zwingt das Netzwerk, verteilte Repräsentationen der Daten zu lernen und verbessert die Generalisierungsfähigkeit des Modells.
Frage 2: Was ist der Hauptzweck von Padding in Convolutional Neural Networks?
a) Verhindern von Informationsverlust an den Rändern des Bildes.
b) Reduzieren der Anzahl der Parameter im Modell.
c) Beschleunigen des Trainingsprozesses.
d) Erhöhen der Genauigkeit des Modells.Lösung
a) Verhindern von Informationsverlust an den Rändern des Bildes.
Erläuterung: Padding fügt den Eingabebildern vor der Faltung Nullen hinzu. Dadurch bleibt die räumliche Dimension des Bildes erhalten und es kommt zu keinem Informationsverlust an den Rändern.
Frage 3: Welche der folgenden Aussagen zu Dropout ist FALSCH?
a) Dropout kann die Generalisierungsfähigkeit des Modells verbessern.
b) Dropout reduziert die Abhängigkeit des Netzwerks von einzelnen Neuronen.
c) Dropout erhöht die Anzahl der trainierbaren Parameter im Modell.
d) Dropout kann als eine Form der Regularisierung betrachtet werden.Lösung
c) Dropout erhöht die Anzahl der trainierbaren Parameter im Modell.
Erläuterung: Dropout deaktiviert Neuronen und reduziert somit effektiv die Anzahl der trainierbaren Parameter im Modell während des Trainings.
Frage 4: Welcher der folgenden Fälle ist ein gutes Beispiel für die Anwendung von Padding?
a) Wenn ein kleines Bild mit einem kleinen Filter gefaltet wird.
b) Wenn ein großes Bild mit einem großen Filter gefaltet wird.
c) Wenn die Anzahl der Trainingsdaten sehr groß ist.
d) Wenn die gewünschte Ausgabe des Modells ein Vektor ist.Lösung
b) Wenn ein großes Bild mit einem großen Filter gefaltet wird.
Erläuterung: Bei großen Filtern oder mehreren Faltungsschichten ist der Informationsverlust an den Rändern des Bildes besonders groß. Padding hilft, diesen Verlust zu minimieren.
Frage 5: Wie beeinflusst Dropout die Leistung eines CNN während des Trainings und der Vorhersage?
a) Dropout beschleunigt sowohl das Training als auch die Vorhersage.
b) Dropout verlangsamt das Training, beschleunigt aber die Vorhersage.
c) Dropout verlangsamt das Training, hat aber keinen Einfluss auf die Geschwindigkeit der Vorhersage.
d) Dropout beschleunigt das Training, verlangsamt aber die Vorhersage.Lösung
c) Dropout verlangsamt das Training, hat aber keinen Einfluss auf die Geschwindigkeit der Vorhersage.
Erläuterung: Durch das Deaktivieren von Neuronen erhöht sich der Rechenaufwand während des Trainings. In der Vorhersagephase sind alle Neuronen wieder aktiv, daher hat Dropout keinen Einfluss auf die Geschwindigkeit der Vorhersage.