[PYTHON] Tensorflows Denkweise lernte aus der Kartoffelherstellung

Magst du Kartoffelchips? Ich liebe dich. Ich lebe jetzt in Deutschland, aber ich sterbe für den Paprikageschmack und den Sahnezwiebelgeschmack. Manchmal nehme ich auch Pringles mit.

Eines Tages fragte ich mich: "Wie wird Kartoffel hergestellt?". Mit der stärksten Kombination von ** Kartoffel ** und ** Bier ** in einer Hand können THE MAKING (55) Kartoffelchips hergestellt werden. Bis zu. Ich dachte, dass vage Kartoffeln so gemacht werden können, aber plötzlich

** Dies ist die gleiche Idee wie Tensorflow, nicht wahr? ?? ** ** **

Mir ist aufgefallen.

Als ich anfing, Tensorflow selbst zu berühren, wurde mir gesagt: "Ich kann nur rechnen, wenn ich ein Netzwerk aufbaue und dann Daten mit" tf.Session () "sende, aber ich war nicht an die Idee eines Netzwerks gewöhnt. Es war also schwer zu verstehen.

Also habe ich versucht, es zu verstehen, indem ich es durch ein anderes ersetzt habe. Zum Beispiel half mir die Herstellung von Kartoffeln zu verstehen.

Daher empfehlen wir Ihnen, die folgenden Artikel zu lesen, nachdem Sie das obige Video ~~ mit Kartoffeln und Bier in einer Hand ~~ angesehen haben.

Kommentar

――Dies ist nur eine Zusammenfassung meines Verständnisses, daher sagen einige Leute vielleicht: "Sie sollten es aus der Mathematik eines neuronalen Netzwerks verstehen!", Aber das erste intuitive Verständnis Bitte beachten Sie, dass wir ein solches Beispiel in der Phase von bereitstellen werden. (Ich entschuldige mich nur dafür, dass es ein Memo für mich ist ** (Schweiß) ――Ich denke, dass das getrennte Denken über Netzwerk und Daten nicht nur für Tensorflow gilt, sondern für das gemeinsame Verständnis von Deep Learning als Ganzes. Betrachten wir vorerst Tensorflow als Beispiel.

* Denken Sie Netzwerk und Daten getrennt *

Ein wesentliches Merkmal von Tensorflow ist zunächst, dass Berechnungen nicht nur durch Bildung eines Netzwerks ausgeführt werden.


import tensorflow as tf

###Netzwerk
a = tf.constant(1)
b = tf.constant(1)
add_op = tf.add(a, b) #Hinzufügen

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

Wie verstehst du das? Diejenigen, die an maschinelles Lernen gewöhnt sind, wissen bis zu einem gewissen Grad, dass "das Netzwerk und die Daten getrennt sind und sich die Genauigkeit abhängig von der Art und Weise ändert, wie das Netzwerk aufgebaut ist, und dass sich die Genauigkeit auch abhängig von der Menge (oder Qualität) der Daten ändert."

Aber normalerweise denken Sie beim Berechnen über die Operation an den Daten selbst nach. Fügen Sie beispielsweise bei der Berechnung von 1 + 1 die Daten 1 und die Daten 1 hinzu. Das gibt uns Daten von 2. Dies ist 1 + 1 = 2. Beim maschinellen Lernen und beim tiefen Lernen müssen Sie jedoch über die Berechnung von ● + △ nachdenken und Daten in ● und △ eingeben, um das Ergebnis zu erhalten. Das heißt, es wird wie folgt implementiert:


import tensorflow as tf

###Netzwerk
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})
    
    ###Ausgabe
    print("%i + %i = %i" % (a_, b_, a_add_b_))
1 + 1 = 2

Mal sehen, wie man das von der Kartoffelherstellungsstelle aus versteht.

Kartoffelchip-Fabrik

-Die Kartoffeln sind auf Lager

=> Um diese Reihe von Vorgängen ausführen zu können, müssen zunächst die erforderlichen Maschinen für jeden Prozess vorbereitet werden. (Schälmaschine, Trennmaschine, Schneidemaschine usw.) Danach in der gewünschten Reihenfolge anordnen. (** Netzwerkaufbau **)

