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.