Tensoren in der Literatur zu neuronalen Netzen: Was ist die einfachste Definition da draußen?

16

In der Literatur zu neuronalen Netzen stoßen wir häufig auf das Wort "Tensor".

Unterscheidet es sich von einem Vektor? Und aus einer Matrix? Haben Sie ein konkretes Beispiel, das die Definition verdeutlicht?

Ich bin ein bisschen verwirrt über die Definition. Wikipedia hilft nicht und manchmal habe ich den Eindruck, dass seine Definition von der verwendeten spezifischen maschinellen Lernumgebung abhängt (TensorFlow, Caffee, Theano).

user_1177868
quelle
1
+1. Sehr ähnlich : stats.stackexchange.com/a/198395/28666 .
Amöbe sagt Reinstate Monica

Antworten:

11

Für die Zwecke der Datenanalyse können Sie sie effektiv als Arrays betrachten, möglicherweise mehrdimensional. Sie umfassen daher Skalare, Vektoren, Matrizen und alle Arrays höherer Ordnung.

Die genaue mathematische Definition ist komplizierter. Grundsätzlich besteht die Idee darin, dass Tensoren multilineare Funktionen in lineare Funktionen umwandeln. Siehe (1) oder (2) . (Multilineare Funktionen sind Funktionen, die in jeder ihrer Komponenten linear sind. Ein Beispiel ist die Determinante, die als Funktion von Spaltenvektoren betrachtet wird.)

Eine Konsequenz dieser mathematischen Eigenschaft, die Tensoren definiert, ist, dass Tensoren sich in Bezug auf Jakobianer, die Transformationen von einem Koordinatensystem in ein anderes codieren, gut transformieren. In der Physik sieht man die Definition von Tensor deshalb häufig als "ein Objekt, das sich unter Koordinatenänderungen in gewisser Weise transformiert". Sehen Sie sich zum Beispiel dieses oder dieses Video an .

Wenn es sich um ausreichend "schöne" Objekte handelt (alle Ableitungen, die wir existieren möchten und die genau definiert sind), sind alle diese Denkweisen über Tensoren im Wesentlichen gleichwertig. Beachten Sie, dass bei der ersten Betrachtung von Tensoren (mehrdimensionale Arrays) die Unterscheidung zwischen kovarianten und kontravarianten Tensoren ignoriert wird. (Der Unterschied besteht darin, wie sich ihre Koeffizienten bei einer Änderung der Basis des zugrunde liegenden Vektorraums ändern, dh im Wesentlichen zwischen Zeilen- und Spaltenvektoren.) Siehe diese anderen StackExchange-Fragen: (1) (2) (3) (4)

Für ein Buch, das von Forschern verwendet wird, die Anwendungen von Tensoren auf neuronale Netze untersuchen (zum Beispiel bei Technion in Israel), gibt es Wolfgang Hackbuschs Tensor Spaces und Numerical Calculus . Ich habe es selbst noch nicht gelesen, obwohl einige der späteren Kapitel fortgeschrittene Mathematik zu verwenden scheinen.

Chill2Macht
quelle
3
+1. Sehr ähnlich : stats.stackexchange.com/a/198395/28666 . Es scheint mir, dass Tensoren beim maschinellen Lernen einfach Arrays sind und nicht mehr. Tensoren werden in der Mathematik unterschiedlich verstanden; und gewöhnlich wird das Wort "Tensor" enger verwendet als ein "Element eines Tensorprodukts". Siehe verknüpfte Antwort.
Amöbe sagt Reinstate Monica