Ein Convolutional Neural Network (CNN) ist eine spezielle Art von künstlichem neuronalen Netzwerk, das hauptsächlich für die Verarbeitung von Bildern und anderen räumlich strukturierten Daten verwendet wird. Es ist eine Weiterentwicklung des allgemeinen Feedforward-Neuronalen Netzes und hat eine besondere Architektur, die es gut geeignet macht, Merkmale und Muster in visuellen Daten zu extrahieren.
Ein wesentlicher Unterschied zwischen CNNs und herkömmlichen neuronalen Netzwerken besteht darin, dass CNNs spezielle Schichten namens „Convolutional Layers“ (Faltungsschichten) verwenden. Diese Faltungsschichten sind in der Lage, lokale Muster in kleinen Bereichen des Eingabebildes zu erkennen. Durch das Anwenden von Filtern auf das Eingangsbild können CNNs Merkmale wie Kanten, Texturen und Formen auf verschiedenen Skalenebenen extrahieren.
Ein typisches CNN besteht aus mehreren Schichten, darunter:
- Faltungsschicht (Convolutional Layer): Die Faltungsschicht sucht nach speziellen Merkmalen, wie Linien oder Kanten, die auf dem Bild erscheinen. Sie funktioniert wie eine Art Scanner, der über das Bild fährt und nach bestimmten Mustern sucht.
- Pooling-Schicht (Pooling Layer): Die Pooling-Schicht hilft dabei, die Informationen zu vereinfachen, indem sie einige Bereiche des Bildes zusammenfasst. Dies hilft, die Anzahl der Parameter zu reduzieren und die Rechenleistung zu erhöhen.
- Vollständig verbundene Schicht (Fully Connected Layer): Diese Schicht arbeitet am Ende des Netzwerks und hilft dabei, die gefundenen Merkmale zu kombinieren, um Entscheidungen zu treffen. Alle Informationen über die Formen, Kanten und Muster werden zusammenführt, um herauszufinden, was auf dem Bild ist.
- Aktivierungsfunktionen: Diese sind Regeln, die helfen zu entscheiden, ob ein bestimmtes Merkmal wichtig ist oder nicht. Eine häufig verwendete Regel ist, dass nur positive Informationen weitergegeben werden.
CNNs sind äußerst effektiv bei der Verarbeitung von Bilddaten und haben viele Anwendungen in Bereichen wie Bildklassifikation, Objekterkennung, Gesichtserkennung, Segmentierung und vieles mehr. Sie werden auch in anderen Anwendungen eingesetzt, die räumliche Strukturen in den Daten aufweisen, wie z.B. in der Sprachverarbeitung für die Verarbeitung von Audio-Spektrogrammen.