Faltungsnetz

Aus Zweites Gehirn, dem persönlichen Wiki
Faltungsnetz
TypKonzept
QuellenQuelle - Neuronale Netze programmieren mit Python
Quelle - Recherche - Bildverarbeitung heute 2026
Erstellt2026-09-27
Aktualisiert2026-09-27
Tagsneuronale-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).

Einordnung (Claude)

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