Convolutional Neural Network
Bisher
- Dense / Fully-connected Neural Networks
- Jedes Neuron hat den Output aller Neuronen des vorherigen Layers als Input.
- Daten werden linear eingelesen (als Vektor).
- Problem: Informationen zur Anordnung der Daten gehen verloren (und ggf. neu gelernt werden müssen).
- Beispiel: 28x28 Bild wird zu 784 Pixeln.
- Zerfällt: Dimension auch bei Audio.
- Manche Daten (z. B. verschiedene Teilansichten des Gleichen) gehen verloren.
- Beispiel: RGB-Info oder L/R bei Stereo.
- Ziel: Diese Informationen sollen ausgenutzt werden.
- Zusätzlich:
- Weniger weights (in Neuronen und Connections).
- Weniger Aufwand.
Diskrete Convolution
- Kann mit mehrdimensionalen Daten umgehen → Dimensionsinformationen werden genutzt.
- Jedes Layer braucht nur wenige Gewichte (meist 3x3 / 5x5).
- Gewichte werden im Trainingsprozess festgelegt.
- Einzelner Wert im Output berücksichtigt nur Bruchteil des Inputs.
- Größe und Dimensionen des Outputs können geringer als des Inputs sein.
- Pooling zur weiteren Kompression und Positionsunschärfe:
- Max-Pooling:
- Max-Funktion.
- 2x2-Fenster.
- Stride: 2.
- Beseitigt Überlappung.
Datenvorbereitung
- Wird im Modell selbst trainiert.
- Meist Convolution/Pool-Layer vor Dense-Layers.
- Dazwischen muss als Vektor gefaltet werden.