[PYTHON] [Erklärung für Anfänger] Einführung in die Pooling-Verarbeitung (erklärt in TensorFlow)

Erklären der "Pooling" -Verarbeitung für Anfänger

Beim Ausführen des TensorFlow Expert Tutorial Deep MNIST für Experten war der "Pooling" -Prozess ebenso verwirrend wie der "Folding" -Prozess. Wie beim Falten ist es kein allgemeiner Begriff für Absolventen der freien Künste, und ich bin ein wenig gestolpert, aber es ist leicht zu verstehen. Es ist einfacher als das Falten, da kein Filter wie das Falten verwendet wird. "[Erklärung für Anfänger] TensorFlow-Tutorial Deep MNIST" In dem Artikel über die Verarbeitung des Faltungs-Neuronalen Netzwerks, (Erläuterung in TensorFlow) "](http://qiita.com/FukuharaYohei/items/702eb2430ee9dfbe763a) erläutert die Spezialisierung der Faltungsverarbeitung. * Gepostet mit Bezug auf die von TensorBoard (27.07.2017) ausgegebene Bild </ sup>

Überblick

Überblick

[[Erklärung für Anfänger] TensorFlow-Tutorial Deep MNIST]](http://qiita.com/FukuharaYohei/items/0aef74a0411273705512) Wie im Artikel erläutert, organisiert der "Pooling" -Prozess die Merkmale des Bildes grob. .. Nicht nur Bilder, sondern auch Audio und Daten sind in Ordnung, aber Bilder sind visueller und leichter zu verstehen, daher werde ich die Verwendung von Bildern erläutern. 10.Overview.JPG

Eingabe und Ausgabe des Pooling-Prozesses

Der Faltungsprozess filtert, um die Merkmale hervorzuheben. Unter Verwendung des Bildes als Eingabe und unter Verwendung des Filters wird das Bild für die Anzahl der Filter ausgegeben. Bei Verwendung von MNIST-Daten ist dies wie folgt. 10.Pooling_Overview01.JPG

Es war so, als ich die tatsächlichen Eingabe- / Ausgabebilder für die Poolverarbeitung arrangierte, die auf TensorBoard ausgegeben wurden. Im Gegensatz zum Faltvorgang ist es leicht zu verstehen, da es nur aufgeraut ist. 30.Pooling_image.JPG

Spezifische Verarbeitung

Der folgende Teil des TensorFlow-Experten-Tutorials Deep MNIST für Experten ist der Pooling-Prozess. Gleiches gilt für die erste und zweite Schicht. Es kann auf dieser Ebene mithilfe der TensorFlow-API implementiert werden.

# Max Pooling
def max_pool_2x2(x):
    return tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')

Bildbeispiel

Wenn Sie ein diagonales Balkenbild mit 4 vertikalen x 4 horizontalen x 1 Farben (nur Schwarz) als Beispiel für ein Eingabebild verwenden und vor dem Pooling eine Faltungsverarbeitung durchführen, ist das Ergebnis wie folgt. Um das Ergebnis leicht verständlich zu machen, wird es durch zwei "1" und "-1" ausgedrückt. 20.Pooling_Convolve01.JPG

Max Pooling Dann ist es die Zusammenfassung des Hauptthemas. Das TensorFlow Expert Tutorial Deep MNIST für Experten verwendet Max Pooling als Pooling-Typ. Max Pooling wählt einfach den Maximalwert für jeden Bereich aus und komprimiert ihn. 20.Pooling02_MaxPool.JPG Wie in der Figur gezeigt, könnten die Eigenschaften des diagonalen Balkens halbiert werden, während die Eigenschaften von 4 (vertikal) x 4 (horizontal) bis 2 (vertikal) x 2 (horizontal) belassen werden. Dies wurde als "grobe Organisation der Funktionen" beschrieben. Übrigens gibt es auch ein durchschnittliches Pooling. In diesem Fall ist es wie in der folgenden Abbildung gezeigt. 20.Pooling03_AvePool.JPG

Recommended Posts

[Erklärung für Anfänger] Einführung in die Pooling-Verarbeitung (erklärt in TensorFlow)
[Erklärung für Anfänger] Einführung in die Faltverarbeitung (erklärt in TensorFlow)
Anfänger lesen "Einführung in TensorFlow 2.0 für Experten"
[Für Anfänger] Einführung in die Vektorisierung beim maschinellen Lernen
Einführung in Deep Learning (1) --Chainer wird Anfängern leicht verständlich erklärt.
[Erklärung für Anfänger] TensorFlow-Tutorial Deep MNIST
Einführung in die Graph Database Neo4j in Python für Anfänger (für Mac OS X)
[Erklärung für Anfänger] Grundlegende Syntax und Konzept von TensorFlow
Eine Einführung in die objektorientierte Programmierung für Anfänger von Anfängern
[Einführung in TensorBoard] Visualisieren Sie die TensorFlow-Verarbeitung, um das Verständnis zu vertiefen
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Einführung in die Programmierung (Python) TA Tendenz für Anfänger
[Einführung für Anfänger] Umgang mit MySQL mit Python
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
[Einführung in TensorBoard: image] TensorFlow Visualisieren Sie die Bildverarbeitung, um das Verständnis zu vertiefen
opencv-python Einführung in die Bildverarbeitung
TensorFlow-Lernmethode für Profis der freien Künste und Python-Anfänger
Für Anfänger, wie man mit häufigen Fehlern in Keras umgeht
[Python] Einführung in die Diagrammerstellung mit Corona-Virendaten [Für Anfänger]
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Einführung in Python For, While
Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (5) [Einführung in den DB-Betrieb mit Django-Shell]
[Für Anfänger] So implementieren Sie O'reilly-Beispielcode in Google Colab
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
Pandas Grundlagen für Anfänger ① Lesen & Verarbeiten
TensorFlow MNIST Für ML Anfänger Übersetzung
Pandas Grundlagen für Anfänger ⑧ Ziffernverarbeitung
TensorFlow Tutorial MNIST Für ML-Anfänger
Führen Sie unittest in Python aus (für Anfänger)
So führen Sie TensorFlow 1.0-Code in 2.0 aus
Erste Schritte mit Python für Nicht-Ingenieure
TensorFlow Tutorial -MNIST Für ML-Anfänger
Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (4) [Einführung in Routing-Einstellungen und MTV-Entwurfsmuster]
Annäherungserklärung für Anfänger, um in Kaggle Titanic_3 unter den besten 1,5% (0,83732) zu sein
[Für Anfänger] Super Einführung in neuronale Netze, die selbst Katzen verstehen können
Annäherungserklärung für Anfänger, um in Kaggle Titanic_1 unter den besten 1,5% (0,83732) zu sein
[Einführung in Python] Eine ausführliche Erklärung der in Python verwendeten Zeichenkettentypen!
Annäherungserklärung für Anfänger, um in Kaggle Titanic_2 unter den besten 1,5% (0,83732) zu sein
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Einführung in Deep Learning ~ Falten und Pooling ~
Eine Einführung in OpenCV für maschinelles Lernen
Wahrscheinlich die einfachste Einführung in TensorFlow
Implementierung und Beschreibung mit XGBoost für Anfänger
Einführung in discord.py (1. Tag) -Preparation for discord.py-
Ergänzende Hinweise zu TensorFlow MNIST für ML-Anfänger
Eine Einführung in Python für maschinelles Lernen
Einführung in TensorFlow - Erläuterung der Begriffe und Konzepte des maschinellen Lernens
Verarbeiten von Memos, die häufig bei Pandas (Anfängern) verwendet werden
Einführung in Docker Erstellen einer Ubuntu-Umgebung in Ubuntu
Einführung in Vektoren: Lineare Algebra in Python <1>
DQN mit TensorFlow implementiert (ich wollte ...)
Einführung in die Überprüfung der Wirksamkeit Kapitel 1 in Python geschrieben
Eine Einführung in Python für C-Sprachprogrammierer
Datenanalyse in Python Zusammenfassung der Quellen, die Anfänger zuerst betrachten sollten