Warum die plötzliche Faszination für Tensoren?

171

In letzter Zeit ist mir aufgefallen, dass viele Leute Tensoräquivalente vieler Methoden entwickeln (Tensorfaktorisierung, Tensorkerne, Tensoren für Themenmodellierung usw.). Ich frage mich, warum die Welt plötzlich von Tensoren fasziniert ist. Gibt es kürzlich erschienene Artikel / Standardergebnisse, die besonders überraschend sind und dies bewirkten? Ist es rechnerisch viel billiger als bisher vermutet?

Ich bin nicht glib, ich bin aufrichtig interessiert, und wenn es irgendwelche Hinweise zu Zeitungen darüber gibt, würde ich sie gerne lesen.

YS
quelle
25
Das einzige Merkmal, das "Big-Data-Tensoren" mit der üblichen mathematischen Definition gemeinsam haben, scheint zu sein, dass es sich um mehrdimensionale Arrays handelt. Ich würde also sagen, dass Big-Data-Tensoren eine marktfähige Art sind, "multidimensionales Array" zu sagen, da ich stark bezweifle, dass sich maschinell lernende Menschen entweder für die Symmetrien oder die Transformationsgesetze interessieren, die die üblichen Tensoren der Mathematik und Physik genießen, insbesondere für ihre Nützlichkeit bei der Bildung koordinatenfreier Gleichungen.
Alex R.
2
@AlexR. Ohne Invarianz zu Transformationen gibt es keine Tensoren
Aksakal
2
@Aksakal Die Verwendung von Tensoren in der Physik ist mir sicherlich einigermaßen vertraut. Mein Punkt wäre, dass die Symmetrien in Physiktensoren von der Symmetrie der Physik herrühren, nicht von etwas, was für die Definition des Tensors wesentlich ist.
Aginensky
3
@aginensky Wenn ein Tensor nichts anderes als ein mehrdimensionales Array wäre, warum klingen dann die Definitionen von Tensoren in Mathe-Lehrbüchern so kompliziert? Aus Wikipedia: "Die Zahlen im mehrdimensionalen Array sind als skalare Komponenten des Tensors bekannt ... So wie sich die Komponenten eines Vektors ändern, wenn wir die Basis des Vektorraums ändern, ändern sich auch die Komponenten eines Tensors unter einem solchen Transformation. Jeder Tensor ist mit einem Transformationsgesetz ausgestattet, das ausführlich beschreibt, wie die Komponenten des Tensors auf einen Basiswechsel reagieren. " In der Mathematik ist ein Tensor nicht nur ein Array.
LittleO
4
Nur ein paar allgemeine Gedanken zu dieser Diskussion: Ich denke, dass die tatsächliche Anwendung, wie bei Vektoren und Matrizen, oft zu einer stark vereinfachten Instanziierung einer viel umfassenderen Theorie wird. Ich lese diesen Artikel ausführlicher: epubs.siam.org/doi/abs/10.1137/07070111X?journalCode=siread und eine Sache, die mich wirklich beeindruckt, ist, dass die "repräsentativen" Werkzeuge für Matrizen (Eigenwert- und Singulärwertzerlegungen) haben interessante Verallgemeinerungen in höheren Ordnungen. Ich bin mir sicher, dass es noch viel mehr schöne Immobilien gibt, als nur einen schönen Container für mehr Indizes. :)
YS

Antworten:

89

Tensoren bieten häufig natürlichere Darstellungen von Daten, z. B. betrachten Sie ein Video, das aus offensichtlich korrelierten Bildern über die Zeit besteht. Sie können dies in eine Matrix umwandeln, aber es ist einfach nicht natürlich oder intuitiv (was bedeutet eine Faktorisierung einer Matrixdarstellung eines Videos?).

Tensoren sind aus mehreren Gründen im Trend:

  • Unser Verständnis der multilinearen Algebra verbessert sich schnell, insbesondere bei verschiedenen Arten von Faktorisierungen, was uns wiederum hilft, neue potenzielle Anwendungen zu identifizieren (z. B. Mehrwegkomponentenanalyse ).
  • Softwaretools (z. B. Tensorlab ) sind im Entstehen und werden begrüßt
  • Big Data-Anwendungen lassen sich häufig mit Tensoren, z. B. Empfehlungssystemen , lösen , und Big Data selbst ist heiß
  • Erhöhung der Rechenleistung, da einige Tensoroperationen sehr umfangreich sein können (dies ist auch einer der Hauptgründe, warum Deep Learning jetzt so beliebt ist)
