Wissen Sie, wie Faltungsneuronale Netzwerke Muster in großen Datensätzen erkennen? Das Geheimnis liegt im Pooling.
Pooling verringert die Komplexität von Deep-Learning-Modellen, indem es die Eingabegröße reduziert und gleichzeitig wesentliche Merkmale und Beziehungen zwischen den Daten bewahrt. Diese Operation ist auch als Downsampling oder Subsampling bekannt.
Faltungsneuronale Netzwerke (CNNs), eine Art von künstlichem neuronalen Netzwerk, verwenden typischerweise Pooling-Operationen für die Bilderkennung und -verarbeitung. Mit CNNs ist es nicht notwendig, Merkmale manuell aus visuellen Daten zu extrahieren. Stattdessen wenden diese Netzwerke Filter unterschiedlicher Größe über das Bild an, um dessen Merkmale zu erlernen und gleichzeitig die Translationsvarianz sicherzustellen. Das bedeutet, dass selbst wenn sich das Objekt an eine andere Stelle im Bild bewegt, es als dasselbe Objekt erkannt wird.
Diese Faltungsneuronalen Netzwerke haben drei grundlegende Schichten: Faltungs-, Pooling- und vollständig verbundene dichte Schichten. Die Faltungsschicht erstellt eine Merkmalskarte durch Filter, die helfen, Muster zu erkennen.
Die letztere, eine vollständig verbundene dichte Schicht, hilft bei der Klassifizierung in den Endphasen eines neuronalen Netzwerks.
Was sind Pooling-Schichten?
Pooling-Schichten in Faltungsneuronalen Netzwerken reduzieren die Dimensionen von Merkmalskarten, wodurch ein Netzwerk schneller arbeitet. Diese Schichten helfen dem Netzwerk, die wichtigsten Teile des Bildes zu identifizieren, was es einfacher macht, Muster zu erkennen.
Pooling-Schichten verhindern auch, dass ein Netzwerk überanpasst, was dazu führt, dass irrelevante Details gelernt werden. Dies erhöht die Geschwindigkeit des Netzwerks bei der Bildverarbeitung und verringert die Wahrscheinlichkeit von Fehlern.
Trotz der Reduzierung der Dimensionen bewahren Pooling-Schichten wesentliche Merkmale, die für die Klassifizierung benötigt werden. Dies ermöglicht es CNNs, große Bilder und tiefe Architekturen effektiver zu verwalten.
Wie funktionieren Pooling-Schichten?
Pooling-Schichten machen CNNs schneller und effizienter. Diese Schichten verwenden ein gleitendes Fenster (2x2 oder 3x3), um sich in Schritten über ein Bild zu bewegen. Die Operation wird bei jedem Schritt basierend auf der Art des verwendeten Poolings durchgeführt. Wenn beispielsweise Max-Pooling gewählt wird, wird der größte Wert im Fenster genommen. Dieser größte Wert repräsentiert das wichtigste Merkmal des Bildes.
Angenommen, die Eingabe ist ein Bild von drei Hunden. Der größte Wert würde hier dem Gesicht des Hundes entsprechen. Wenn hingegen Durchschnitts-Pooling gewählt wird, gibt es einen Überblick über die Merkmale des Bildes, wie das Muster oder die Struktur eines Hundes.
Die Pooling-Operation erstellt eine heruntergesampelte Darstellung der Eingabedaten. Dadurch wird das Bild kleiner und leichter zu verarbeiten, was die Rechengeschwindigkeit erhöht.
Sie können Pooling-Schichten mehrfach in Deep-Learning-Modellen anwenden, um die räumlichen Dimensionen der Merkmalskarten schrittweise zu reduzieren. Dies ermöglicht es dem Netzwerk, große Bilder und tiefe Architekturen effektiver zu verwalten.
Während Pooling die Ausgaben verfeinert, beginnt das Lernen selbst früher. Erfahren Sie, wie Backpropagation das Training von neuronalen Netzwerken antreibt.
Möchten Sie mehr über Künstliche Neuronale Netzwerk-Software erfahren? Erkunden Sie Künstliches Neuronales Netzwerk Produkte.
Warum sind Pooling-Schichten wichtig?
Wenn Faltungsschichten eine Merkmalskarte erzeugen, ist sie ortsabhängig. Das bedeutet, dass ein Objekt unkenntlich wäre, wenn es an eine andere Stelle verschoben wird. Die Pooling-Schicht bietet Translationsinvarianz und stellt sicher, dass selbst wenn ein Objekt in einem Bild verschoben wird, das Faltungsneuronale Netzwerk es dennoch erkennen kann.
Die Pooling-Schichten befinden sich über der Faltungsschicht, wo sie die Ausgabe der Faltungsschicht durch Filter unterschiedlicher Dimensionen herunterproben. Normalerweise werden Max- oder Durchschnitts-Pooling-Schichten verwendet, aber es gibt verschiedene andere Arten von Pooling-Schichten, die in CNNs je nach Anwendungsfall verwendet werden.
Arten von Pooling-Schichten
Es gibt verschiedene Arten von Pooling, wie Max-, Durchschnitts-, Global- oder Stochastisches Pooling. Tauchen Sie tief ein, um ihre Vorteile zu verstehen und wie sie sich unterscheiden.
Max-Pooling
Max-Pooling ist die häufigste Pooling-Methode. Es teilt die Eingabe-Merkmalskarte in kleinere Regionen, sogenannte Pooling-Fenster oder Rezeptorfelder. Diese sind typischerweise 2x2 oder 3x3 groß. In jedem Pooling-Fenster erfolgt eine Aggregationsoperation, bei der der maximale Wert im 2x2-Raster ausgewählt wird.
Der maximale Wert entspricht dem bedeutendsten Merkmal innerhalb jeder Bildregion, was es dem System erleichtert, Schlüsselmerkmale zu identifizieren.
Unten ist der Prozess des Max-Poolings.
- Erstellen Sie Pooling-Fenster. Die Merkmalskarte wird in nicht überlappende Regionen von 2x2 oder 3x3 Größen unterteilt.
- Wählen Sie den maximalen Wert. Max-Pooling wählt den höchsten Wert für jede Region aus.
- Erstellen Sie eine gepoolte Merkmalskarte. Verwenden Sie den höchsten Wert aus jeder Region, um eine gepoolte Merkmalskarte zu erstellen. Diese wird kleinere Dimensionen als die gefaltete Merkmalskarte haben.
Da die Größe der Merkmalskarte reduziert wird, verringert sich auch die Rechenleistung, die zur Verarbeitung des Bildes erforderlich ist. Diese Art des Poolings erfasst die wichtigsten Merkmale und verwirft die irrelevanten Details. Es macht das Netzwerk robuster gegenüber kleinen Verschiebungen oder Translationen in einem Bild.
Durchschnitts-Pooling
Durchschnitts-Pooling funktioniert genauso wie Max-Pooling, aber anstatt den maximalen Wert auszuwählen, wird der Mittelwert jeder Region genommen. Durch die Berücksichtigung aller Werte in einer Region bewahrt Durchschnitts-Pooling mehr Informationen über die Merkmale.
So funktioniert Durchschnitts-Pooling:
- Teilen Sie die Merkmalskarte. Die Merkmalskarte wird in nicht überlappende Regionen unterteilt.
- Berechnen Sie den Mittelwert. Durchschnitts-Pooling berechnet den Mittelwert aller Werte in einem Bereich.
- Entwickeln Sie eine gepoolte Merkmalskarte. Diese Mittelwerte bilden die gepoolte Merkmalskarte. Die durch Durchschnitts-Pooling erzeugte gepoolte Merkmalskarte ist glatter und weniger verrauscht als die durch Max-Pooling erzeugte.
Globales Pooling
Globales Pooling wird über die gesamte Merkmalskarte angewendet und gibt einen einzelnen Wert für jede Merkmalskarte aus. Diese Art von Pooling-Schicht arbeitet in den Endphasen von Faltungsneuronalen Netzwerken, wo die Merkmalskarte in einen fest dimensionierten Vektor umgewandelt wird, bevor sie an die vollständig verbundenen Schichten weitergegeben wird.
Globales Pooling umfasst auch Max- und Durchschnitts-Pooling-Methoden. Globales Max-Pooling verwendet den maximalen Wert aus der gesamten Merkmalskarte, während globales Durchschnitts-Pooling stattdessen den Mittelwert nimmt. Es liefert eine feste Ausgabengröße unabhängig von der Größe der Eingabe, was es einfacher macht, es mit dichten, vollständig verbundenen Schichten zu verbinden.
Stochastisches Pooling
Stochastisches Pooling führt Zufälligkeit in den Pooling-Prozess ein. Es wählt Werte basierend auf einer Wahrscheinlichkeitsverteilung, die aus verschiedenen Werten im Pooling-Bereich abgeleitet wird. Hier wählen Sie keinen maximalen oder durchschnittlichen Wert aus verschiedenen Bereichen auf der Merkmalskarte aus.
Quelle: Citeseerx
Die Zufälligkeit verhindert, dass das Netzwerk zu stark auf die Trainingsdaten überanpasst. Dies führt zu einer besseren Generalisierung, die es dem Netzwerk ermöglicht, verschiedene Merkmalsdarstellungen zu erkunden.
Vorteile und Herausforderungen von Pooling-Schichten
Pooling-Schichten bewahren die wichtigsten Merkmale von Eingabedaten, indem sie Translationsinvarianz bieten. Dies ermöglicht es dem Modell, unabhängig von kleinen Änderungen der Eingabe dieselbe Ausgabe zu erzeugen.
Diese Schichten sind entscheidend für die Größe und Komplexität von maschinellen Lernmodellen und machen sie in mehreren maschinellen Lernaufgaben nützlich. Sie werden nach Faltungsschichten in einem CNN platziert, wo sie die Ausgabe herunterproben und dem Modell helfen, sie schneller zu verarbeiten. Diese Schichten helfen auch, die wichtigsten Merkmale eines Bildes durch die Max-Pooling-Technik auszuwählen.
Obwohl die Pooling-Schicht die Dimensionen einer Eingabeschicht reduziert, führt sie auch zu einem gewissen Informationsverlust aus den Merkmalskarten. Es besteht die Möglichkeit, dass Merkmalskarten zu stark geglättet werden, was zu einem Verlust von Details führen kann, die für die endgültige Regressionsaufgabe entscheidend sind.
Darüber hinaus kommen Hyperparameter wie Pooling-Regionen und Schrittgröße ins Spiel. Der Schritt bewertet, wie viele Quadrate oder Pixel Filter überspringen, wenn sie sich von links nach rechts oder von oben nach unten über ein Bild bewegen. Sie müssen sie abstimmen, um eine optimale Leistung zu erzielen, was zeitaufwändig sein kann und angemessene Modellkenntnisse erfordert.
CNNs schneller machen
Pooling-Schichten machen neuronale Netzwerke robuster gegen Verzerrungen in den Eingabedaten. Sie verbessern auch die Leistung des Modells bei neuen, unbekannten Daten, indem sie es herunterproben und verhindern, dass es sich zu eng an die Trainingsdaten anpasst.
Insgesamt machen sie Faltungsneuronale Netzwerke schneller, indem sie Daten vereinfachen und gleichzeitig wichtige Informationen bewahren.
Erfahren Sie mehr über rekurrente neuronale Netzwerke und verstehen Sie, wie sie die Spracherkennung und Bildunterschriftenerstellung erleichtern.
Bearbeitet von Monishka Agrawal

Sagar Joshi
Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.