| Typ | Konzept |
|---|---|
| Quellen | Quelle - Neuronale Netze programmieren mit Python Quelle - Recherche - Bildverarbeitung heute 2026 |
| Erstellt | 2026-09-27 |
| Aktualisiert | 2026-09-27 |
| Tags | neuronale-netze, deep-learning, bildverarbeitung, cnn |
Ein Faltungsnetz (Convolutional Neural Network, CNN) ist ein tiefes neuronales Netz für Bilder, Audio und Video. Faltungsschichten mit kleinen, gelernten Filtern erkennen lokale Muster, Pooling verkleinert die Karten, ein vollständig verbundenes Netz klassifiziert am Schluss. Es lernt die Merkmale selbst, statt sie von Hand vorgegeben zu bekommen.
Warum nicht ein normales Netz?
Ein vollständig verbundenes Netz braucht für grosse Bilder unermesslich viele Verbindungen, und es macht aus dem Bild einen langen Vektor, wodurch die Nachbarschaft der Pixel verloren geht (Quelle - Neuronale Netze programmieren mit Python, S. 199).
Vorbild: der visuelle Cortex
David Hubel und Torsten Wiesel fanden 1958/59 an Katzen und Affen, dass Neuronen im visuellen Cortex nur auf einen kleinen Ausschnitt des Gesichtsfelds reagieren, dass sich diese Felder überlappen und dass Neuronen mit grösserem Feld die Signale einfacherer Neuronen kombinieren (Nobelpreis 1981, S. 200–201). Umgesetzt wurde das zuerst im Neocognitron von Kunihiko Fukushima (1980), dann von Yann LeCun im CNN (S. 201, 289–291, 302; zu den Jahreszahlen siehe Geschichte der neuronalen Netze).
Aufbau
Ein CNN hat zwei Blöcke (S. 201–211):
Kodierungsblock (Merkmale extrahieren), mehrfach hintereinander:
- Faltungsschicht (Convolutional Layer): Ein 3×3- oder 5×5-Filter wandert über das Bild. Alle Neuronen einer Ebene teilen dieselben Gewichte, reagieren also auf dasselbe Muster (z.B. senkrechte Kante) an jeder Stelle. Mehrere Ebenen (Feature Maps) erkennen verschiedene Muster. Die Filter werden gelernt.
- Aktivierung: meist ReLU (siehe Aktivierungsfunktion).
- Pooling: Max Pooling gibt aus jedem 2×2-Feld nur den grössten Wert weiter (Average Pooling den Mittelwert). Das verkleinert die Karte und die Zahl der Gewichte. Vorbild ist die laterale Hemmung im Nervensystem.
- Hyperparameter: Filtergrösse, Schrittweite (Stride, bei der Faltung meist überlappend, beim Pooling nicht) und Padding am Bildrand (Standard: mit Nullen auffüllen).
Frühe Schichten erkennen Kanten, Linien und Punkte, spätere Schichten immer komplexere Kombinationen daraus.
Prädiktionsblock (klassifizieren): Die letzte Karte wird zu einem Vektor abgeflacht (Flatten) und in ein vollständig verbundenes Netz gegeben. Die letzte Schicht hat ein Neuron pro Klasse (Logits), Softmax macht daraus Wahrscheinlichkeiten, die sich zu 1 summieren. Trainiert wird das ganze Netz mit Backpropagation.
Grösse bekannter CNN
| Netz | Parameter laut Quelle (S. 212) |
|---|---|
| LeNet-5 (1998) | ~60 000 |
| AlexNet (2012) | ~60 Millionen |
| VGG (2014) | ~138 Millionen |
| GoogLeNet (2014) | ~4 Millionen |
| ResNet50 (2015) | ~2,4 Millionen (falsch, richtig sind rund 25 Millionen) |
Inception-v3, das im Buch verwendet wird, hat knapp 24 Millionen Parameter (S. 254). Seine Inception-Module wenden 1×1-, 3×3- und 5×5-Filter und Pooling parallel an und hängen die Ergebnisse zusammen („warum entscheiden, wenn man alles nehmen kann“, S. 252).
Beispiele im Buch
| Aufgabe | Netz | Ergebnis |
|---|---|---|
| MNIST-Ziffern (S. 233–249) | 2 Faltungsblöcke (32 und 64 Filter 5×5), Dropout, 2 Dense-Schichten, ~192 000 Parameter, Adam, 12 Epochen | 99,4 % Testgenauigkeit |
| Bienen vs. Hummeln (S. 396–407) | 4 Faltungsblöcke, ~7 Mio. Parameter, Datenaugmentation, Klassengewichte gegen das Verhältnis 1 : 4 | ca. 86 % (Wettbewerbssieger: 99 %) |
| Katzen vs. Hunde (S. 407–415) | Inception-v3 mit eingefrorenen Gewichten, eigener Prädiktionsblock | ca. 97 % Validierungsgenauigkeit |
Transfer Learning: Ein auf ImageNet vortrainiertes Netz erkennt bereits allgemeine Bildmerkmale. Man friert seinen Kodierungsblock ein (trainable = False) und trainiert nur einen neuen Prädiktionsblock. Das funktioniert schon mit wenigen tausend Bildern (S. 249–258, 407–415).
DeepDream (Alexander Mordvintsev, Google 2015) macht sichtbar, was ein trainiertes CNN „sieht“: Statt der Gewichte wird das Eingabebild per Gradientenaufstieg so verändert, dass bestimmte Schichten möglichst stark reagieren. Auf ImageNet trainierte Netze träumen deshalb Hunde, Katzen und Vögel ins Bild (S. 415–426).
Die Faltung im CNN ist dieselbe diskrete Faltung wie bei den Bildfiltern der Bildverarbeitung von 2004, nur sind die Filterkoeffizienten nicht mehr von Hand gewählt (Sobel, Laplace), sondern gelernt. Das CNN ersetzt damit die Kette Merkmalsextraktion → Klassifikation durch ein durchgehend trainiertes Netz (siehe Mustererkennung). DeepDream ist ein Verwandter der Rückwärtsabfrage aus Künstliches neuronales Netz: Beide wollen das in den Gewichten verteilte Wissen sichtbar machen.
Verwandt
- Bildfilter – Faltung mit festen Filtern
- Merkmalsextraktion – was CNN automatisch lernen
- Mustererkennung – Klassifikation, Durchbruch mit AlexNet 2012
- ImageNet – Datensatz für vortrainierte Netze
- Transformer – die zweite grosse Architektur, heute auch für Bilder (Vision Transformer)
- Überanpassung – Dropout und Datenaugmentation beim CNN-Training
- TensorFlow – Keras-Schichten Conv2D, MaxPooling2D, Dense