Marc Claesen
quelle
9
Was die Rechenleistung angeht: Ich denke, das Wichtigste ist, dass die lineare Algebra auf GPUs sehr schnell sein kann. In letzter Zeit haben sie größere und schnellere Speicher, was die größte Einschränkung bei der Verarbeitung großer Datenmengen darstellt.
Davidmh
6
Marc Claesens Antwort ist gut. David Dunson, Distinguished Professor of Statistics bei Duke, war einer der wichtigsten Vertreter tensorbasierter Modellierungsansätze wie in dieser Präsentation, der Bayesian Tensor Regression . icerm.brown.edu/materials/Slides/sp-f12-w1/…
Mike Hunter
Wie von David erwähnt, eignen sich Tensor-Algorithmen oft gut für Parallelität, bei der die Hardware (z. B. GPU-Beschleuniger) immer besser wird.
Thomas Russell
1
Ich nahm an, dass die besseren Speicher- / CPU-Fähigkeiten eine Rolle spielen, aber der jüngste Aufmerksamkeitsschub war interessant. Ich denke, es muss an vielen überraschenden Erfolgen mit Empfehlungssystemen in letzter Zeit liegen, und vielleicht auch an Kerneln für SVMs usw. Danke für die Links! großartige Orte, um etwas über dieses Zeug zu lernen ...
YS
5
Wenn Sie ein Video als mehrdimensionales Array speichern, kann ich nicht erkennen, wie dieses mehrdimensionale Array die Invarianzeigenschaften aufweist, die ein Tensor haben soll. In diesem Beispiel scheint das Wort "Tensor" nicht angemessen zu sein.
LittleO
73

Ich denke, Ihre Frage sollte mit einer Antwort abgeglichen werden, die ebenso frei fließend und aufgeschlossen ist wie die Frage selbst. Hier sind also meine beiden Analogien.

Erstens, wenn Sie kein reiner Mathematiker sind, haben Sie wahrscheinlich zuerst univariate Wahrscheinlichkeiten und Statistiken gelernt. Zum Beispiel befand sich Ihr erstes OLS- Beispiel höchstwahrscheinlich in einem Modell wie dem folgenden: Höchstwahrscheinlich haben Sie die Schätzungen durch Minimieren der Summe der kleinsten Quadrate abgeleitet: Dann schreiben Sie die FOC s für Parameter und erhalten die Lösung:

yi=a+bxi+ei
TSS=i(yia¯b¯xi)2
TTSa¯=0

Später erfahren Sie, dass dies mit der Vektor- (Matrix-) Notation einfacher möglich ist:

y=Xb+e

und das TTS wird:

TTS=(yXb¯)(yXb¯)

Die FOCs sind:

2X(yXb¯)=0

Und die Lösung ist

b¯=(XX)1Xy

Wenn Sie sich mit linearer Algebra auskennen, bleiben Sie beim zweiten Ansatz, sobald Sie ihn gelernt haben, da es tatsächlich einfacher ist, alle Summen des ersten Ansatzes aufzuschreiben, insbesondere, wenn Sie sich erst einmal mit multivariaten Statistiken befassen.

Daher ist meine Analogie, dass das Verschieben von Tensoren von Matrizen ähnlich ist wie das Verschieben von Vektoren zu Matrizen: Wenn Sie Tensoren kennen, werden einige Dinge auf diese Weise einfacher aussehen.

Zweitens, woher kommen die Tensoren? Ich bin mir nicht sicher über die ganze Geschichte dieser Sache, aber ich habe sie in der theoretischen Mechanik gelernt. Natürlich hatten wir einen Kurs über Tensoren, aber ich verstand nicht, was mit all diesen ausgefallenen Möglichkeiten zu tun hatte, die Indizes in diesem Mathematikkurs zu tauschen. Im Kontext der Untersuchung von Spannungskräften begann alles Sinn zu machen.

In der Physik beginnen sie daher auch mit einem einfachen Beispiel für Druck, der als Kraft pro Flächeneinheit definiert ist, also: Dies bedeutet, dass Sie den Kraftvektor berechnen können, indem Sie den Druck (Skalar) mit der Flächeneinheit multiplizieren (normaler Vektor). Dann haben wir nur eine unendliche ebene Fläche. In diesem Fall gibt es nur eine senkrechte Kraft. Ein großer Ballon wäre ein gutes Beispiel.

F=pdS
FpdS

Wenn Sie jedoch die Spannung in Materialien untersuchen, haben Sie es mit allen möglichen Richtungen und Oberflächen zu tun. In diesem Fall haben Sie Kräfte auf eine bestimmte Oberfläche, die in alle Richtungen ziehen oder drücken, nicht nur in senkrechten Richtungen. Einige Oberflächen werden durch tangentiale Kräfte "seitwärts" usw. auseinandergerissen. Ihre Gleichung lautet also : Die Kraft ist immer noch ein Vektor und die Oberfläche wird immer noch durch ihren Normalenvektor , aber ist ein Tensor jetzt kein Skalar.

F=PdS
FdSP

Ok, ein Skalar und ein Vektor sind auch Tensoren :)

