Pooling Layer

Pooling Layer

Ein Pooling Layer, hat die Aufgabe, das CNN “toleranter” gegen geringe Abweichungen zu machen. Im folgenden Beispiel wurde die Kante stückweise um insgesamt 2 Pixel nach rechts verschoben. Auf einem Bild sollte es für das Erkennen keine so große Rolle spielen, aber für den Convolutional-Layer spielt es eine Rolle in den Ergebnissen. Es ist nicht tolerant gegenüber Verschiebungen was in der Abbildung Kantenerkennung mit Pooling ersichtlich wird.

Jede Verschiebung der senkrechten Kante, erzeugt eine andere Featur-Map:

pozi

Fig. 23 Kantenerkennung ohne Pooling.

pozi

Fig. 24 Kantenerkennung mit Pooling.

In der Abbildung Kantenerkennung mit Pooling wird ein 2x2 Pooling-Filter verwendet. Ein Pixel kann sich im grün abgegrenzten Bereich bewegen, ohne, dass sich die Feature-Map ändert. Es wird lediglich der größte Wert (Max-Pooling) verwendet und in die Feature-Map übernommen. Das bewirkt eine Toleranz des Modells gegenüber Lageabweichungen von Objekten in den Bildern.

Vorteile vom Pooling:

  • bessere Generalisierung

  • geringere Anzahl an Ausgabeknoten durch Dimensionsreduktion

  • beschleunigt Lernvorgang