Glossar

Convolution

Erfahre, wie die Faltung die KI in der Computer Vision antreibt und Aufgaben wie Objekterkennung, Bilderkennung und medizinische Bildgebung mit Präzision ermöglicht.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Die Faltung ist eine grundlegende mathematische Operation, die in der künstlichen Intelligenz weit verbreitet ist, insbesondere im Bereich des Computer Vision (CV). Sie ist ein wichtiger Baustein für Convolutional Neural Networks (CNNs) und ermöglicht es diesen Netzwerken, automatisch komplexe, hierarchische Muster direkt aus gitterartigen Daten wie Bildern oder Videos zu lernen. Bei diesem Prozess wird ein kleiner Filter, der sogenannte Kernel, auf ein Eingangssignal oder ein Bild angewendet. Dieser Vorgang erzeugt eine Ausgabe, die sogenannte Feature Map, die bestimmte Muster (wie Kanten, Texturen oder Formen) hervorhebt, die der Kernel erkennen soll.

Wie die Faltung funktioniert

Stell dir den Faltungsprozess so vor, als würdest du ein kleines Vergrößerungsglas (den Kern oder Filter) über ein größeres Bild (die Eingangsdaten) schieben. An jeder Position konzentriert sich der Kernel auf einen kleinen Bereich der Eingangsdaten. Der Faltungsvorgang berechnet dann eine gewichtete Summe der Pixelwerte innerhalb dieses Bereichs, wobei die im Kernel definierten Gewichte verwendet werden. Dieser berechnete Wert wird zu einem einzelnen Pixel in der resultierenden Ausgangskarte. Der Kernel bewegt sich systematisch Schritt für Schritt über das gesamte Eingangsbild, wobei die Schrittgröße durch einen Parameter namens"stride" bestimmt wird. Manchmal wird das Eingabebild mit zusätzlichen Randpixelnaufgefüllt, um die Größe der Ausgabe zu kontrollieren. Durch die Anwendung mehrerer Kernel innerhalb einer einzigen Faltungsschicht kann ein CNN gleichzeitig eine Vielzahl von Merkmalen aus der Eingabe extrahieren. Visuelle Erklärungen, wie sie in den Stanford CS231n-Kursunterlagen zu finden sind, können weitere Anhaltspunkte liefern.

Die wichtigsten Komponenten der Faltung

Mehrere Parameter definieren eine Faltungsoperation:

  • Kernel/Filter: Eine kleine Matrix mit Gewichten(Filtergewichten), die bestimmte Merkmale erkennen. Die Größe des Kernels bestimmt den lokalen Bereich, der bei jedem Schritt verarbeitet wird.
  • Schrittweite: Die Anzahl der Pixel, die der Kernel bei jedem Schritt über das Eingangsbild verschiebt. Ein größerer Stride führt zu einer kleineren Ausgabe-Merkmalskarte.
  • Auffüllen: Das Hinzufügen von Pixeln (in der Regel mit dem Wert Null) am Rand des Eingangsbildes. Dies hilft dabei, die räumlichen Dimensionen der Ausgabe zu kontrollieren und ermöglicht es den Kernels, Randpixel effektiver zu verarbeiten.
  • Aktivierungsfunktion: Normalerweise wird das Ergebnis der Faltungsoperation durch eine nichtlineare Aktivierungsfunktion wie ReLU (Rectified Linear Unit) geleitet, um Nichtlinearität in das Modell einzubringen, damit es komplexere Muster lernen kann.

Faltung im Vergleich zu verwandten Operationen