Ein weiterer Ort, an dem Tensoren auf natürliche Weise auftreten, sind Kovarianz- oder Korrelationsmatrizen. Stellen Sie sich vor: Wie transformiert man eine Korrelationsmatrix in eine andere ? Sie erkennen, dass wir es nicht einfach so machen können: wobei weil wir alle positiven behalten müssen .C0C1

Cθ(i,j)=C0(i,j)+θ(C1(i,j)C0(i,j)),
θ[0,1]Cθ

Wir müssten also den Pfad so finden, dass , wobei eine kleine Störung einer Matrix ist. Es gibt viele verschiedene Wege, und wir könnten nach den kürzesten suchen. So gelangen wir in die Riemannsche Geometrie, Mannigfaltigkeiten und ... Tensoren.δCθC1=C0+θδCθδCθ

UPDATE: Was ist eigentlich Tensor?

@amoeba und andere diskutierten lebhaft über die Bedeutung von Tensor und ob es dasselbe ist wie ein Array. Also dachte ich, ein Beispiel ist in Ordnung.

Angenommen, wir gehen zu einem Basar, um Lebensmittel zu kaufen, und es gibt zwei Händler-Typen, und . Wir bemerkt , dass , wenn wir zahlen Dollar und Dollar dann verkauft uns Pfund Äpfel und verkauft uns Orangen. Zum Beispiel, wenn wir beide 1 Dollar zahlen, dh , dann müssen wir 1 Pfund Äpfel und 1,5 Pfund Orangen bekommen.d1d2x1d1x2d2d1y1=2x1x2d2y2=0.5x1+2x2x1=x2=1

Wir können diese Beziehung in Form einer Matrix ausdrücken :P

 2   -1
-0.5  2 

Dann produzieren die Kaufleute so viele Äpfel und Orangen, wenn wir ihnen Dollar zahlen : x

y=Px

Dies funktioniert genauso wie eine Matrix durch Vektormultiplikation.

Angenommen, wir kaufen die Waren nicht separat bei diesen Händlern, sondern erklären, dass wir zwei Ausgabenbündel verwenden. Entweder zahlen wir beide 0,71 Dollar oder wir zahlen 0,71 Dollar und fordern 0,71 Dollar von zurück. Wie im ersten Fall gehen wir zu einem Basar und geben für Bundle 1 und für Bundle 2 aus.d1d2z1z2

Schauen wir uns also ein Beispiel an, in dem wir nur für Bundle 1 ausgeben . In diesem Fall erhält der erste Händler Dollar und der zweite Händler das gleiche . Daher müssen wir die gleichen Mengen an Produkten wie im obigen Beispiel erhalten, nicht wahr?z1=2x1=1x2=1

Vielleicht, vielleicht nicht. Sie haben festgestellt, dass die Matrix nicht diagonal ist. Dies zeigt, dass aus irgendeinem Grund die Höhe der Gebühren eines Händlers für seine Produkte auch davon abhängt, wie viel wir dem anderen Händler bezahlt haben. Sie müssen eine Vorstellung davon bekommen, wie viel sie bezahlen, vielleicht durch Gerüchte? In diesem Fall wissen sie, wenn wir anfangen, Bundles zu kaufen, genau, wie viel wir für sie bezahlen, da wir unsere Bundles beim Basar deklarieren. Woher wissen wir in diesem Fall, dass die Matrix gleich bleiben sollte?PP

Vielleicht würden sich bei vollständigen Informationen über unsere Zahlungen auf dem Markt auch die Preisformeln ändern! Dies wird unsere Matrix und es gibt keine Möglichkeit zu sagen, wie genau.P

Hier geben wir Tensoren ein. Im Wesentlichen sagen wir bei Tensoren, dass sich die Berechnungen nicht ändern, wenn wir anfangen, mit Bundles zu handeln, anstatt direkt mit jedem Händler. Das ist die Einschränkung, die Transformationsregeln auferlegt , die wir Tensor nennen.P

Insbesondere können wir feststellen, dass wir eine orthonormale Basis haben , wobei eine Zahlung von 1 Dollar an einen Händler und nichts an den anderen bedeutet. Wir können auch bemerken, dass die Bündel auch eine orthonormale Basis , die auch eine einfache Drehung der ersten Basis um 45 Grad gegen den Uhrzeigersinn ist. Es ist auch eine PC-Zerlegung der ersten Basis. Daher sagen wir, dass das Wechseln zu den Bündeln einfach eine Änderung der Koordinaten ist und die Berechnungen nicht ändern sollte. Beachten Sie, dass dies eine äußere Einschränkung ist, die wir dem Modell auferlegt haben. Es kam nicht aus reinen mathematischen Eigenschaften von Matrizen.d¯1,d¯2diid¯1,d¯2

