Mein IBM Anmelden Abonnieren

Was sind neuronale Faltungsnetze?

Was sind neuronale Faltungsnetze?

Neuronale Faltungsnetze klassifizieren Bilder und erkennen Objekte mithilfe dreidimensionaler Bilder.

Neuronale Netze sind eine Untermenge des maschinellen Lernens und bilden das Herzstück von Deep-Learning-Algorithmen. Sie bestehen aus Schichten von Knoten mit einer Eingabeschicht, einer oder mehreren verborgenen Schichten und einer Ausgabeschicht. Jeder Knoten ist mit einem anderen Knoten verbunden und verfügt über eine bestimmte Gewichtung und einen Schwellenwert. Liegt die Ausgabe eines Knotens über dem angegebenen Schwellenwert, wird dieser Knoten aktiviert und sendet Daten an die nächste Schicht des Netzes. Liegt die Ausgabe unter dem Schwellenwert, werden keine Daten weitergegeben.

Dieser Artikel befasst sich hauptsächlich mit Feedforward-Netzen. Es gibt jedoch verschiedene Arten von neuronalen Netzen für unterschiedliche Anwendungsfälle und Datentypen. Zum Beispiel werden rekurrente neuronale Netze häufig zur Verarbeitung natürlicher Sprache und zur Stimmerkennung verwendet, während neuronale Faltungsnetze (Convolutional Neural Networks oder ConvNets bzw. CNNs) häufiger bei der Klassifizierung und Computer Vision eingesetzt werden. Vor der Verfügbarkeit von CNNs wurden Objekte in Bildern zeitaufwändig mithilfe manueller Merkmalsextraktion identifiziert. Neuronale Faltungsnetze sind bei Bildklassifizierung und Objekterkennung jedoch deutlich skalierbarer, da sie Muster in einem Bild mithilfe der Prinzipien der linearen Algebra erkennen, insbesondere der Matrixmultiplikation. Allerdings kann diese Art neuronales Netz rechenintensiv sein, da Grafikprozessoren (GPUs) zum Trainieren der Modelle benötigt werden.

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

Wie funktionieren neuronale Faltungsnetze?

Neuronale Faltungsnetze unterscheiden sich von anderen neuronalen Netzen durch ihre überlegene Leistung bei Bild-, Sprach- oder Audiosignaleingaben. Sie verfügen im Wesentlichen über folgende drei Arten von Schichten:

  • Faltungsschicht
  • Pooling-Schicht
  • Fully-Connected Layer (FC-Schicht)

Die konvolutionale Schicht ist die erste Schicht eines konvolutionalen Netzes. Auf konvolutionale Schichten können weitere konvolutionale Schichten oder Pooling-Schichten folgen; die vollständig verbundene Schicht ist die letzte Schicht. Mit jeder Schicht nimmt die Komplexität des CNN zu, sodass immer größere Teile des Bildes identifiziert werden. Frühere Schichten konzentrieren sich auf einfache Merkmale wie Farben und Kanten. Wenn die Bilddaten die Schichten des CNN durchlaufen, beginnt das konvolutionale Netz, größere Elemente oder Formen des Objekts zu erkennen, bis schließlich das beabsichtigte Objekt identifiziert wird.

Faltungsschicht

Die Faltungsschicht ist das Kernelement eines CNN, wo der Großteil der Berechnungen erfolgt. Sie benötigt einige Komponenten: Eingabedaten, einen Filter und eine Merkmalskarte. Nehmen wir an, dass es sich bei der Eingabe um ein Farbbild in Form einer 3D-Pixelmatrix handelt, es also drei Dimensionen (Höhe, Breite und Tiefe) aufweist. Jede Dimension entspricht einem RGB-Farbraum. Außerdem gibt es einen Merkmalsdetektor, der auch als Kernel oder Filter bezeichnet wird. Er bewegt sich über die rezeptiven Felder des Bildes und prüft, ob das jeweilige Merkmal vorhanden ist. Dieser Prozess wird mathematisch als Faltung bezeichnet.

Der Merkmalsdetektor ist ein 2D-Array von Gewichtungen, das einen Teil des Bildes darstellt. Die Größe eines Merkmalsdetektors kann zwar variieren, doch in der Regel ist die Filtergröße eine 3x3-Matrix, die dann auch die Größe des rezeptiven Feldes bestimmt. Der Filter wird auf einen Bildbereich angewendet und aus den Eingabepixeln und dem Filter wird dann ein Skalarprodukt berechnet. Dieses Skalarprodukt wird in ein Ausgabearray eingespeist. Danach wird der Filter gemäß der Schrittweite weitergeschoben und der Vorgang wiederholt, bis der Kernel das gesamte Bild erfasst hat. Die endgültige Ausgabe aus den mit Eingabe und Filter berechneten Skalarprodukten wird als Feature-Map (Merkmalskarte), Aktivierungskarte oder Faltungsmerkmal bezeichnet.

