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.
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:
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.
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:
Nach jeder Faltung wird eine ReLU-Transformation (Rectified Linear Unit) an der Merkmalskarte ausgeführt, um Nichtlinearität in das Modell einzuführen.
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.
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:
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.
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.
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:
LeNet-5 ist jedoch als die klassische CNN-Architektur bekannt.
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:
Verschaffen Sie sich ein umfassendes Verständnis von neuronalen Netzen, ihren grundlegenden Funktionen und den Grundlagen für den Aufbau eines solchen Netzes.
IBM® Granite ist unsere Familie offener, leistungsfähiger und vertrauenswürdiger KI-Modelle, die auf Unternehmen zugeschnitten und für die Skalierung Ihrer KI-Anwendungen optimiert sind. Entdecken Sie die Optionen zu Sprache, Code, Zeitreihen und Guardrails.
Wir haben 2.000 Unternehmen zu ihren KI-Initiativen befragt, um herauszufinden, was funktioniert, was nicht und wie Sie vorankommen können.
Erfahren Sie, wie Sie generative KI und maschinelles Lernen sicher in Ihr Unternehmen integrieren können.
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.
Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.