Jetzt kann unser Einkauf als ein Vektor ausgedrückt werden . Die Vektoren sind übrigens auch Tensoren. Der Tensor ist interessant: Er kann als und die Lebensmittel als . Bei Lebensmitteln bedeutet das Pfund der Produkte des Händlers , nicht die gezahlten Dollars.x=x1d¯1+x2d¯2

P=ijpijd¯id¯j
y=y1d¯1+y2d¯2yii

Wenn wir nun die Koordinaten in Bündel ändern, bleibt die Tensorgleichung gleich:

y=Pz

Das ist schön, aber die Zahlungsvektoren haben jetzt eine andere Basis: , während wir die Erzeugnisvektoren in der alten Basis behalten können . Auch der Tensor ändert sich: . Es ist leicht abzuleiten, wie der Tensor transformiert werden muss, es wird , wobei die Rotationsmatrix als . In unserem Fall ist es der Koeffizient des Bündels.

z=z1d¯1+z2d¯2
y=y1d¯1+y2d¯2
P=ijpijd¯id¯j
PAd¯=Ad¯

Wir können die Formeln für die Tensortransformation erarbeiten und sie ergeben dasselbe Ergebnis wie in den Beispielen mit und .x1=x2=1z1=0.71,z2=0

Aksakal
quelle
2
Ich war hier verwirrt: So, let's look at an example where we spend just z1=1.42 on bundle 1. In this case, the first merchant gets x1=1 dollars, and the second merchant gets the same x2=1.Früher sagst du, das erste Bündel ist, dass wir pay both 0.71 dollars. Wenn Sie also 1,42 für das erste Bundle ausgeben, erhalten Sie jeweils 0,71 und nicht 1, nein?
Amöbe
@ameba, die Idee ist, dass ein Bundle 1 , also mit Bundle 1 erhalten Sie , dh 1 $ pro Stückd¯1/2+d¯2/22d¯1+d¯2
Aksakal
2
@Aksakal, ich weiß, dass diese Diskussion ziemlich alt ist, aber ich verstehe das auch nicht (obwohl ich es wirklich versucht habe). Woher kommt die Idee, dass ein Bundle 1 ? Könnten Sie näher darauf eingehen? Wie ist das, wenn du 1,42 für das Bündel bezahlst, bekommen beide Händler 1? d¯1/2+d¯2/2
Matek
@Aksakal Das ist großartig, danke! Ich denke, Sie haben einen Tippfehler in der allerletzten Zeile, in der Sie x1 = x2 = 1 (richtig) und z1 = 0,71, z2 = 0 sagen. Vorausgesetzt, ich habe alles richtig verstanden, sollte z1 1,42 (oder 1,41, was etwas näher ist) sein bis 2 ^ 0,5).
Mike Williamson
71

Dies ist keine Antwort auf Ihre Frage, sondern ein ausführlicher Kommentar zu dem Thema, das hier in Kommentaren von verschiedenen Personen angesprochen wurde, nämlich: Sind maschinelles Lernen "Tensoren" dasselbe wie Tensoren in der Mathematik?

Laut Cichoki 2014, Ära der Big Data-Verarbeitung: Ein neuer Ansatz über Tensornetzwerke und Tensor-Dekompositionen , und Cichoki et al. 2014, Tensor Decompositions for Signal Processing Applications ,

Ein Tensor höherer Ordnung kann als [...]

Ein Tensor kann als ein numerisches Array mit mehreren Indizes [...]

Tensoren (dh Mehrwege-Arrays) [...]

Sogenannte Tensoren im maschinellen Lernen

Beim maschinellen Lernen / bei der Datenverarbeitung scheint ein Tensor einfach als mehrdimensionales numerisches Array definiert zu sein. Ein Beispiel für einen solchen 3D-Tensor wären Videobilder mit einer Größe von . Eine übliche Datenmatrix ist ein Beispiel für einen 2D-Tensor gemäß dieser Definition.1000640×480n×p

So werden Tensoren in Mathematik und Physik nicht definiert!

Ein Tensor kann als ein mehrdimensionales Array definiert werden, das bei der Änderung der Koordinaten bestimmten Transformationsgesetzen folgt ( siehe Wikipedia oder den ersten Satz im MathWorld-Artikel ). Eine bessere, aber äquivalente Definition ( siehe Wikipedia ) besagt, dass ein Tensor im Vektorraum ein Element von . Es ist zu beachten, dass dies bedeutet, dass Tensoren, wenn sie als mehrdimensionale Arrays dargestellt werden, die Größe oder usw. haben, wobei die Dimensionalität von .VVVp×pp×p×ppV

Alle in der Physik bekannten Tensoren sind wie folgt : der Trägheitstensor in der Mechanik ist , der elektromagnetische Tensor in der speziellen Relativitätstheorie ist , der Riemannsche Krümmungstensor in der allgemeinen Relativitätstheorie ist . Krümmungs- und elektromagnetische Tensoren sind eigentlich Tensorfelder, die Abschnitte von Tensorbündeln sind (siehe z. B. hier, aber es wird technisch), aber das alles ist über einen Vektorraum .3×34×44×4×4×4 V