Natürlich könnten die für jeden Prozess erforderlichen Maschinen für anderes Gemüse verwendet werden. Das Waschverfahren könnte im Allgemeinen für Gemüsechips verwendet werden, und das Zerkleinerungsverfahren könnte für mehr verwendet werden (wie das Verfahren zur Herstellung von Gemüsesaft?). Daher kann nicht gesagt werden, dass die Maschine in diesem Prozess eine Eins-zu-Eins-Entsprechung mit dem zu fliegenden Objekt (in diesem Fall der Kartoffel) hat. Umgekehrt kann die Maschine verwendet werden, wenn andere Dinge geflogen werden. (** Unabhängigkeit von Netzwerkdaten **)

Tensorflow macht dasselbe. Tensorflow verfügt jedoch über die erforderlichen Maschinen für jeden Prozess (** API **), sodass wir entscheiden, wie diese kombiniert und in den Prozess eingefügt werden sollen (Kartoffel?). Ich muss mich entscheiden. Daher wird in Tensorflow die zu fließende Menge als ** Tensor ** bezeichnet. Danach muss das Objekt tatsächlich fließen. (Andernfalls können Sie keine Kartoffelchips essen (lacht). Wenn Sie es spielen, schalten Sie den Strom mit "tf.Session ()" ein und starten Sie die Produktion (lacht).

** Achtung ** "Unabhängigkeit" bedeutet hier nicht "es gibt ein Netzwerk, das mit allen Daten die besten Ergebnisse liefert, da das Netzwerk nicht von den Daten abhängt", sondern "den Inhalt der Daten ( Wenn Text, Bild usw.) und die Eingabe- / Ausgabeform übereinstimmen, kann die Berechnung über dasselbe Netzwerk durchgeführt werden. “Dies bezieht sich auf die Möglichkeit (Fähigkeit).

Wenn Sie so denken, sehen die Daten, die Sie in "tf.placeholder" eingeben, allmählich wie eine Kartoffel aus? Möchten Sie Kartoffeln mit sess.run () essen?

Dies ist ein schlechtes Beispiel, aber ich würde mich sehr freuen, wenn es für ein intuitives Verständnis nützlich sein könnte.

Verweise

DIE HERSTELLUNG (55) Bis Kartoffelchips hergestellt sind

Recommended Posts

Tensorflows Denkweise lernte aus der Kartoffelherstellung
Berechnen des aus ABC134-D gelernten Rechenaufwands
Existenz aus Sicht von Python
Gute Ausnahmebehandlung aus dem automatischen Überwachungsprogramm für virtuelle Währungen
Notizen vom Anfang von Python 1 lernen
Lassen Sie die Stückliste am Anfang der Zeichenfolge weg
Notizen vom Anfang von Python 2 lernen
Deep Learning von Grund auf neu Die Theorie und Implementierung des mit Python erlernten Deep Learning Kapitel 3
Visualisierung des Zündzustands der verborgenen Schicht des Modells, die im TensorFlow MNIST-Lernprogramm gelernt wurde
Holen Sie sich den Inhalt von Git Diff aus Python
Die Ungenauigkeit von Tensorflow war auf log (0) zurückzuführen.
Ändern Sie den Dezimalpunkt der Protokollierung von, nach.
Lernen von ABC163C Die Grundlagen zur Verbesserung des Rechenaufwands
Finden des Beginns der Avenomics anhand der NT-Vergrößerung 2
Überblick über maschinelle Lerntechniken, die aus Scikit-Learn gelernt wurden
Auszug nur vollständig aus dem Ergebnis von Trinity
Finden des Beginns der Avenomics anhand der NT-Vergrößerung 1
Von der Einführung von Pyethapp bis zur Vertragsabwicklung
Übergang von Baseball aus Daten gesehen
Die Geschichte vom Umzug von Pipenv zur Poesie
Zusammenfassung von Anfang bis Kapitel 1 der Einführung in Entwurfsmuster, die in der Java-Sprache gelernt wurden