Die Faltung wird oft zusammen mit anderen Operationen in CNNs verwendet, erfüllt aber einen anderen Zweck:

  • Pooling: Operationen wie Max-Pooling oder Average-Pooling werden verwendet, um die räumlichen Dimensionen (Breite und Höhe) der Merkmalskarten zu reduzieren, wodurch das Modell rechnerisch effizienter und robuster gegenüber Schwankungen in der Merkmalslage wird. Im Gegensatz zur Faltung, bei der Merkmale extrahiert werden, werden beim Pooling die Merkmale innerhalb einer Region zusammengefasst. Eine Übersicht über die Pooling-Methoden enthält weitere Details.
  • Vollständig verknüpfte Schichten: Während Faltungsschichten lokale Regionen mit geteilten Gewichten(Parameter-Sharing) auf der Grundlage des rezeptiven Feldes verarbeiten, verbindet eine voll verbundene Schicht jedes Neuron in ihrer Eingabe mit jedem Neuron in ihrer Ausgabe. Sie werden in der Regel am Ende eines CNN in einer Standardstruktur eines Neuronalen Netzes (NN) für endgültige Klassifizierungs- oder Regressionsaufgaben verwendet.

Anwendungen von Convolution

Faltungsschichten sind in zahlreichen modernen KI-Anwendungen unverzichtbar:

1. Objekt-Erkennung

Bei der Objekterkennung verwenden CNNs Faltungsschichten, um Merkmale aus Bildern zu extrahieren, die es ihnen ermöglichen, Objekte zu identifizieren und ihre Position mithilfe von Begrenzungsrahmen zu bestimmen. Moderne Modelle wie Ultralytics YOLO, einschließlich Versionen wie YOLO11hängen stark von Faltungen ab, um Merkmale auf verschiedenen Skalen für eine effiziente und genaue Erkennung zu analysieren. Dies ist für KI in der Automobilindustrie von entscheidender Bedeutung, z. B. damit selbstfahrende Autos(siehe die Technologie von Waymo) Fußgänger, Fahrzeuge und Verkehrsschilder für eine sichere Navigation wahrnehmen können, was oft Echtzeit-Inferenzen erfordert.

2. Medizinische Bildanalyse

Die Faltung spielt eine wichtige Rolle in der medizinischen Bildanalyse und unterstützt medizinisches Fachpersonal bei der Interpretation von Röntgen-, CT- und MRT-Aufnahmen. KI-Modelle, die mit CNNs erstellt wurden, können subtile Muster erkennen, die auf Krankheiten wie Tumore oder Frakturen hinweisen, und übertreffen dabei manchmal die Geschwindigkeit und Genauigkeit von Menschen(Radiologie: Künstliche Intelligenz). Modelle können für bestimmte Aufgaben trainiert werden, wie z. B. YOLO11 für die Tumorerkennung. Erfahre mehr über KI-Lösungen im Gesundheitswesen.

Darüber hinaus ist die Faltung von grundlegender Bedeutung für andere Sehaufgaben wie Bilderkennung und Bildsegmentierung.

Bedeutung für Deep Learning

Die Faltung ist ein Eckpfeiler des modernen Deep Learning (DL), insbesondere bei Aufgaben mit gitterartigen Daten. Ihre Fähigkeit, die räumliche Lokalität auszunutzen (unter der Annahme, dass nahe gelegene Pixel miteinander verwandt sind) und Parameter über verschiedene Orte hinweg zu teilen, macht CNNs im Vergleich zu traditionellen, vollständig verbundenen Netzwerken äußerst effizient und effektiv beim Lernen visueller Hierarchien.

Tools und Schulungen

Das Implementieren und Trainieren von Modellen, die Faltung verwenden, wird durch verschiedene Deep-Learning-Frameworks erleichtert. Bibliotheken wie PyTorchPyTorch offizielle Seite) und TensorFlowTensorFlow official site) bieten robuste Werkzeuge für die Erstellung von CNNs. Plattformen wie Ultralytics HUB rationalisieren den Trainingsprozess für Modelle, indem sie vorgefertigte Architekturen mit Faltungen nutzen oder benutzerdefinierte Modelle für bestimmte Anwendungen trainieren. High-Level-APIs wie Keras vereinfachen die Entwicklung weiter.

Alles lesen