Natürlich kann man ein Tensorprodukt aus einem dimensionalen und einem dimensionalen konstruieren, aber seine Elemente werden normalerweise nicht "Tensoren" genannt, wie zB hier auf Wikipedia angegeben :VWpVqW

Im Prinzip könnte man einen "Tensor" einfach so definieren, dass er ein Element jedes Tensorprodukts ist. In der mathematischen Literatur wird jedoch normalerweise der Begriff Tensor für ein Element eines Tensorprodukts eines einzelnen Vektorraums und seines Dualen wie oben verwendet.V

Ein Beispiel für einen realen Tensor in der Statistik wäre eine Kovarianzmatrix. Es ist und transformiert sich in besonderer Weise, wenn das Koordinatensystem im dimensionalen Merkmalsraum geändert wird. Es ist ein Tensor. Eine Datenmatrix ist dies jedoch nicht.p×ppVn×pX

Aber können wir zumindest denken als ein Element der Tensorproduktes , wobei ist - dimensionale und ist - dimensionaler? Der Vollständigkeit halber lassen Sie Zeilen in Personen (Subjekte) und Spalten einigen Maßen (Merkmalen) entsprechen. Eine Änderung der Koordinaten in entspricht einer linearen Transformation von Merkmalen, und dies wird ständig in der Statistik durchgeführt (denken Sie an PCA). Aber eine Änderung der Koordinaten in scheint nichts Sinnvolles zu bedeuten (und ich fordere jeden, der ein Gegenbeispiel hat, auf, es mir in den Kommentaren mitzuteilen).XWVWnVpXVW. Es scheint also nichts gewonnen zu haben, wenn man als Element von .XWV

Und in der Tat ist die übliche Notation, zu schreiben , wobei eine Menge aller Matrizen ist (die es übrigens sind) definiert als rechteckige Anordnungen von Zahlen ohne angenommene Transformationseigenschaften).XRn×pRn×pn×p

Meine Schlussfolgerung lautet: (a) Tensoren für maschinelles Lernen sind keine Tensoren für Mathematik / Physik, und (b) es ist meistens auch nicht sinnvoll, sie als Elemente von Tensorprodukten zu betrachten.

Stattdessen handelt es sich um mehrdimensionale Verallgemeinerungen von Matrizen. Leider gibt es dafür keinen etablierten mathematischen Begriff, so dass es den Anschein hat, als ob diese neue Bedeutung von "Tensor" nun da ist, um zu bleiben.

Amöbe
quelle
19
Ich bin ein reiner Mathematiker, und das ist eine sehr gute Antwort. Insbesondere das Beispiel einer Kovarianzmatrix ist ein ausgezeichneter Weg, um die "Transformationseigenschaften" oder "Symmetrien" zu verstehen, die oben Verwirrung zu stiften schienen. Wenn Sie die Koordinaten in Ihrem dimensionalen Merkmalsraum ändern , wird die Kovarianzmatrix auf eine bestimmte und möglicherweise überraschende Weise transformiert . Wenn Sie die naivere Transformation für Ihre Kovarianzen durchführen würden, würden Sie falsche Ergebnisse erzielen. p
Tom Church
10
Vielen Dank, @Tom, ich freue mich, dass Sie sich bei CrossValidated registriert haben, um diesen Kommentar zu hinterlassen. Es ist lange her, dass ich Differentialgeometrie studiert habe, und ich freue mich, wenn jemand bestätigt, was ich geschrieben habe. Es ist schade, dass es in der Mathematik keinen etablierten Begriff für "mehrdimensionale Matrizen" gibt; es scheint, dass "Tensor" in der maschinellen Lerngemeinschaft als ein Begriff dafür bleiben wird. Wie sollte man es wohl eher nennen? Das Beste, was mir in den Sinn kommt, sind Matrizen (zB Matrix, um auf ein Videoobjekt zu verweisen), etwas analog zu Kategorien. 3 nn3n
Amöbe
4
@amoeba, beim Programmieren werden die mehrdimensionalen Matrizen normalerweise Arrays genannt , aber einige Sprachen wie MATLAB würden sie Matrizen nennen . In FORTRAN können die Arrays beispielsweise mehr als zwei Dimensionen haben. In Sprachen wie C / C ++ / Java sind die Arrays eindimensional, aber Sie können Arrays von Arrays haben, sodass sie auch wie mehrdimensionale Arrays funktionieren. MATLAB unterstützt 3 oder mehr dimensionale Arrays in der Syntax.
Aksakal
3
Das ist sehr interessant. Ich hoffe, Sie werden diesen Punkt betonen. Achten Sie jedoch darauf, eine Menge nicht mit einem von ihr bestimmten Vektorraum zu verwechseln, da die Unterscheidung in der Statistik wichtig ist. Insbesondere (um eines Ihrer Beispiele aufzugreifen), obwohl eine lineare Kombination von Personen bedeutungslos ist, ist eine lineare Kombination von reellen Funktionen für eine Gruppe von Personen sowohl bedeutungsvoll als auch wichtig. Dies ist beispielsweise der Schlüssel zur Lösung der linearen Regression.
Whuber
8
Per T. Kolda, B, Bada, "Tensor Decompositions and Applications", SIAM Review 2009, epubs.siam.org/doi/pdf/10.1137/07070111X 'Ein Tensor ist ein mehrdimensionales Array. Genauer gesagt ist ein Tensor N-Weg oder N-ter Ordnung ein Element des Tensorprodukts von N Vektorräumen, von denen jeder sein eigenes Koordinatensystem hat. Dieser Begriff von Tensoren ist nicht zu verwechseln mit Tensoren in Physik und Technik (wie Spannungstensoren), die in der Mathematik allgemein als Tensorfelder bezeichnet werden "
Mark L. Stone,
14

