[PYTHON] L'idée de Tensorflow a appris de la fabrication de pommes de terre

Aimez-vous les croustilles? Je t'aime. Je vis en Allemagne maintenant, mais je meurs d'envie de la saveur de paprika et la saveur de crème d'oignon. Parfois, je prends aussi Pringles.

Un jour, je me suis demandé: «Comment la pomme de terre est-elle fabriquée?». Ainsi, avec la combinaison la plus puissante de ** pomme de terre ** et de ** bière ** dans une seule main, THE MAKING (55) chips de pomme de terre peut être faite. Jusqu'à. Je pensais que de vagues pommes de terre peuvent être faites comme ça, mais du coup

** C'est la même idée que Tensorflow, n'est-ce pas? ?? ** **

J'ai remarqué.

Quand j'ai commencé à toucher Tensorflow moi-même, on m'a dit que "je ne peux pas calculer à moins de construire un réseau et ensuite de flux de données avec` tf.Session ()" ", mais je n'étais pas habitué à l'idée d'un réseau. C'était donc difficile à comprendre.

J'essayais donc de le comprendre en le remplaçant par un autre. A titre d'exemple, la production de pommes de terre m'a aidé à comprendre.

Par conséquent, nous vous recommandons de lire les articles suivants après avoir visionné la vidéo ci-dessus ~~ avec des pommes de terre et de la bière dans une main ~~.

commentaire

«Ceci est juste un résumé de la façon dont je l'ai compris, donc certaines personnes peuvent dire:" Vous devriez le comprendre à partir des mathématiques à partir d'un réseau de neurones! ", Mais la première compréhension intuitive Veuillez noter que nous fournirons un tel exemple au stade de. (Je vais juste faire une excuse que c'est un mémo pour moi-même `` Je pense que penser séparément au réseau et aux données n'est pas seulement pour Tensorflow, mais pour la compréhension commune de l'apprentissage profond dans son ensemble, mais pour le moment, considérons Tensorflow comme un exemple.

* Pensez au réseau et aux données séparément *

Tout d'abord, une caractéristique majeure de Tensorflow est que les calculs ne sont pas exécutés simplement en formant un réseau.


import tensorflow as tf

###réseau
a = tf.constant(1)
b = tf.constant(1)
add_op = tf.add(a, b) #Ajouter

###production
print(add_op)
Tensor("Add:0", shape=(), dtype=int32)

Alors, comment comprenez-vous cela? Ceux qui sont habitués à l'apprentissage automatique dans une certaine mesure savent que «le réseau et les données sont séparés, et la précision change en fonction de la façon dont le réseau est construit, et la précision change également en fonction de la quantité (ou de la qualité) des données».

Mais généralement, lorsque vous calculez, vous pensez à l'opération sur les données elles-mêmes. Par exemple, lors du calcul de 1 + 1, ajoutez les données 1 et les données 1. Cela nous donne une donnée de 2. C'est 1 + 1 = 2. Cependant, en machine learning et en deep learning, nous pensons au calcul de ● + △ et prenons la procédure de mise des données en ● et △ et en obtenant le résultat. Autrement dit, il est mis en œuvre comme suit:


import tensorflow as tf

###réseau
a = tf.placeholder(tf.float32) # ●
b = tf.placeholder(tf.float32) # △
a_add_b = tf.add(a, b)         # ● + △

with tf.Session() as sess:
    a_, b_, a_add_b_ = sess.run([a, b, a_add_b], feed_dict={a: 1, b: 1})
    
    ###production
    print("%i + %i = %i" % (a_, b_, a_add_b_))
1 + 1 = 2

Voyons comment comprendre cela depuis le site de fabrication de pommes de terre.

Usine de chips de pommes de terre

-Les pommes de terre sont en stock

=> Afin de réaliser ces séries d'opérations, il faut d'abord préparer les machines nécessaires à chaque processus. (Machine à éplucher, séparer l'homme, trancher, etc.) Après cela, disposez-les dans l'ordre souhaité. (** Construction du réseau **)

Bien entendu, les machines nécessaires à chaque processus pourraient être utilisées pour d'autres légumes. Le processus de lavage pourrait être utilisé pour les chips de légumes en général, et le processus de broyage pourrait être utilisé pour plus (comme le processus de fabrication de jus de légumes?). Par conséquent, on ne peut pas dire que la machine dans ce processus a une correspondance biunivoque avec l'objet à piloter (dans ce cas, la pomme de terre). Inversement, la machine peut être utilisée pour faire couler d'autres choses. (** Indépendance sur les données du réseau **)

Tensorflow fait de même. Cependant, Tensorflow dispose des machines nécessaires pour chaque processus (** API **), nous déciderons donc comment les combiner et quoi mettre dans le processus (pomme de terre?). Je dois décider. Par conséquent, dans Tensorflow, le montant à transférer est appelé ** Tensor **. Après cela, il est nécessaire de réellement faire circuler l'objet. (Sinon, vous ne pouvez pas manger de chips (rires). Quand vous y jouez, allumez l'appareil avec tf.Session () et démarrez la production (rires)

** Attention ** «Indépendance» ici ne signifie pas «il existe un réseau qui donne les meilleurs résultats avec toutes les données car le réseau ne dépend pas des données», mais «le contenu des données ( Si le texte, l'image, etc.) et la forme d'entrée / sortie correspondent, le calcul peut être effectué en utilisant le même réseau.

En pensant de cette façon, les données que vous mettez dans tf.placeholder ressemblent-elles progressivement à une pomme de terre? Voulez-vous manger des pommes de terre avec sess.run ()?

C'est un mauvais exemple, mais je serais très honoré si cela pouvait être utile pour une compréhension intuitive.

Les références

LA FABRICATION (55) Jusqu'à ce que les croustilles soient faites

Recommended Posts

L'idée de Tensorflow a appris de la fabrication de pommes de terre
Comment calculer la quantité de calcul appris de ABC134-D
Existence du point de vue de Python
Bonne gestion des exceptions tirée du programme de surveillance automatique de la monnaie virtuelle
Notes d'apprentissage depuis le début de Python 1
Omettre la nomenclature depuis le début de la chaîne
Notes d'apprentissage depuis le début de Python 2
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
Visualisation de l'état de tir de la couche cachée du modèle appris dans le tutoriel TensorFlow MNIST
Récupérer le contenu de git diff depuis python
L'inexactitude de Tensorflow était due à log (0)
Modifiez le point décimal de la journalisation de, à.
Apprendre de ABC163C Les bases de l'amélioration de la quantité de calcul
Trouver le début de l'avenomics à partir du grossissement NT 2
Vue d'ensemble des techniques d'apprentissage automatique apprises grâce à scikit-learn
Extrait uniquement complet du résultat de Trinity
Trouver le début de l'avenomics à partir du grossissement NT 1
De l'introduction de pyethapp à l'exécution du contrat
Transition du baseball vue à partir des données
Histoire de passer de Pipenv à la poésie
Résumé du début au chapitre 1 de l'introduction aux modèles de conception appris en langage Java