Beachten Sie, dass die Gewichtungen im Merkmalsdetektor unveränderlich sind, während er sich über das Bild bewegt. Dies wird auch als Parameter-Sharing bezeichnet. Einige Parameter, wie die Gewichtungswerte, werden während des Trainings durch Backpropagation („Fehlerrückführung“) und Gradientenverfahren zur Optimierung angepasst. Es gibt jedoch drei Hyperparameter, die die Volumengröße der Ausgabe beeinflussen und die eingestellt sein müssen, bevor das Training des neuronalen Netzes beginnt. Diese Hyperparametrer sind folgende:

1. Die Anzahl der Filter beeinflusst die Tiefe der Ausgabe. Beispielsweise ergeben drei verschiedene Filter drei unterschiedliche Merkmalskarten, was einer Tiefe von drei entspricht.

2. Schrittweite (Stride) ist die Entfernung oder Anzahl der Pixel, die der Kernel über der Eingabematrix zurücklegt. Ein Schrittweite von zwei oder mehr ist zwar selten, führt aber zu einer kleineren Ausgabe.

3. Zero-Padding oder Auffüllen mit Nullen wird dann angewendet, wenn Filter und Eingabebild nicht zusammenpassen. Dadurch werden alle Elemente, die außerhalb der Eingabematrix liegen, auf Null gesetzt, wodurch eine größere oder gleich große Ausgabe erzeugt wird. Es gibt drei Arten des Padding:

  • Valid: Dies wird auch als „no padding“ bezeichnet. In diesem Fall wird die letzte Faltung gelöscht, wenn die Dimensionen nicht übereinstimmen.
  • Same: Dieses Padding stellt sicher, dass die Ausgabe- und Eingabeschicht gleich groß sind.
  • Full: Diese Art des Padding vergrößert die Ausgabe, da die Ränder der Eingabe um Nullen erweitert werden.

Nach jeder Faltung wird eine ReLU-Transformation (Rectified Linear Unit) an der Merkmalskarte ausgeführt, um Nichtlinearität in das Modell einzuführen.

Zusätzliche Faltungsschicht

Auf die erste Faltungsschicht kann eine weitere folgen. Dadurch erhält das CNN eine hierarchische Struktur, da die späteren Schichten die Pixel innerhalb der rezeptiven Felder der vorherigen Schichten sehen können.Nehmen wir beispielsweise an, dass wir ermitteln möchten, ob ein Bild ein Fahrrad enthält. Man kann sich das Fahrrad als eine Summe von Teilen vorstellen. Es besteht aus einem Rahmen, einem Lenker, Rädern, Pedalen und so weiter. Jedes einzelne Teil des Fahrrads bildet im neuronalen Netz ein untergeordnetes Muster. Die Kombination aller Teile stellt ein übergeordnetes Muster dar, durch das sich eine Merkmalshierarchie innerhalb des CNN ergibt. Letztendlich wandelt die Faltungsschicht das Bild in numerische Werte um, sodass das neuronale Netz relevante Muster interpretieren und extrahieren kann.

Pooling-Schicht

Durch das Pooling von Schichten, auch „Downsampling“ genannt, wird eine Dimensionsreduktion erzielt, d. h. es wird die Anzahl der Parameter in der Eingabe reduziert. Ähnlich wie bei der konvolutionalen Schicht wird beim Pooling ein Filter über die gesamte Eingabe gezogen. Der Unterschied besteht jedoch darin, dass dieser Filter keine Gewichtungen hat. Stattdessen wendet der Kernel eine Aggregationsfunktion auf die Werte innerhalb des rezeptiven Feldes an und füllt so das Ausgabearray. Es gibt im Wesentlichen zwei Arten von Pooling:

  • Max Pooling: Beim Führen des Filters über die Eingabe wird das Pixel mit dem höchsten Wert ausgewählt und an das Ausgabearray gesendet. Diese Methode wird häufiger als das Average Pooling verwendet.
  • Average Pooling: Wenn der Filter über die Eingabe geführt wird, wird der Durchschnittswert innerhalb des rezeptiven Felds berechnet und an das Ausgabearray gesendet.

In der Pooling-Schicht gehen zwar viele Informationen verloren, doch das Pooling bietet auch einige Vorteile für das CNN. Die Komplexität wird reduziert, die Effizienz wird verbessert und das Risiko einer Überanpassung (Overfitting) wird verringert. 

Fully-Connected Layer