Als jemand, der neuronale Netze studiert und baut und diese Frage wiederholt gestellt hat, bin ich zu dem Schluss gekommen, dass wir nützliche Aspekte der Tensornotation ausleihen, einfach weil sie die Herleitung wesentlich erleichtern und unsere Verläufe in ihren ursprünglichen Formen halten. Die Tensorkettenregel ist eines der elegantesten Ableitungswerkzeuge, die ich je gesehen habe. Weitere Tensornotationen fördern rechentechnisch effiziente Vereinfachungen, die bei Verwendung allgemeiner erweiterter Versionen der Vektorrechnung einfach albtraumhaft sind.

Im Vektor / Matrix-Kalkül gibt es beispielsweise 4 Arten von Matrixprodukten (Hadamard, Kronecker, Ordinary und Elementwise), im Tensor-Kalkül gibt es jedoch nur eine Art der Multiplikation, die jedoch alle Matrixmultiplikationen und mehr abdeckt. Wenn Sie großzügig sein möchten, interpretieren Sie Tensor als mehrdimensionales Array, für das wir tensorbasierte Berechnungen verwenden möchten, um Ableitungen zu finden, und nicht als Tensoren .

Um ehrlich zu sein, nennen wir unsere mehrdimensionalen Arrays wahrscheinlich Tensoren, weil es den meisten Experten für maschinelles Lernen nicht so wichtig ist, sich an die Definitionen von Mathematik oder Physik auf hohem Niveau zu halten. In Wirklichkeit leihen wir uns nur gut entwickelte Einstein-Summationskonventionen und -kalküle aus, die normalerweise bei der Beschreibung von Tensoren verwendet werden und die nicht immer wieder auf Einstein-Summationskonventionen basieren. Vielleicht entwickeln wir eines Tages eine Reihe neuer Notationen und Konventionen, die nur das stehlen, was sie vom Tensor-Kalkül speziell für die Analyse neuronaler Netze benötigen, aber als junges Feld, das Zeit braucht.

James Ryland
quelle
Bitte registrieren Sie sich und / oder führen Sie Ihre Konten zusammen (Informationen dazu finden Sie im Abschnitt " Mein Konto " in unserer Hilfe ). Anschließend können Sie Ihre eigenen Antworten bearbeiten und kommentieren.
Gung
10

Jetzt stimme ich den meisten Inhalten der anderen Antworten tatsächlich zu. Aber ich werde in einem Punkt den Anwalt des Teufels spielen. Es wird wieder frei fließen, also entschuldigt ...

Google hat ein Programm namens Tensor Flow für Deep Learning angekündigt. Dies ließ mich fragen, was an tiefem Lernen so spannend war, da ich keine Verbindung zu den Definitionen herstellen konnte, die ich gesehen hatte.

Bildbeschreibung hier eingeben

Bei Deep Learning-Modellen geht es um die Transformation von Elementen von einem Raum in einen anderen. Wenn wir beispielsweise zwei Schichten eines Netzwerks betrachten, können Sie die Koordinate einer transformierten Variablen als nichtlineare Funktion der vorherigen Schicht unter Verwendung der Phantasiesummationsnotation schreiben :iy

yi=σ(βijxj)

Nun besteht die Idee darin, eine Reihe solcher Transformationen zu verketten, um eine nützliche Darstellung der ursprünglichen Koordinaten zu erhalten. So führt beispielsweise eine einfache logistische Regression nach der letzten Transformation eines Bildes zu einer ausgezeichneten Klassifizierungsgenauigkeit. Auf dem rohen Bild wäre dies definitiv nicht der Fall.

