Convolutional Neural Network (CNN)
Definition: Ein Convolutional Neural Network (CNN) ist eine spezialisierte Architektur des Deep Learning, die hierarchisch Merkmale aus strukturierten Daten, primär Bildern, extrahiert. Durch Faltungsoperationen und Pooling erkennt es lokal begrenzte Muster wie Kanten oder Texturen und erreicht dadurch eine hohe Generalisierungsfähigkeit bei visuellen Klassifikations- und Detektionsaufgaben.
Grundprinzip und Architektur eines CNN
Ein Convolutional Neural Network ist keine simple Black Box, sondern ein hochstrukturiertes System zur Merkmalsextraktion. Die Kernidee besteht darin, nicht jedes Pixel mit jedem Neuron der nächsten Schicht zu verbinden, sondern nur innerhalb eines definierten rezeptiven Feldes. Diese lokale Konnektivität reduziert die Anzahl der Parameter drastisch. Ein Filter, auch Kernel genannt, gleitet über die Eingabematrix und berechnet Faltungen. Das Ergebnis ist eine Feature Map, die das Vorhandensein bestimmter Muster an verschiedenen Positionen kodiert.
Die Faltung ist mathematisch betrachtet eine Kreuzkorrelation. Das Netzwerk lernt die Filtergewichte jedoch selbstständig durch Backpropagation, ohne dass ein menschlicher Experte die Muster explizit definieren muss.
Nach jeder Faltung kommt typischerweise eine Aktivierungsfunktion wie ReLU zum Einsatz, die Nichtlinearität einführt. Ohne diesen Schritt bliebe das gesamte Netzwerk eine lineare Transformation. Anschließend reduziert eine Pooling-Schicht die räumliche Dimension. Max-Pooling extrahiert den stärksten Aktivierungswert in einem Fenster und sorgt so für eine gewisse Translationsinvarianz. Ein kleines Objekt, das um wenige Pixel verschoben ist, erzeugt weiterhin ein ähnliches Aktivierungsmuster.
Hierarchische Merkmalsextraktion und Transfer Learning
Die Stärke eines CNN liegt in seiner hierarchischen Repräsentation. Frühe Schichten erkennen einfache Kanten und Farbverläufe. Mittlere Schichten kombinieren diese zu Ecken, Kreisen oder Texturen. Tiefe Schichten setzen diese wiederum zu komplexen Objektteilen wie Augen, Rädern oder Fenstern zusammen. Diese Hierarchie entsteht automatisch durch die Optimierung der Gewichte auf einem großen Trainingsdatensatz.
Ein entscheidender praktischer Vorteil ist das Transfer Learning. Ein auf ImageNet vortrainiertes CNN hat bereits generische visuelle Merkmale gelernt. Für eine spezifische Aufgabe, etwa die Erkennung von Rissen in Stahlträgern, werden lediglich die letzten vollständig verbundenen Schichten neu trainiert. Das spart erhebliche Rechenressourcen und benötigt deutlich weniger gelabelte Daten. In der Praxis reichen oft wenige hundert Bilder, um eine akzeptable Genauigkeit zu erreichen, wenn die Basisarchitektur solide ist.
| Architekturtyp | Typische Anwendung | Parameteranzahl | Besonderheit |
|---|---|---|---|
| LeNet-5 | Handschriftenerkennung | ~60.000 | Historischer Grundstein |
| ResNet | Bildklassifikation | 25,5 Mio. (ResNet-50) | Skip Connections gegen Vanishing Gradient |
| U-Net | Biomedizinische Segmentierung | ~31 Mio. | Encoder-Decoder mit Skip Connections |
| EfficientNet | Mobile Anwendungen | 5,3 Mio. (B0) | Compound Scaling von Tiefe, Breite, Auflösung |
Abgrenzung zu anderen KI-Konzepten und Schnittstellen
Der Begriff Convolutional Neural Network wird häufig mit generischen Deep-Learning-Modellen vermischt. Ein Transformer, wie er in Large Language Models zum Einsatz kommt, verarbeitet Daten sequenziell über Self-Attention-Mechanismen. Ein CNN hingegen nutzt lokale Faltungsfilter. Beide Architekturen lassen sich jedoch kombinieren. In modernen Vision-Transformern werden Bilder in Patches zerlegt und anschließend transformerbasiert verarbeitet. CNNs dienen dort oft als Feature-Extraktoren vor der Transformer-Schicht.
Im Kontext von Retrieval-Augmented Generation (RAG) spielen CNNs eine indirekte, aber relevante Rolle. Wenn Dokumente gescannte Bilder oder Diagramme enthalten, müssen diese zunächst über OCR oder visuelle Modelle in maschinenlesbaren Text überführt werden. Ein CNN kann hier als Vorschaltmodul fungieren, um die Qualität der späteren Vektor-Embeddings zu verbessern. Auch bei der Verarbeitung von Zeitreihen, etwa in der Predictive Maintenance, kommen 1D-CNNs zum Einsatz, obwohl dort oft LSTM-Netzwerke bevorzugt werden.
Die Wahl zwischen CNN und alternativen Architekturen ist keine Glaubensfrage, sondern eine Frage der Datengeometrie. Für räumlich strukturierte Daten wie Bilder ist das CNN die natürliche Wahl. Für sequenzielle Daten sind rekurrente Netze oder Transformer meist überlegen.
Praktische Implementierung und Optimierungsstrategien
Die Implementierung eines CNN erfolgt heute standardmäßig über Frameworks wie PyTorch oder TensorFlow. Entscheidend für den praktischen Erfolg sind jedoch weniger die Framework-Kenntnisse, sondern die Hyperparameter-Optimierung. Die Lernrate bestimmt maßgeblich die Konvergenzgeschwindigkeit. Zu hoch gewählt, oszilliert das Modell. Zu niedrig, dauert das Training unnötig lange. Moderne Optimierer wie Adam passen die Lernrate pro Parameter an und mildern dieses Problem.
Data Augmentation ist eine weitere zentrale Strategie. Durch zufällige Rotationen, Skalierungen oder Farbverschiebungen wird der effektive Trainingsdatensatz künstlich vergrößert. Das reduziert Overfitting und verbessert die Robustheit des Modells gegenüber realen Variationen. Batch Normalization stabilisiert das Training, indem sie die Aktivierungen jeder Schicht normalisiert. Dropout hingegen deaktiviert zufällig Neuronen während des Trainings und erzwingt so eine redundante Merkmalsrepräsentation.
Die Inferenzgeschwindigkeit ist in Produktivumgebungen oft der limitierende Faktor. Modelle mit mehreren hundert Millionen Parametern benötigen spezialisierte Hardware wie GPUs oder TPUs. Für Edge-Geräte kommen Quantisierung und Pruning zum Einsatz. Bei der Quantisierung werden Gewichte von 32-Bit-Fließkommazahlen auf 8-Bit-Integer reduziert. Das beschleunigt die Berechnung erheblich, führt aber zu einem minimalen Genauigkeitsverlust, der in den meisten Anwendungen akzeptabel ist.
« Back to Glossary Index