[PYTHON] Wo beim tiefen Lernen das Matrixprodukt / Innenprodukt verwendet wird

Über Matrixprodukt / Innenprodukt

Als ich Mathematik studierte, kam das Wort "inneres Produkt" auf. Ich habe untersucht, wie dieses "innere Produkt" in einem neuronalen Netzwerk verwendet wird. Das innere Produkt ist das Produkt für den Vektor, aber das Matrixprodukt ist das Produkt für die Matrix. Das innere Produkt scheint "Punktprodukt" genannt zu werden.

Was ist inneres Produkt?

Was ist ein Matrixprodukt?

Beispiel

Betrachten Sie das folgende zweischichtige neuronale Netzwerk.

Unknown-2.tiff

Matrix Produktformel

Wenn Sie die Ausgabe des obigen neutralen Netzwerks durch die Gleichung des Matrixprodukts ersetzen, sieht dies folgendermaßen aus.

\begin{bmatrix}
w_{11} & w_{12} & w_{13}\\
w_{21} & w_{22} & w_{23}
\end{bmatrix}

\cdot 

\begin{bmatrix}
x_{1} \\
x_{2} \\
x_{3} \\
\end{bmatrix}

Manuelle Berechnung

Wenden Sie die Zahlen speziell an

\begin{bmatrix}
1 & 2 & 3\\
4 & 5 & 6
\end{bmatrix}

\cdot 

\begin{bmatrix}
1 \\
2 \\
3 \\
\end{bmatrix}

Wenn Sie von Hand rechnen

\begin{bmatrix}
1 \times 1 + 2 \times 2 + 3 \times 3  \\
4 \times 1 + 5 \times 2 + 6 \times 3  \\
\end{bmatrix}

=

\begin{bmatrix}
14  \\
32  \\
\end{bmatrix}
 

In Numpy

import numpy as np
w = np.array([[1,2,3],[4,5,6]])
x = np.array([[1],[2],[3]])

w.dot(x) #=> array([[14],[32]])

w.dot (x) repräsentiert das Matrixprodukt von w und x. Übrigens wird der Methodenname von "dot product" in "dot" geändert.

In Tensorflow

import tensorflow as tf
w = tf.get_variable("weight" , initializer=tf.constant(np.array([[1,2,3],[4,5,6]]).astype("int32")))
x = tf.get_variable("x" , initializer=tf.constant(np.array([[1],[2],[3]]).astype("int32")))

Sitzungsinitialisierung

init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
sess.run(tf.matmul(w, x))  #=> array([[14],[32]])

tf.matmul (w, x) repräsentiert das Matrixprodukt von w und x. Übrigens ist der Methodenname "matmul" aus "Matrixmultiplikation".

Recommended Posts

Wo beim tiefen Lernen das Matrixprodukt / Innenprodukt verwendet wird
Ich habe den Deep Learning Library Chainer installiert und verwendet
Wird in EDA für maschinelles Lernen verwendet
Die Matrix und die Matte von numpy sind unterschiedlich
Klassifikation und Regression beim maschinellen Lernen
Organisation von Plattformen für maschinelles Lernen und tiefes Lernen
Deep Learning / Backpropagation von Matrixproduktfehlern
Diagramm der Geschichte der Anzahl der Ebenen des tiefen Lernens und der Änderung der Genauigkeit
Fügen Sie Ihre eigenen Bilddaten in Deep Learning ein und spielen Sie damit
Deep Learning von Grund auf neu - Kapitel 4 Tipps für die in Python erlernte Theorie und Implementierung von Deep Learning
Module und Pakete in Python sind "Namespaces"
Einführung in Deep Learning ~ Falten und Pooling ~
Bedeutung von Deep-Learning-Modellen und -Parametern
[Python] Techniken, die häufig beim maschinellen Lernen verwendet werden
Bilderkennungsmodell mit Deep Learning im Jahr 2016
Suchen und überprüfen Sie die inverse Matrix in Python
"Deep Learning von Grund auf neu" mit Haskell (unvollendet)
Ich möchte visualisieren, wo und wie viele Leute in der Fabrik sind
Liste der wichtigsten Wahrscheinlichkeitsverteilungen, die beim maschinellen Lernen und in der Statistik verwendet werden, sowie Code in Python