Nun, das, was aus den Augen verloren zu sein scheint, sind die Invarianzeigenschaften, die in einem richtigen Tensor gesucht werden. Insbesondere wenn die Dimensionen transformierter Variablen von Schicht zu Schicht unterschiedlich sein können. [ZB sind einige der Dinge, die ich auf Tensoren gesehen habe, für nicht-quadratische Jakobiner nicht sinnvoll - mir fehlen möglicherweise einige Methoden]

Was beibehalten wurde, ist der Begriff der Transformation von Variablen, und dass bestimmte Darstellungen eines Vektors für bestimmte Aufgaben nützlicher sein können als andere. Analog dazu, ob es sinnvoller ist, ein Problem in kartesischen oder polaren Koordinaten anzugehen.


BEARBEITEN als Antwort auf @Aksakal:

Der Vektor kann aufgrund der geänderten Anzahl von Koordinaten nicht perfekt beibehalten werden. In gewissem Sinne können jedoch zumindest die nützlichen Informationen während der Transformation erhalten bleiben. Zum Beispiel können wir mit PCA eine Koordinate ablegen, damit wir die Transformation nicht invertieren können, aber die Dimensionsreduzierung kann trotzdem nützlich sein. Wenn alle aufeinander folgenden Transformationen invertierbar wären, könnten Sie vom vorletzten Layer zum Eingaberaum zurückkehren. Momentan habe ich nur probabilistische Modelle gesehen, die dies durch Stichproben ermöglichen.

Vermutungen
quelle
1
Im Zusammenhang mit neuronalen Netzen war ich immer davon ausgegangen, dass Tensoren nur als mehrdimensionale Arrays fungieren. Können Sie erläutern, wie die Invarianzeigenschaften die Klassifizierung / Darstellung unterstützen?
YS
Vielleicht war ich oben nicht klar, aber es scheint mir - wenn die Interpretation korrekt ist -, dass das Ziel der invarianten Eigenschaften fallengelassen wurde. Was erhalten geblieben zu sein scheint, ist die Idee variabler Transformationen.
Vermutungen
@conjectures, wenn Sie einen Vektor haben in kartesischen Koordinaten, dann wandeln sie in Polarkoordinaten, bleibt der Vektor gleich, dh es immer noch an der gleichen Stelle in die gleiche Richtung zeigen. Wollen Sie damit sagen, dass beim maschinellen Lernen die Koordinatentransformation den Anfangsvektor ändert? r¯
Aksakal
Aber ist das nicht eine Eigenschaft der Transformation mehr als der Tensor? Zumindest bei linearen und elementweisen Typtransformationen, die in neuronalen Netzen populärer zu sein scheinen, sind sie bei Vektoren und Matrizen gleichermaßen vorhanden; Was sind die zusätzlichen Vorteile der Tensoren?
YS
1
@conjectures, PCA ist nur eine Rotation und Projektion. Es ist so, als würde man den N-dimensionalen Raum auf PC-Basis drehen und dann in den Unterraum projizieren. Tensoren werden in der Physik in ähnlichen Situationen eingesetzt, z. B. bei der Betrachtung von Kräften auf Oberflächen innerhalb von Körpern usw.
Aksakal
7

Hier ist ein leicht bearbeiteter (für den Kontext) Auszug aus der nicht-negativen Tensorfaktorisierung mit Anwendungen für Statistik und Computer Vision, A. Shashua und T. Hazan, der auf den Punkt bringt, warum zumindest einige Menschen von Tensoren fasziniert sind.

Jedes n-dimensionale Problem kann durch Verketten von Dimensionen in zweidimensionaler Form dargestellt werden. So ist beispielsweise das Problem, eine nicht negative Zerlegung eines Satzes von Bildern mit niedrigem Rang zu finden, eine 3-NTF (Non-Negative Tensor Factorization), wobei die Bilder die Schichten eines 3D-Würfels bilden, aber auch als dargestellt werden können ein NMF-Problem (Non-Negative Matrix Factorization) durch Vektorisieren der Bilder (Bilder, die Spalten einer Matrix bilden).

Es gibt zwei Gründe, warum eine Matrixdarstellung einer Sammlung von Bildern nicht angemessen wäre:

  1. Die räumliche Redundanz (Pixel, die nicht unbedingt benachbart sind und ähnliche Werte aufweisen) geht bei der Vektorisierung verloren, weshalb wir eine weniger effiziente Faktorisierung erwarten würden
  2. Eine NMF-Zerlegung ist daher nicht eindeutig, selbst wenn ein generatives Modell (von lokalen Teilen) existiert, würde sich die NMF nicht notwendigerweise in diese Richtung bewegen, was empirisch von Chu, M., Diele, F., Plemmons, R., bestätigt wurde. & Ragni, S. "Optimalität, Berechnung und Interpretation von nichtnegativen Matrix-Faktorisierungen", SIAM Journal on Matrix Analysis, 2004. Beispielsweise würden invariante Teile auf dem Bildsatz dazu neigen, in allen Faktoren Geister zu bilden und den Sparsity-Effekt zu kontaminieren. Ein NTF ist fast immer einzigartig, daher würden wir erwarten, dass sich das NTF-Schema in Richtung des generativen Modells bewegt und insbesondere nicht von invarianten Teilen beeinflusst wird.
