Kann jemand erklären, was eine globale Max-Pooling- Schicht ist und warum und wann wir sie zum Trainieren eines neuronalen Netzwerks verwenden. Haben sie einen Vorteil gegenüber einer gewöhnlichen Max-Pooling-Schicht?
Kann jemand erklären, was eine globale Max-Pooling- Schicht ist und warum und wann wir sie zum Trainieren eines neuronalen Netzwerks verwenden. Haben sie einen Vorteil gegenüber einer gewöhnlichen Max-Pooling-Schicht?
Globales maximales Pooling = gewöhnlicher maximaler Pooling-Layer mit Poolgröße entspricht der Größe der Eingabe (minus Filtergröße + 1, um genau zu sein). Sie können sehen, dass dies MaxPooling1D
ein pool_length
Argument GlobalMaxPooling1D
erfordert , während dies nicht der Fall ist.
Wenn zum Beispiel die Eingabe der Max-Pooling-Schicht , gibt die globale Max-Pooling-Ausgabe , wohingegen die normale Max-Pooling-Schicht mit der Pool-Größe 3 Ausgaben (vorausgesetzt Schritt = 1).2 , 2 , 5 , 5 , 5
Dies ist im Code zu sehen :
class GlobalMaxPooling1D(_GlobalPooling1D):
"""Global max pooling operation for temporal data.
# Input shape
3D tensor with shape: `(samples, steps, features)`.
# Output shape
2D tensor with shape: `(samples, features)`.
"""
def call(self, x, mask=None):
return K.max(x, axis=1)
In einigen Domänen, z. B. bei der Verarbeitung natürlicher Sprache, wird häufig globales maximales Pooling verwendet. In einigen anderen Bereichen, wie z. B. der Bildverarbeitung, wird häufig ein maximaler Pool verwendet, der nicht global ist.
Wie in diesem Papier beschrieben , das globales durchschnittliches Pooling (GAP) vorschlug:
Herkömmliche neuronale Faltungsnetze führen eine Faltung in den unteren Schichten des Netzes durch. Zur Klassifizierung werden die Merkmalskarten der letzten Faltungsschicht vektorisiert und in vollständig verbundene Schichten eingespeist, gefolgt von einer logistischen Softmax-Regressionsschicht. Diese Struktur überbrückt die Faltungsstruktur mit herkömmlichen Klassifizierern für neuronale Netze. Die Faltungsschichten werden als Merkmalsextraktoren behandelt, und das resultierende Merkmal wird auf herkömmliche Weise klassifiziert.
Die vollständig verbundenen Schichten sind jedoch anfällig für eine Überanpassung, wodurch die Generalisierungsfähigkeit des gesamten Netzwerks beeinträchtigt wird. Dropout wird von Hinton et al. Als Regularizer vorgeschlagen, der während des Trainings zufällig die Hälfte der Aktivierungen für die vollständig verbundenen Schichten auf Null setzt. Es hat die Verallgemeinerungsfähigkeit verbessert und verhindert weitgehend eine Überanpassung.
In diesem Artikel schlagen wir eine andere Strategie vor, die als globales durchschnittliches Pooling bezeichnet wird, um die traditionellen vollständig verbundenen Schichten in CNN zu ersetzen. Die Idee ist, eine Feature-Map für jede entsprechende Kategorie der Klassifizierungsaufgabe im letzten mlpconv-Layer zu generieren. Anstatt vollständig verbundene Layer über den Feature-Maps hinzuzufügen, wird der Durchschnitt der einzelnen Feature-Maps ermittelt und der resultierende Vektor direkt in den Softmax-Layer eingespeist. Ein Vorteil des globalen Durchschnittspoolings gegenüber den vollständig verbundenen Layern besteht darin, dass es der Faltungsstruktur natürlicher ist, indem die Korrespondenz zwischen Feature-Maps und Kategorien erzwungen wird. Somit können die Merkmalskarten leicht als Kategorienvertrauenskarten interpretiert werden. Ein weiterer Vorteil besteht darin, dass es keinen Parameter gibt, der im globalen Durchschnittspooling optimiert werden könnte, sodass eine Überanpassung in dieser Schicht vermieden wird. Außerdem, Global Average Pooling fasst die räumlichen Informationen zusammen und ist daher robuster für räumliche Übersetzungen der Eingabe. Wir können Global Average Pooling als einen strukturellen Regularisierer ansehen, der Feature-Maps explizit als Konfidenz-Maps (Kategorien) erzwingt. Dies wird durch die mlpconv-Schichten ermöglicht, da sie die Konfidenzkarten besser approximieren als GLMs.
Bearbeiten: Wie von @MaxLawnboy vorgeschlagen, ist hier ein weiteres Papier zum gleichen Thema .
quelle