Faltungsschichten
Swipe um das Menü anzuzeigen
Faltungsschichten bilden den Kern von Convolutional Neural Networks (CNNs). Sie führen eine Faltung durch, bei der eine kleine Matrix, genannt Filter (oder Kernel), über ein Bild gleitet, um Kanten, Texturen und Formen zu erkennen. Dadurch können CNNs Bilder effizienter verarbeiten als herkömmliche Netzwerke.
Anstatt ein gesamtes Bild auf einmal zu analysieren, teilen CNNs es in kleinere Abschnitte auf und erkennen Merkmale auf verschiedenen Ebenen. Frühe Schichten erkennen einfache Muster wie Kanten, während tiefere Schichten komplexe Strukturen erfassen.
Funktionsweise der Faltung
Die Faltung beinhaltet das Verschieben eines Filters (Kernels) über ein Bild und folgt dabei diesen Schritten:
- Anwendung des Kernels in der linken oberen Ecke des Bildes;
- Elementweise Multiplikation zwischen Kernel und Pixelwerten;
- Summierung der Produkte zur Erzeugung eines Ausgabepixels;
- Verschiebung des Kernels entsprechend dem Stride und Wiederholung;
- Erzeugung einer Merkmalskarte, die erkannte Muster hervorhebt.
Mehrere Filter ermöglichen es CNNs, verschiedene Merkmale wie vertikale Kanten, Kurven und Texturen zu erfassen.
Filter (Kerne):
Filter spielen eine entscheidende Rolle bei der Extraktion bedeutungsvoller Muster aus Bildern. Verschiedene Filtertypen sind auf die Erkennung unterschiedlicher Merkmale spezialisiert:
- Kantenerkennungsfilter: Identifikation von Objektgrenzen durch Erkennung abrupter Intensitätsänderungen (z. B. Sobel-, Prewitt- und Laplace-Filter);
- Texturfilter: Erfassung sich wiederholender Muster wie Wellen oder Gitter (z. B. Gabor-Filter);
- Schärfungsfilter: Verbesserung von Bilddetails durch Verstärkung hochfrequenter Komponenten;
- Weichzeichnungsfilter: Reduzierung von Rauschen und Glättung von Bildern (z. B. Gaußscher Weichzeichner);
- Prägefilter: Hervorhebung von Kanten und Hinzufügen eines 3D-Effekts durch Betonung der Tiefe.
Jeder Filter wird darauf trainiert, spezifische Muster zu erkennen, und trägt zum Aufbau hierarchischer Merkmalsrepräsentationen in tiefen CNNs bei.
Faltungsschichten verwenden denselben Filter für das gesamte Bild, was die Anzahl der Parameter reduziert und CNNs effizient macht. Spezialisierte lokal verbundene Schichten hingegen nutzen verschiedene Filter für unterschiedliche Bildbereiche, wenn dies erforderlich ist.
Durch das Stapeln von Faltungsschichten extrahieren CNNs detaillierte Muster und sind dadurch leistungsfähig für Bildklassifikation, Objekterkennung und Aufgaben der Computer Vision.
Hyperparameter:
- Stride: bestimmt, wie weit der Filter pro Schritt verschoben wird;
- Padding: fügt Pixel hinzu, um die Ausgabengröße zu steuern ("same padding" erhält die Größe, "valid padding" reduziert sie);
- Anzahl der Filter (Tiefe): mehr Filter verbessern die Merkmalsextraktion, erhöhen jedoch den Rechenaufwand.
Beispiel: Für ein 24×24 Graustufenbild mit einem 3×3-Kernel und 64 filters ergibt sich eine Ausgabengröße von 22×22×64, berechnet als:
Dabei gilt:
- W: Breite des Eingabebildes = 24;
- H: Höhe des Eingabebildes = 24;
- F: Größe des Filters (Kernel) = 3 (angenommen ein quadratischer 3×3-Kernel);
- D: Anzahl der Filter (Tiefe der Ausgabe) = 64.
Vor dem nächsten Kapitel
Obwohl Faltungsschichten die Ausgabegröße verringern können, besteht ihr Hauptzweck in der Merkmalextraktion und nicht in der Dimensionsreduktion. Pooling-Schichten hingegen reduzieren explizit die Dimensionalität, während wichtige Informationen erhalten bleiben, und sorgen so für Effizienz in tieferen Schichten.
1. Was ist die Hauptaufgabe einer Faltungsschicht in einem CNN?
2. Welcher Hyperparameter bestimmt, wie weit sich ein Filter während der Faltung bewegt?
3. Was ist der Zweck der Anwendung mehrerer Filter in einer Convolution-Schicht?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen