Faltungsneuronales Netz (CNN)
Entdecken Sie, wie Convolutional Neural Networks (CNNs) die Computer-Vision revolutionieren und die KI im Gesundheitswesen, bei selbstfahrenden Autos und vielem mehr unterstützen.
Ein neuronales Faltungsnetzwerk (Convolutional Neural Network, CNN) ist ein spezieller Typ eines neuronalen Netzwerks (NN), das sich besonders gut für die Verarbeitung gitterartiger Daten, wie Bilder und Videos, eignet. Im Gegensatz zu herkömmlichen neuronalen Netzen, die Eingaben als flache Vektoren behandeln, sind CNNs darauf ausgelegt, räumliche Hierarchien von Merkmalen automatisch und adaptiv direkt aus den Eingabedaten zu lernen. Dies wird in erster Linie durch die Anwendung der Faltungsoperation erreicht, was sie zu einem Eckpfeiler der modernen Computer Vision (CV) macht und zu bedeutenden Fortschritten in der Künstlichen Intelligenz (KI) führt. Durch ihre Fähigkeit, lokale Abhängigkeiten und räumliche Beziehungen zu erfassen, eignen sie sich hervorragend für Aufgaben, bei denen es auf die Anordnung der Pixel ankommt.
Kernkomponenten und Funktionalität
CNNs sind in der Regel aus mehreren Schlüsselebenen aufgebaut, die visuelle Informationen verarbeiten und umwandeln:
- Faltungsschichten: Dies sind die grundlegenden Schichten eines CNN. Sie wenden eine Reihe von lernfähigen Filtern (Kernels) auf das Eingangsbild an. Jeder Filter erkennt bestimmte Merkmale wie Kanten, Ecken oder Texturen. Während der Filter über die Eingabe gleitet (konvolviert), erzeugt er Merkmalskarten, die die Positionen und die Stärke der erkannten Merkmale hervorheben. Das Netzwerk erlernt diese Filter automatisch während des Modelltrainings.
- Aktivierungsschichten: Nach den Faltungsschichten führen Aktivierungsfunktionen wie ReLU (Rectified Linear Unit) oder Leaky ReLU Nichtlinearität ein. Dadurch kann das Netz komplexere Muster lernen, die über einfache lineare Kombinationen hinausgehen.
- Pooling-Ebenen: Diese Schichten reduzieren die räumlichen Dimensionen (Breite und Höhe) der Merkmalskarten, verringern die Rechenlast und kontrollieren die Überanpassung. Zu den gebräuchlichen Methoden gehört das Max-Pooling, bei dem der Maximalwert in einer lokalen Region genommen wird, wodurch das Netz robuster gegenüber Schwankungen in der Position der Merkmale wird. Ein Überblick über die Pooling-Methoden liefert weitere Einzelheiten.
- Vollständig verknüpfte Schichten: Diese Schichten befinden sich in der Regel am Ende des Netzes und verbinden jedes Neuron der vorherigen Schicht mit jedem Neuron der aktuellen Schicht, ähnlich wie bei einem herkömmlichen neuronalen Feedforward-Netz. Sie verwenden die von Faltungsschichten und Pooling-Schichten extrahierten High-Level-Merkmale, um Klassifizierungs- oder Regressionsaufgaben durchzuführen, wie z. B. die Zuweisung einer endgültigen Bezeichnung für das Bild.
Hauptunterschiede zu anderen neuronalen Netzen
CNNs besitzen einzigartige Eigenschaften, die sie von anderen Netzwerktypen unterscheiden:
- Räumliche Hierarchie: Im Gegensatz zu einfachen NNs modellieren CNNs ausdrücklich räumliche Beziehungen. Frühe Schichten erkennen einfache Merkmale (Kanten), während tiefere Schichten diese kombinieren, um komplexere Muster (Formen, Objekte) zu erkennen. Diese hierarchische Struktur ahmt Aspekte der menschlichen visuellen Verarbeitung nach.
- Gemeinsame Nutzung von Parametern: Ein einziger Filter wird auf verschiedene Teile des Eingangsbildes angewandt, wodurch sich die Gesamtzahl der Parameter im Vergleich zu einem vollständig verknüpften Netz, das dasselbe Bild verarbeitet, erheblich verringert. Dies macht CNNs effizienter und weniger anfällig für Überanpassung, insbesondere bei großen Bildern. Der Bereich, den ein Filter an einem beliebigen Punkt abdeckt, wird als sein rezeptives Feld bezeichnet.
- Translationsinvarianz: Aufgrund von Pooling und Parameter-Sharing können CNNs ein Objekt auch dann erkennen, wenn sich seine Position im Bild leicht verschiebt.
- vs. Rekurrente Neuronale Netze (RNNs): Während sich CNNs bei der Verarbeitung von räumlichen Daten wie Bildern auszeichnen, sind rekurrente neuronale Netze (RNNs ) für sequentielle Daten konzipiert und eignen sich daher für Aufgaben wie die Verarbeitung natürlicher Sprache (NLP) und Zeitreihenanalysen.
Anwendungen in der realen Welt
CNNs sind die treibende Kraft hinter zahlreichen bahnbrechenden Entwicklungen in verschiedenen Bereichen:
- Medizinische Bildanalyse: In der KI im Gesundheitswesen analysieren CNNs medizinische Scans wie Röntgenaufnahmen, CTs und MRTs. Sie unterstützen Radiologen bei der Erkennung subtiler Anomalien wie Tumoren, Frakturen oder diabetischer Retinopathie. In Fachzeitschriften wie Radiology veröffentlichte Forschungsergebnisse : Artificial Intelligence zeigt, dass CNNs Muster erkennen, die auf Krankheiten hinweisen, und dabei oft eine hohe Genauigkeit erreichen. So können Modelle wie Ultralytics YOLO für Aufgaben wie die Tumorerkennung in der medizinischen Bildgebung angepasst werden, was die praktische Anwendung von CNN-basierten Architekturen in der medizinischen Bildanalyse zeigt.
- Autonome Fahrzeuge: CNNs sind entscheidend für die KI in selbstfahrenden Autos. Sie versorgen Wahrnehmungssysteme, die in Echtzeit Objekte erkennen, um Fußgänger, Fahrzeuge, Verkehrsschilder und Fahrbahnmarkierungen anhand von Daten aus Kameras und LiDAR zu identifizieren. Dies ermöglicht dem Fahrzeug, seine Umgebung zu verstehen und sichere Fahrentscheidungen zu treffen. Unternehmen wie Waymo verlassen sich bei ihren autonomen Systemen stark auf CNNs. CNNs tragen auch zur Bildsegmentierung bei und ermöglichen es Fahrzeugen, befahrbare Bereiche von Hindernissen zu unterscheiden.