Mark L. Stone
quelle
6

[BEARBEITEN] Habe gerade das Buch von Peter McCullagh, Tensor Methods in Statistics, entdeckt .

Tensoren zeigen interessante Eigenschaften bei der Identifizierung unbekannter Gemische in einem Signal (oder einem Bild), insbesondere um den Begriff der kanonischen polyadischen (CP) Tensor-Zerlegung, siehe zum Beispiel Tensoren: eine kurze Einführung , P. Comon, 2014. Das Gebiet ist bekannt unter dem Namen "Blind Source Separation (BSS)":

Tensorzerlegungen bilden den Kern vieler BSS-Algorithmen (Blind Source Separation), entweder explizit oder implizit. Insbesondere die Canonical Polyadic (CP) -Tensor-Zersetzung spielt eine zentrale Rolle bei der Identifizierung von unterbestimmten Gemischen. Trotz einiger Ähnlichkeiten unterscheiden sich CP und Singular Value Decomposition (SVD) erheblich. Im Allgemeinen weisen Tensoren und Matrizen unterschiedliche Eigenschaften auf, wie in dieser kurzen Einführung erläutert.

Einige Ergebnisse zur Eindeutigkeit von Tensoren dritter Ordnung wurden kürzlich abgeleitet: Zur Eindeutigkeit der kanonischen polyadischen Zersetzung von Tensoren dritter Ordnung ( Teil 1 , Teil 2 ) haben I. Domanov et al. , 2013.

Tensorzerlegungen sind keine Zufälle, die häufig mit spärlichen Zerlegungen verbunden sind, beispielsweise indem den Zerlegungsfaktoren (Orthogonalität, Vandermonde, Hankel) eine Struktur auferlegt wird, um sie mit ihrer Einzigartigkeit zu berücksichtigen.

Angesichts des zunehmenden Bedarfs an unvollständiger Datenanalyse und Bestimmung komplexer Messungen von Sensorarrays werden Tensoren zunehmend für die Vervollständigung von Matrizen, die Analyse latenter Variablen und die Trennung von Quellen verwendet.

Zusätzliche Anmerkung: Anscheinend ist die kanonische polyadische Zerlegung auch gleichbedeutend mit der Waring-Zerlegung eines homogenen Polynoms als Summe von Potenzen linearer Formen mit Anwendungen in der Systemidentifikation (blockstrukturierte, parallele Wiener-Hammerstein- oder nichtlineare Zustandsraummodelle).

Laurent Duval
quelle
3

Darf ich mein Buch respektvoll empfehlen: Kroonenberg, PM Applied Multiway Data Analysis und Smilde et al. Mehrwegeanalyse. Anwendungen in den chemischen Wissenschaften (beide Wiley). Interessant könnte auch mein Artikel sein: Kroonenberg, PM (2014). Geschichte der Mehrwege-Komponentenanalyse und der Dreiwege-Korrespondenzanalyse. In Blasius, J. und Greenacre, MJ (Hrsg.). Visualisierung und Verbalisierung von Daten (S. 77–94). New York: Chapman & Hall / CRC. ISBN 9781466589803.

Diese Referenzen beziehen sich eher auf Multway-Daten als auf Tensoren, beziehen sich jedoch auf dasselbe Forschungsgebiet.

PM Kroonenberg
quelle
-1

Es ist richtig, dass Menschen im maschinellen Lernen Tensoren nicht mit der gleichen Sorgfalt betrachten wie Mathematiker und Ärzte. Hier ist ein Artikel, der diese Diskrepanz klarstellen könnte: Comon P., "Tensors: eine kurze Einführung" IEEE Sig. Proc. Zeitschrift , 31. Mai 2014

Moun
quelle
5
Gehört die Unterscheidung zwischen einem Tensor in Mathematik / Physik und einem Tensor im maschinellen Lernen wirklich zur "Pflege"? Es scheint, dass maschinelles Lernen "Tensor" als Oberbegriff für Anordnungen von Zahlen (Skalar, Vektor, Matrix und Anordnungen mit 3 oder mehr Achsen, z. B. in TensorFlow) verwendet, während "Tensor" in einem mathematisch / physikalischen Kontext einen anderen Begriff hat Bedeutung. Zu vermuten, dass es sich bei der Frage um "Pflege" handelt, ist meines Erachtens eine Fehlcharakterisierung der Verwendung als "falsch" in der Fähigkeit zum maschinellen Lernen, obwohl der Kontext des maschinellen Lernens nicht die Absicht hat, die Verwendung von Mathematik / Physik genau zu wiederholen.
Sycorax