[PYTHON] [Explication pour les débutants] Introduction au traitement du pool (expliqué dans TensorFlow)

Expliquer le traitement de «mise en commun» pour les débutants

En exécutant le didacticiel TensorFlow Expert Deep MNIST for Experts, le processus de «mise en commun» était aussi déroutant que le processus de «pliage». Comme le pliage, ce n'est pas un terme général pour les diplômés des arts libéraux, et j'ai un peu trébuché, mais c'est facile à comprendre. C'est plus facile que le pliage car il n'utilise pas de filtre comme le pliage. "[Explication pour les débutants] Tutoriel TensorFlow Deep MNIST" Dans l'article, sur le traitement du réseau neuronal de convolution, "[Explication pour les débutants] Introduction au traitement de convolution (Explication dans TensorFlow) " explique la spécialisation du traitement de convolution, veuillez donc vous y référer. * Publié en référence à la sortie d'image par TensorBoard (2017/7/27) </ sup>

Aperçu

Aperçu

[[Explication pour les débutants] Tutoriel TensorFlow Deep MNIST]](http://qiita.com/FukuharaYohei/items/0aef74a0411273705512) Comme expliqué dans l'article, le processus de "pooling" organise grossièrement les caractéristiques de l'image. .. Non seulement les images, mais aussi l'audio et les données sont bien, mais les images sont plus visuelles et plus faciles à comprendre, donc je vais expliquer en utilisant des images. 10.Overview.JPG

Entrée et sortie du processus de mise en commun

Le processus de convolution filtre pour faire ressortir les fonctionnalités. En utilisant l'image comme entrée et en utilisant le filtre, l'image pour le nombre de filtres est sortie. Lors de l'utilisation de données MNIST, c'est comme suit. 10.Pooling_Overview01.JPG

C'était comme ça quand j'ai organisé la mise en commun des images d'entrée / sortie de traitement mises en commun sur TensorBoard. Contrairement au processus de pliage, il est facile à comprendre car il n'est que rugueux. 30.Pooling_image.JPG

Traitement spécifique

La partie suivante du didacticiel TensorFlow Expert Deep MNIST for Experts est le processus de mise en commun. La même chose est vraie pour les première et deuxième couches. Il peut être implémenté à ce niveau à l'aide de l'API TensorFlow.

# 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')

Exemple d'image

Si vous utilisez une image de barre diagonale de 4 verticales x 4 horizontales x 1 couleur (noir uniquement) comme exemple d'image d'entrée et effectuez un traitement de convolution avant la mise en commun, le résultat sera le suivant. Afin de rendre le résultat facile à comprendre, il est exprimé par deux, "1" et "-1". 20.Pooling_Convolve01.JPG

Max Pooling Ensuite, c'est la mise en commun du sujet principal. Le didacticiel TensorFlow Expert Deep MNIST for Experts utilise Max Pooling comme type de regroupement. Max Pooling sélectionne simplement la valeur maximale pour chaque plage et la compresse. 20.Pooling02_MaxPool.JPG Comme le montre la figure, les caractéristiques de la barre diagonale pourraient être compressées de moitié tout en laissant les caractéristiques de 4 (vertical) x 4 (horizontal) à 2 (vertical) x 2 (horizontal). C'est ce qui a été décrit comme "l'organisation approximative des fonctionnalités". À propos, il existe également une mise en commun moyenne, auquel cas c'est comme le montre la figure ci-dessous. 20.Pooling03_AvePool.JPG

Recommended Posts

[Explication pour les débutants] Introduction au traitement du pool (expliqué dans TensorFlow)
[Explication pour les débutants] Introduction au traitement du pliage (expliqué dans TensorFlow)
Les débutants lisent "Introduction à TensorFlow 2.0 pour les experts"
[Pour les débutants] Introduction à la vectorisation dans l'apprentissage automatique
Introduction au Deep Learning (1) --Chainer est expliqué d'une manière facile à comprendre pour les débutants-
[Explication pour les débutants] Tutoriel TensorFlow Deep MNIST
Introduction à la base de données Graph Neo4j en Python pour les débutants (pour Mac OS X)
[Explication pour les débutants] Syntaxe et concept de base de TensorFlow
Une introduction à la programmation orientée objet pour les débutants par les débutants
[Introduction à TensorBoard] Visualisez le traitement TensorFlow pour approfondir la compréhension
Essayez de calculer RPN avec Python (pour les débutants)
Introduction à la programmation (Python) TA Tendency pour les débutants
[Introduction pour les débutants] Manipuler MySQL avec Python
[Pour les débutants] Comment utiliser la commande say avec python!
[Introduction à TensorBoard: image] TensorFlow Visualisez le traitement d'image pour approfondir la compréhension
opencv-python Introduction au traitement d'image
Méthode d'apprentissage TensorFlow pour les professionnels des arts libéraux et les débutants en Python
Pour les débutants, comment gérer les erreurs courantes dans les keras
[Python] Introduction à la création de graphiques à l'aide de données de virus corona [Pour les débutants]
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
Introduction à Python pour, pendant
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (5) [Introduction au fonctionnement de la base de données avec le shell Django]
[Pour les débutants] Comment implémenter l'exemple de code O'reilly dans Google Colab
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Principes de base de Pandas pour les débutants ① Lecture et traitement
Traduction TensorFlow MNIST pour les débutants en ML
Principes de base de Pandas pour les débutants ⑧ Traitement des chiffres
Tutoriel TensorFlow MNIST pour les débutants en ML
Exécutez unittest en Python (pour les débutants)
Comment exécuter du code TensorFlow 1.0 en 2.0
Premiers pas avec Python pour les non-ingénieurs
Tutoriel TensorFlow -MNIST pour les débutants en ML
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (4) [Route setting / Introduction to MTV design patterns]
Explication d'approche pour que les débutants soient dans le top 1,5% (0,83732) dans Kaggle Titanic_3
[Pour les débutants] Super introduction aux réseaux de neurones que même les chats peuvent comprendre
Explication d'approche pour que les débutants soient dans le top 1,5% (0,83732) dans Kaggle Titanic_1
[Introduction à Python] Une explication approfondie des types de chaînes de caractères utilisés dans Python!
Explication d'approche pour que les débutants soient dans le top 1,5% (0,83732) dans Kaggle Titanic_2
[Introduction à Python] Comment utiliser la classe en Python?
Introduction au Deep Learning ~ Pliage et mise en commun ~
Une introduction à OpenCV pour l'apprentissage automatique
Probablement l'introduction la plus simple à TensorFlow
Implémentation et description à l'aide de XGBoost pour les débutants
Introduction à discord.py (1er jour) -Préparation pour discord.py-
Notes supplémentaires pour TensorFlow MNIST pour les débutants en ML
Une introduction à Python pour l'apprentissage automatique
Introduction à TensorFlow - Explication des termes et concepts d'apprentissage automatique
Traitement des mémos souvent utilisés dans les pandas (débutants)
Introduction à docker Création d'un environnement ubuntu dans ubuntu
Introduction aux vecteurs: Algèbre linéaire en Python <1>
Implémentation de DQN avec TensorFlow (je voulais ...)
Introduction à la vérification de l'efficacité Chapitre 1 écrit en Python
Une introduction à Python pour les programmeurs en langage C
Analyse des données en Python Résumé des sources que les débutants devraient d'abord consulter