Feature, das durch maximales Pooling im Vergleich zum mittleren Pooling extrahiert wurde

8

Ist es beim Deep Learning und seiner Anwendung auf Computer Vision möglich zu erkennen, welche Funktionen diese beiden Arten von Pooling-Extrakten bieten? Kann man beispielsweise sagen, dass der maximale Pool Kanten extrahiert? Können wir etwas Ähnliches in Bezug auf Mean Pooling sagen?

PS Sie können gerne empfehlen, ob der Stapelüberlauf besser geeignet ist.

bearbeiten
quelle

Antworten:

11

Ich würde nicht sagen, dass beide Funktionen extrahieren. Stattdessen sind es die Faltungsschichten, die Features konstruieren / extrahieren, und die Pooling-Schichten komprimieren sie auf eine niedrigere Wiedergabetreue. Der Unterschied besteht in der Art und Weise, wie die Komprimierung erfolgt und welche Art von Wiedergabetreue beibehalten wird:

  • Eine Max-Pool-Schicht, die durch die maximale Aktivierung in einem Block komprimiert wird. Wenn Sie einen Block mit größtenteils kleiner Aktivierung, aber ein wenig großer Aktivierung haben, verlieren Sie die Informationen zu den niedrigen Aktivierungen. Ich denke, dies sagt "diese Art von Merkmal wurde in diesem allgemeinen Bereich entdeckt".
  • Eine mittlere Poolschicht wird komprimiert, indem die mittlere Aktivierung in einem Block genommen wird. Wenn große Aktivierungen durch negative Aktivierungen ausgeglichen werden, sehen die komprimierten Aktivierungen insgesamt wie keine Aktivierung aus. Auf der anderen Seite behalten Sie einige Informationen zu geringen Aktivierungen im vorherigen Beispiel bei.
Matthew Drury
quelle
4

Meiner Meinung nach hat Max & Mean Pooling nichts mit der Art der Features zu tun, sondern mit der Übersetzungsinvarianz.

Stellen Sie sich vor, Sie lernen, ein 'A' gegen 'B' zu erkennen (keine Variation der Pixel von A und B). Zuerst an einer festen Position im Bild. Dies kann durch eine logistische Regression (1 Neuron) erfolgen: Die Gewichte sind letztendlich eine Vorlage für die Differenz A - B.

Was passiert nun, wenn Sie trainieren, um an verschiedenen Stellen im Bild zu erkennen? Sie können dies nicht mit logistischer Regression tun, indem Sie über das Bild streichen (dh eine Faltungsschicht mit einem Filter approximieren) und alle Sweeps des Bildes A oder B entsprechend kennzeichnen, da das Lernen aus den verschiedenen Positionen stört - effektiv versuchen Sie, den Durchschnitt zu lernen von AB als A / B werden über Ihren Filter geleitet - aber dies ist nur eine Unschärfe.

Mit maximalem Pooling wird das Lernen nur am Ort der maximalen Aktivierung durchgeführt (die hoffentlich auf dem Buchstaben zentriert ist). Ich bin mir nicht so sicher, was das mittlere Pooling angeht - ich würde mir vorstellen, dass mehr Lernen (dh Gewichtsanpassung) am maximalen Aktivierungsort durchgeführt wird und das Verwischen vermieden wird ...

Ich würde Sie ermutigen, einfach ein so einfaches Netzwerk mit 2 Klassen und 1 Filter für die Faltungsschicht zu implementieren, dann Max / Mean-Pooling und 1 Ausgabeknoten und die Gewichte / Leistung zu überprüfen.

seanv507
quelle