Von einer einzelnen Zahl über eine Folge von Zahlen bis hin zu einer Tabelle—wenn die Dimensionen weiter zunehmen, erhalten wir einen Tensor. Er ist der universellste Container zur Beschreibung von Daten in der KI-Welt.

Rang 0
SkalarEine einzelne Zahl
Rang 1
VektorEine Folge von Zahlen
Rang 2
MatrixEine Tabelle
Rang 3+
TensorEine Tabelle, um eine weitere Schicht gestapelt
1. Intuitive Einführung

1. Intuitive Einführung: Was genau ist ein Tensor?

Schauen wir uns zuerst keine Formeln an; schauen wir uns ein Foto an. Ein kleines Farbbild mit 3×3 Pixeln, jedes Pixel hat drei Helligkeitswerte: R, G, B. Um dieses Bild vollständig zu beschreiben, braucht man Koordinaten in drei Richtungen:Welche Zeile, welche Spalte und welcher Farbkanal。

Dies ist ein „Tensor dritter Ordnung“ – es ist kein mysteriöses neues Konzept, sondern einfach die Idee einer „Tabelle“, die um eine weitere Schicht entlang einer dritten Richtung erweitert wurde. Man kann ihn sich als „mehrere übereinander gestapelte Matrizen“ vorstellen.

Ein Satz zum Verständnis:Ein Skalar ist ein Punkt, ein Vektor ist eine Reihe von Punkten, eine Matrix ist eine Ebene, und ein Tensor ist die „Ebene“, die entlang weiterer Richtungen gestapelt ist. Der Rang ist „wie viele Koordinaten benötigt werden, um ein Element zu lokalisieren.“
2. Mathematische Definition

2. Mathematische Definition

2.1 Einheitliche Darstellung vom Skalar zum Tensor

Sie sind im Wesentlichen dasselbe: ein Objekt, dessen Werte durch mehrere Koordinaten indiziert werden, nur die Anzahl der Indizes unterscheidet sich.

NameRankWie viele Koordinaten werden benötigt, um ein Element zu lokalisierenNotation
Skalar00$s$
Vektor11: das $i$-te$v_i$
Matrix22: die $i$-te Zeile und $j$-te Spalte$M_{ij}$
Tensor$n$$n$ Koordinaten$T_{i_1 i_2 \dots i_n}$

2.2 Shape

Die „Shape“ eines Tensors beschreibt, wie viele Elemente er in jeder Richtung hat. Für das 3×3-RGB-Bild in dieser Vorlesung:

$$ \text{shape}(T) = (3,\ 3,\ 3) \quad \text{entspricht } (\text{Zeile}, \text{Spalte}, \text{Kanal}) $$

Die Gesamtzahl der Elemente in einem Tensor ist das Produkt aller Zahlen in seiner Shape:

$$ \text{Gesamtzahl der Elemente} = \prod_{k=1}^{n} d_k $$

Hier ist $d_k$ die Größe der $k$-ten Dimension. Im obigen Beispiel ist die Gesamtzahl der Elemente $3 \times 3 \times 3 = 27$.

2.3 Addition zweier Tensoren

Bei Tensoren mit derselben Form erfolgt die Addition, indem die Elemente an den entsprechenden Positionen addiert werden. Dies gilt durchgängig von Vektoren und Matrizen bis hin zu Tensoren höherer Ordnung:

$$ (A + B)_{i_1 i_2 \dots i_n} = A_{i_1 i_2 \dots i_n} + B_{i_1 i_2 \dots i_n} $$

3. Python in der Praxis

3. Python in der Praxis

Verwenden Sie NumPy, um das obige 3×3-RGB-Bildbeispiel durchzugehen und ein intuitives Gefühl für die beiden Konzepte „Rang“ und „Form“ zu bekommen.

3.1 Einen Tensor dritter Ordnung erstellen

import numpy as np

# 模拟一张 3x3 像素的彩色小图,最后一维是 RGB 三个通道
image_tensor = np.random.randint(0, 256, size=(3, 3, 3))

print("阶数 (ndim):", image_tensor.ndim)
print("形状 (shape):", image_tensor.shape)
print("元素总数 (size):", image_tensor.size)
Rang (ndim): 3 Form: (3, 3, 3) Gesamtzahl der Elemente (size): 27

3.2 Zugriff auf Werte über Koordinaten

# 取第 0 行、第 1 列、G 通道(索引 1)的像素值
pixel_g = image_tensor[0, 1, 1]
print("该位置 G 通道值:", pixel_g)

# 取第 0 行、第 1 列的完整 RGB 三个值(一个 1 阶张量,即向量)
pixel_rgb = image_tensor[0, 1, :]
print("该位置 RGB 向量:", pixel_rgb)
Der Wert des G-Kanals an dieser Position: 143 Der RGB-Vektor an dieser Position: [ 87 143 22]
Beachten Sie:Slicing verwenden[0, 1, :]Das aus einem Tensor dritter Ordnung erhaltene Ergebnis ist ein Tensor erster Ordnung (Vektor). Dies zeigt, dass „das Fixieren einiger Koordinaten in einem Tensor höherer Ordnung einen Tensor niedrigerer Ordnung ergibt“ — diese Regel wird später bei der Diskussion der Batch-Datenverarbeitung in neuronalen Netzen wiederholt verwendet werden.
4. 3D-Visualisierung

4. 3D-Visualisierung: „Sehen“ des Tensors

Im Folgenden verwenden wir Plotly, um diesen 3×3×3-Tensor als 27 Punkte im Raum zu zeichnen: Die drei Koordinatenachsen entsprechen jeweils „Zeile, Spalte, Kanal“, und die Farbintensität jedes Punktes repräsentiert die Größe des Werts an dieser Position. Ziehen Sie mit der Maus, um die Ansicht zu drehen.

Räumliche Verteilung des 3×3×3-Tensors · Hellere Farbe bedeutet einen größeren Wert

Beobachten Sie sorgfältig: Halten Sie die „Kanal“-Schicht fest, und Sie sehen eine 3×3-Ebene – das ist genau ein Tensor zweiter Ordnung (eine Matrix). Deshalb sagen wir auch: „Eine Matrix ist ein Spezialfall eines Tensors.“

5. Verbindung zur KI

5. Verbindung zur KI

Der Grund, warum Tensoren die zentrale Datenstruktur in Deep-Learning-Frameworks (PyTorch, TensorFlow) sind, ist, dass nahezu alle KI-Daten natürlich als Tensoren dargestellt werden können:

DatentypTypische FormBedeutung jeder Dimension
Wortvektoren eines Textabschnitts(Sequenzlänge, Wortvektor-Dimension)Welches Wort und welche Dimension des Wortvektors
Ein Farbbild(Höhe, Breite, Kanäle)Zeile, Spalte, RGB-Kanäle
Ein Batch von Farbbildern(Batch-Größe, Höhe, Breite, Kanäle)Welches Bild, plus die drei Dimensionen des Bildes selbst
Ein Videoclip(Anzahl der Frames, Höhe, Breite, Kanäle)Welcher Frame, plus die drei Dimensionen eines Einzelbildes

Es zeigt sich, dass „Batch-Größe“, der während des Trainings am häufigsten angepasste Parameter, im Wesentlichen eine zusätzliche Dimension zum Tensor hinzufügt. Sobald Sie Tensorrang und Tensorform verstehen, können Sie, sobald Sieshape mismatcheinen Fehler sehen, sofort erkennen, welche Dimension nicht übereinstimmt.

Mehr Inhalte:https://www.example.com/ai-math/ai-math-tutorial.html