Der Name der vollständig verbundenen Schicht lässt bereits darauf schließen, was sie auszeichnet. Wie bereits erwähnt, sind die Pixelwerte des Eingabebildes in teilweise verbundenen Schichten nicht direkt mit der Ausgabeschicht verbunden. In der vollständig verbundenen Schicht ist jedoch jeder Knoten in der Ausgabeschicht direkt mit einem Knoten in der vorherigen Schicht verbunden.

Diese Schicht führt die Klassifizierungsaufgabe basierend auf den Merkmalen, die durch die vorherigen Schichten und ihre verschiedenen Filter extrahiert wurden, aus. Während konvolutionale und Pooling-Schichten in der Regel ReLu-Funktionen verwenden, nutzen FC-Schichten für gewöhnlich eine Softmax-Aktivierungsfunktion, um Eingaben angemessen zu klassifizieren und eine Wahrscheinlichkeit zwischen 0 und 1 zu erzeugen.

Arten von neuronalen Faltungsnetzen

Kunihiko Fukushima und Yann LeCun legten mit ihren Arbeiten aus dem Jahr 1980 (Link befindet sich außerhalb von IBM) und „Backpropagation Applied to Handwritten Zip Code Recognition“ im Jahr 1989 den Grundstein für die Forschung im Bereich der konvolutionalen neuronalen Netze. Bekannter ist, dass Yann LeCun erfolgreich Rückwärtspropagierung (Backpropagation) anwendete, um neuronale Netze zu trainieren, die Muster in einer Reihe von handgeschriebenen Postleitzahlen identifizieren und erkennen können. Er setzte seine Forschungsarbeiten mit seinem Team im Laufe der 1990er Jahren fort. Diese gipfelten in „LeNet-5“, das die gleichen Prinzipien früherer Forschung auf die Dokumentenerkennung anwendete. Seitdem sind im Zuge der Einführung neuer Datensätze wie MNIST und CIFAR-10 sowie Wettbewerben wie ImageNet Large Scale Visual Recognition Challenge (ILSVRC) verschiedene Varianten von CNN-Architekturen entstanden. Zu diesen anderen Architekturen gehören:

  • AlexNet (Link außerhalb von ibm.com)
  • VGGNet (Link außerhalb von ibm.com)
  • GoogLeNet (Link außerhalb von ibm.com)
  • ResNet (Link außerhalb von ibm.com)
  • ZFNet

LeNet-5 ist jedoch als die klassische CNN-Architektur bekannt.

Mixture of Experts | Podcast

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Neuronale Faltungsnetze und Computer Vision

Konvolutionale neuronale Netze unterstützen Bilderkennungs- und Computer Vision-Aufgaben. Computer Vision ist ein Bereich der künstlichen Intelligenz (KI), der es Computern und Systemen ermöglicht, aus digitalen Bildern, Videos und anderen visuellen Eingaben aussagekräftige Informationen abzuleiten und auf der Grundlage dieser Eingaben Maßnahmen zu ergreifen. Durch diese Fähigkeit, Empfehlungen zu geben, unterscheidet sie sich von Bilderkennungsaufgaben. Gängige Computer-Vision-Anwendungen sind aktuell in diesen Bereichen anzutreffen:

  • Marketing: Social-Media-Plattformen machen Vorschläge dazu, wer auf einem Foto, das auf einem Profil gepostet wurde, zu sehen sein könnte, und erleichtern so das Taggen von Freunden in Fotoalben. 
  • Gesundheitswesen: Computer Vision wurde in Radiologietechnologie integriert und ermöglicht es Ärzten, Krebstumoren in gesunder Anatomie besser zu identifizieren.
  • Einzelhandel: Visuelle Suche wurde in einige E-Commerce-Plattformen integriert und ermöglicht es Marken, Artikel zu empfehlen, die gut zu einer bestehende Garderobe passen würden.
  • Automobilbranche: Das Zeitalter der fahrerlosen Autos ist zwar noch nicht ganz angebrochen, aber die zugrundeliegende Technologie hat bereits ihren Weg in die Automobilbranche gefunden und erhöht die Sicherheit von Fahrern und Passagieren durch Funktionen wie die Fahrspurerkennung.
Weiterführende Lösungen

Weiterführende Lösungen

IBM watsonx.ai

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

Entdecken sie watsonx.ai
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Profitieren Sie von einem einheitlichen Zugriff auf Funktionen, die den gesamten Lebenszyklus der KI-Entwicklung abdecken. Erstellen Sie leistungsstarke KI-Lösungen mit benutzerfreundlichen Oberflächen, Workflows und Zugriff auf branchenübliche APIs und SDKs.

watsonx.ai erkunden Live-Demo buchen