Faltungsschichten
Swipe um das Menü anzuzeigen
Verständnis von Convolution-Schichten
Convolution-Schichten bilden das Kernstück 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, dass ein Filter (Kernel) über ein Bild bewegt wird und dabei folgende Schritte durchläuft:
- Anwendung des Kernels in der oberen linken Ecke des Bildes.
- Elementweise Multiplikation zwischen Kernel und Pixelwerten.
- Summieren der Produkte zur Erzeugung eines Ausgabepixels.
- Verschieben des Kernels entsprechend dem Stride und Wiederholung des Vorgangs.
- Erzeugung einer Feature-Map, 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: Erkennung von Objektgrenzen durch das Aufspüren abrupter Intensitätsänderungen (z. B. Sobel-, Prewitt- und Laplace-Filter);
-
Texturfilter: Erfassen von sich wiederholenden Mustern wie Wellen oder Gittern (z. B. Gabor-Filter);
-
Schärfungsfilter: Verstärkung von Bilddetails durch Hervorhebung hochfrequenter Komponenten;
-
Weichzeichnungsfilter: Reduzierung von Rauschen und Glättung von Bildern (z. B. Gaußscher Weichzeichner);
-
Relief-Filter: Hervorhebung von Kanten und Erzeugung 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 über das gesamte Bild, wodurch die Anzahl der Parameter reduziert und CNNs effizient werden. Spezialisierte lokal verbundene Schichten hingegen nutzen verschiedene Filter für unterschiedliche Regionen, wenn erforderlich.
Durch das Stapeln von Faltungsschichten extrahieren CNNs detaillierte Muster und sind dadurch leistungsstark 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 (bei einem quadratischen 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, was die Effizienz in tieferen Schichten sicherstellt.
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