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.
Antworten:
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:
quelle
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(yi−a¯−b¯xi)2 ∂TTS∂a¯=0
Später erfahren Sie, dass dies mit der Vektor- (Matrix-) Notation einfacher möglich ist:y=Xb+e
und das TTS wird:TTS=(y−Xb¯)′(y−Xb¯)
Die FOCs sind:2X′(y−Xb¯)=0
Und die Lösung istb¯=(X′X)−1X′y
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=p⋅dS F p dS
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=P⋅dS F dS P
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 .C0 C1 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.d1 d2 x1 d1 x2 d2 d1 y1=2x1−x2 d2 y2=−0.5x1+2x2 x1=x2=1
Wir können diese Beziehung in Form einer Matrix ausdrücken :P
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.d1 d2 z1 z2
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=2 x1=1 x2=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?P P
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¯2 di i d¯′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¯2 yi i
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=∑ijp′ijd¯′id¯′j PA d¯′=Ad¯
Wir können die Formeln für die Tensortransformation erarbeiten und sie ergeben dasselbe Ergebnis wie in den Beispielen mit und .x1=x2=1 z1=0.71,z2=0
quelle
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 wirpay both 0.71 dollars
. Wenn Sie also 1,42 für das erste Bundle ausgeben, erhalten Sie jeweils 0,71 und nicht 1, nein?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 ,
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.1000 640×480 n×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 .V V⊗…⊗V∗ p×p p×p×p p V
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×3 4×4 4×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 :V⊗W p V q W
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×p p V n×p X
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).X W⊗V W n V p X V W . Es scheint also nichts gewonnen zu haben, wenn man als Element von .X W⊗V
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).X∈Rn×p Rn×p n×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.
quelle
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.
quelle
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.
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 :i y
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.
quelle
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.
quelle
[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)":
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).
quelle
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.
quelle
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
quelle