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>
[[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.
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.
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.
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')
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.
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. 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.
Recommended Posts