Convolutional Neural Networks (CNNs) sind eine spezielle Architektur neuronaler Netze, die besonders für die Verarbeitung von Bild- und Videodaten entwickelt wurde. Sie sind in der Lage, lokale Muster zu erkennen und hierarchische Merkmale aus Bildern zu extrahieren.
Ein CNN besteht typischerweise aus den folgenden Schichten:
Die Faltungsschicht ist das Herzstück eines CNN. Sie verwendet Filter (Kernels), um lokale Merkmale wie Kanten, Texturen oder Muster zu extrahieren.
Die Faltung wird definiert als:
Zᵢⱼ = Σ Σ Xᵢ₊ₘ,ⱼ₊ₙ ⋅ Wₘₙ + b
Dabei ist: - X die Eingabematrix (Bildpixel) - W die Filtermatrix (Kernel) - b der Bias - Z die gefaltete Ausgabe
📌 Beispiel: Ein 3×3-Sobel-Filter zur Kantendetektion
W =
⎡ -1 0 1 ⎤
⎢ -2 0 2 ⎥
⎣ -1 0 1 ⎦
Dieser Filter erkennt vertikale Kanten im Bild.
Die Pooling-Schicht reduziert die Dimensionalität der Merkmalskarten und hilft, Rechenaufwand und Überanpassung zu minimieren.
📌 Beispiel für 2×2 Max-Pooling:
Eingabematrix:
⎡ 1 3 2 4 ⎤
⎢ 5 6 7 8 ⎥
⎢ 9 10 11 12 ⎥
⎣ 13 14 15 16 ⎦
Max-Pooling mit 2×2-Fenster:
⎡ 6 8 ⎤
⎣ 14 16 ⎦
Nach mehreren Faltungs- und Pooling-Schichten werden die extrahierten Merkmale in vollständig verbundene Schichten überführt. Hierbei erfolgt die finale Klassifikation durch Softmax- oder Sigmoid-Funktionen.
Angenommen, ein CNN erkennt handgeschriebene Zahlen (MNIST-Dataset):
Softmax(x) = e^(xᵢ) / Σ e^(xⱼ)
Falls die Ausgabe ist:
[0.1, 0.2, 0.05, 0.05, 0.6, 0.0, 0.0, 0.0, 0.0,
0.0]
wird die Zahl 4 erkannt, da sie die höchste Wahrscheinlichkeit hat (0.6).
✅ Bildklassifikation (z. B. ImageNet,
Gesichtserkennung)
✅ Objekterkennung (z. B. YOLO, Faster R-CNN)
✅ Spracherkennung (z. B. WaveNet)
✅ Medizinische Bildanalyse (z. B. Tumorerkennung in
MRTs)