CNN (Convolutional Neural Network, auf Deutsch „faltendes neuronales Netz") ist eine Netzarchitektur, die speziell für die Verarbeitung von Bildern und räumlichen Daten entwickelt wurde. Statt jedes Pixel einzeln mit jedem Neuron zu verbinden, nutzt ein CNN Faltungen (Convolutions): kleine Filter, die über das Bild gleiten und lokale Muster wie Kanten, Ecken oder Texturen erkennen.
Wie funktioniert ein CNN?
Ein CNN besteht typischerweise aus mehreren Schichten: Faltungsschichten (Convolutional Layers) extrahieren Merkmale, Pooling-Schichten (Pooling Layers) verkleinern die Daten und erhöhen die Robustheit, und am Ende sorgen voll verbundene Schichten für die Klassifikation. Durch das Teilen der Filtergewichte braucht ein CNN deutlich weniger Parameter als ein voll verbundenes Netz — das macht es effizient und weniger anfällig für Overfitting. Als Aktivierungsfunktion kommt häufig ReLU zum Einsatz, weil sie die Gradienten besser weiterleitet.
Geschichte
Die Grundidee geht auf Yann LeCun und Kollegen zurück: Das 1998 vorgestellte LeNet-5 erkannte handschriftliche Ziffern mit über 99 Prozent Genauigkeit auf dem MNIST-Datensatz und wurde jahrelang in Banken-ATMs zum Lesen von Schecks eingesetzt. Der Durchbruch gelang 2012 mit AlexNet, das den ImageNet-Wettbewerb mit großem Abstand gewann und die Deep-Learning-Revolution einleitete.
Einsatzgebiete
- Bildklassifikation und Objekterkennung
- Medizinische Bildanalyse (z. B. Röntgenbilder)
- Autonomes Fahren und Robotik
- Gesichtserkennung und Filter in Foto-Apps
In der Videoanalyse werden CNNs häufig mit rekurrenten Netzen kombiniert: Das CNN extrahiert Merkmale aus jedem Einzelbild, ein RNN oder LSTM erfasst anschließend die zeitliche Abfolge der Bilder.
Verwandte Grundlagen: Künstliches Neuron, Perzeptron, Multi-Layer-Perceptron, Deep Learning, Backpropagation.