Zauważyłem ostatnio, że wiele osób opracowuje ekwiwalenty tensora wielu metod (faktoryzacja tensora, jądra tensora, tensory do modelowania tematów itp.) Zastanawiam się, dlaczego świat jest nagle zafascynowany tensorami? Czy pojawiły się ostatnio ostatnie artykuły / standardowe wyniki, które są szczególnie zaskakujące? Czy jest obliczeniowo dużo tańszy niż wcześniej podejrzewano?
Nie jestem glib, szczerze mnie to interesuje, a jeśli są jakieś wskazówki na ten temat, chciałbym je przeczytać.
Odpowiedzi:
Tensory często oferują bardziej naturalne odwzorowanie danych, np. Rozważ wideo, które składa się z oczywiście skorelowanych obrazów w czasie. Państwo może przekształcić matrycy, ale to nie jest naturalne lub intuicyjny (co robi faktoryzacji macierzy jakiejś reprezentacji wideo na myśli?).
Tensory są popularne z kilku powodów:
źródło
Myślę, że twojemu pytaniu powinna towarzyszyć odpowiedź równie płynna i otwarta, jak samo pytanie. Oto dwie moje analogie.
Po pierwsze, chyba że jesteś czystym matematykiem, prawdopodobnie najpierw nauczono cię prawdopodobieństw i statystyki jednowymiarowej. Na przykład najprawdopodobniej twój pierwszy przykład OLS był prawdopodobnie na modelu takim jak ten:rja= a + b xja+ eja
Najprawdopodobniej przeszedłeś przez oszacowanie poprzez faktyczne zminimalizowanie sumy najmniejszych kwadratów:
T.S.S.= ∑ja( yja- a¯- b¯xja)2)
Następnie piszesz FOCs dla parametrów i uzyskaj rozwiązanie:
∂T.T.S.∂za¯= 0
Później dowiesz się, że istnieje łatwiejszy sposób na zrobienie tego za pomocą notacji wektorowej (macierzowej):r= Xb + e
a TTS staje się:TTS=(y−Xb¯)′(y−Xb¯)
FOC to:2X′(y−Xb¯)=0
A rozwiązaniem jestb¯=(X′X)−1X′y
Jeśli jesteś dobry w algebrze liniowej, pozostaniesz przy drugim podejściu, gdy się go nauczysz, ponieważ w rzeczywistości jest to łatwiejsze niż zapisanie wszystkich sum w pierwszym podejściu, zwłaszcza po przejściu do statystyki wielowymiarowej.
Stąd moja analogia jest taka, że przejście do tensorów z macierzy jest podobne do przejścia z wektorów do macierzy: jeśli znasz tensory, niektóre rzeczy będą wyglądały łatwiej w ten sposób.
Po drugie, skąd pochodzą tensory? Nie jestem pewien całej historii tego, ale nauczyłem się ich w mechanice teoretycznej. Oczywiście mieliśmy kurs na tensorach, ale nie rozumiałem, na czym polegają te wszystkie fantazyjne sposoby zamiany indeksów na tym kursie matematyki. Wszystko zaczęło mieć sens w kontekście badania sił napięcia.
Tak więc w fizyce zaczynają od prostego przykładu ciśnienia zdefiniowanego jako siła na jednostkę powierzchni, stąd:F=p⋅dS
Oznacza to, że można obliczyć wektor siły F , mnożąc ciśnienie p (skalar) przez jednostkę powierzchni dS (wektor normalny). Wtedy mamy tylko jedną nieskończoną płaską powierzchnię. W tym przypadku jest tylko jedna siła prostopadła. Duży balon byłby dobrym przykładem.
Jeśli jednak studiujesz napięcie wewnątrz materiałów, masz do czynienia ze wszystkimi możliwymi kierunkami i powierzchniami. W tym przypadku siły na dowolnej powierzchni ciągną lub pchają we wszystkich kierunkach, nie tylko prostopadłych. Niektóre powierzchnie są odrywane przez siły styczne „na boki” itp. Zatem twoje równanie staje się:F=P⋅dS
Siła jest wektorem F a pole powierzchni jest nadal reprezentowane przez jego normalny wektor reS. , ale P. jest a tensor teraz, a nie skalar.
Ok, skalar i wektor to także tensory :)
Innym miejscem, w którym tensory pojawiają się naturalnie, są macierze kowariancji lub korelacji. Pomyśl o tym: jak przekształcić macierz korelacjido0 na inną do1 ? Zdajesz sobie sprawę, że nie możemy tego zrobić w następujący sposób: doθ( i , j ) = C0( i , j ) + θ ( C1( i , j ) - C0( i , j ) ) ,
gdzie θ ∈ [ 0 , 1 ] ponieważ musimy utrzymać wszystkiedoθ dodatnie w półokreśleniu.
Musielibyśmy więc znaleźć ścieżkęδdoθ taką, że do1= C0+ ∫θδdoθ , gdzie δdoθ jest małym zaburzeniem macierzy. Istnieje wiele różnych ścieżek i możemy szukać najkrótszych. W ten sposób wchodzimy w geometrię Riemanniana, rozmaitości i ... tensory.
AKTUALIZACJA: co to jest tensor?
@amoeba i inni rozpoczęli ożywioną dyskusję na temat znaczenia tensora i tego, czy jest to to samo, co tablica. Pomyślałem więc, że przykład jest w porządku.
Powiedzmy, że idziemy na bazar, żeby kupić artykuły spożywcze, a są tam dwaj kupcy,re1 i re2) . My zauważyliśmy , że jeśli płacimy x1 dolary re1 i x2) dolary do re2) następnie re1 sprzedaje nam r1= 2 x1- x2) funtów jabłek i re2) sprzedaje nam r2)= - 0,5 x1+ 2 x2) pomarańcze. Na przykład, jeśli zapłacimy zarówno 1 dolara, tj. x1= x2)= 1 , wówczas musimy dostać 1 funt jabłek i 1,5 pomarańczy.
Relację tę możemy wyrazić w postaci macierzyP. :
Następnie kupcy produkują tyle jabłek i pomarańczy, jeśli zapłacimy imx dolarów:
r= Px
Działa to dokładnie jak macierz przez mnożenie wektorowe.
Powiedzmy, że zamiast kupować towary od tych sprzedawców osobno, deklarujemy, że wykorzystujemy dwa pakiety wydatków. Albo zapłacić obie 0,71 dolarów, lub płacimyre1 0,71 dolarów i 0,71 dolarów żądać od re2) plecach. Podobnie jak w przypadku początkowym, idziemy na bazar i wydajemy z1 na pakiet pierwszy i z2) na pakiet 2.
Spójrzmy więc na przykład, w którym wydajemy tylkoz1= 2 na pakiet 1. W tym przypadku pierwszy kupiec dostaje x1= 1 dolar, a drugi kupiec dostaje ten sam x2)= 1 . Dlatego musimy uzyskać takie same ilości produktów jak w powyższym przykładzie, prawda?
Może, może nie. Zauważyłeś, że macierzP. nie jest przekątna. Wskazuje to, że z jakiegoś powodu, ile jeden kupiec pobiera za swoje produkty, zależy również od tego, ile zapłaciliśmy drugiemu kupcowi. Muszą dowiedzieć się, ile płacą, może przez pogłoski? W takim przypadku, jeśli zaczniemy kupować w pakietach, będą na pewno wiedzieć, ile płacimy za każdy z nich, ponieważ deklarujemy nasze pakiety na bazarze. W takim przypadku skąd wiemy, że macierz P. powinna pozostać niezmieniona?
Może przy pełnej informacji o naszych płatnościach na rynku formuły cenowe również by się zmieniły! Spowoduje to zmianę naszej macierzyP. i nie ma sposobu, aby powiedzieć, jak dokładnie.
Tutaj wchodzimy do tensorów. Zasadniczo w przypadku tensorów mówimy, że obliczenia nie zmieniają się, gdy zaczynamy handlować pakietami zamiast bezpośrednio z każdym sprzedawcą. Jest to ograniczenie, które nałoży reguły transformacji naP. , które nazwiemy tensorem.
W szczególności możemy zauważyć, że mamy podstawę ortonormalnąre¯1, d¯2) , gdzie reja oznacza wypłatę 1 dolara na rzecz handlowca ja nic na rzecz drugiego. Możemy również zauważyć, że pakiety tworzą również podstawę ortonormalną re¯′1, d¯′2) , który jest również prostym obrotem pierwszej podstawy o 45 stopni w kierunku przeciwnym do ruchu wskazówek zegara. Jest to również rozkład na PC na pierwszej podstawie. dlatego mówimy, że przejście na wiązki jest prostą zmianą współrzędnych i nie powinno zmieniać obliczeń. Zauważ, że jest to zewnętrzne ograniczenie, które nałożyliśmy na model. Nie pochodziło to od właściwości matematycznych macierzy.
Teraz nasze zakupy można wyrazić jako wektorx = x1re¯1+ x2)re¯2) . Wektory są również tensorami, btw. Tensor jest interesujący: może być reprezentowany jakoP.= ∑I jpI jre¯jare¯jot , a artykuły spożywcze jakor= y1re¯1+ y2)re¯2) . Z zakupamirja oznacza funt produktu od kupca ja , a nie zapłacone dolary.
Teraz, kiedy zmieniliśmy współrzędne na wiązki, równanie tensorowe pozostaje takie samo:r= Pz
To dobrze, ale wektory płatności mają teraz inną podstawę:z= z1re¯′1+ z2)re¯′2) , podczas gdy możemy zachować wektory produkcyjne na starej podstawie r= y1re¯1+ y2)re¯2) . Zmienia się również tensor: P.= ∑I jp′I jre¯′jare¯′jot . Łatwo jest ustalić, jak tensor musi zostać przekształcony, będzie to P.ZA , gdzie macierz obrotu jest zdefiniowana jako re¯′= A.d¯ . W naszym przypadku jest to współczynnik pakietu.
Możemy opracować formuły transformacji tensorowej, które dadzą taki sam wynik jak w przykładach zx1= x2)= 1 i z1= 0,71 , z2)= 0 .
źródło
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.
wcześniej mówisz, że pierwszy pakiet to mypay both 0.71 dollars
. Tak więc wydanie 1,42 na pierwszy pakiet powinno dostać 0,71, a nie 1, nie?To nie jest odpowiedź na twoje pytanie, ale rozszerzony komentarz na temat poruszony tutaj w komentarzach przez różne osoby, a mianowicie: czy uczenie maszynowe „tensory” to to samo, co tensory w matematyce?
Teraz, zgodnie z Cichoki 2014, Era przetwarzania dużych zbiorów danych: nowe podejście za pośrednictwem Tensor Networks i Tensor Decompositions oraz Cichoki i in. 2014, Dekompozycje tensorów do zastosowań przetwarzania sygnałów ,
Zatem w uczeniu maszynowym / przetwarzaniu danych tensor wydaje się być po prostu zdefiniowany jako wielowymiarowa tablica numeryczna. Przykładem takiego tensora 3D może być klatek wideo o rozmiarze 640 × 480 . Zwykła macierz danych n × p jest przykładem tensora 2D zgodnie z tą definicją.1000 640×480 n×p
Nie tak definiuje się tensory w matematyce i fizyce!
Mój wniosek jest następujący: (a) tensory uczenia maszynowego nie są tensorami matematycznymi / fizycznymi oraz (b) przeważnie nie jest użyteczne postrzeganie ich jako elementów produktów tensorowych.
Zamiast tego są wielowymiarowymi uogólnieniami macierzy. Niestety nie ma na to ustalonego matematycznego terminu, więc wydaje się, że to nowe znaczenie terminu „tensor” pozostanie.
źródło
Jako ktoś, kto bada i buduje sieci neuronowe i wielokrotnie zadawał to pytanie, doszedłem do wniosku, że pożyczamy użyteczne aspekty notacji tensorowej po prostu dlatego, że znacznie ułatwiają wyprowadzanie i utrzymują nasze gradienty w ich natywnych kształtach. Zasada łańcucha tensor jest jednym z najbardziej eleganckich narzędzi otrzymywania pochodnych, jakie kiedykolwiek widziałem. Dalsze notacje tensorowe zachęcają do wydajnych obliczeniowo uproszczeń, które są po prostu koszmarne do znalezienia, gdy używa się wspólnych rozszerzonych wersji rachunku wektorowego.
Na przykład w rachunku wektorowym / macierzowym istnieją 4 rodzaje produktów macierzowych (Hadamard, Kronecker, zwykły i elementowy), ale w rachunku tensorowym istnieje tylko jeden rodzaj mnożenia, ale obejmuje wszystkie mnożenia macierzowe i więcej. Jeśli chcesz być hojny, zinterpretuj tensor jako tablicę wielowymiarową, dla której zamierzamy użyć rachunku opartego na tensorze do znalezienia pochodnych, a nie że obiekty, którymi manipulujemy, są tensorami .
Szczerze mówiąc, prawdopodobnie nazywamy nasze tensory tablic wielowymiarowych, ponieważ większość ekspertów w dziedzinie uczenia maszynowego nie dba o przestrzeganie definicji matematyki lub fizyki wysokiego poziomu. W rzeczywistości pożyczamy dobrze opracowane konwencje sumowania Einsteina i kalkulatory, które są zwykle używane podczas opisywania tensorów i nie chcą powtarzać rachunku opartego na konwencji sumowania Einsteina. Może kiedyś opracujemy nowy zestaw notacji i konwencji, które kradną tylko to, czego potrzebują z rachunku tensorowego specjalnie do analizy sieci neuronowych, ale jako młode pole, które wymaga czasu.
źródło
Teraz zgadzam się z większością treści pozostałych odpowiedzi. Ale w jednym miejscu będę grał adwokata diabła. Znowu będzie swobodnie płynąć, więc przepraszam ...
Google ogłosił program o nazwie Tensor Flow do głębokiego uczenia się. To sprawiło, że zastanawiałem się, czym był „tensor” w głębokim uczeniu się, ponieważ nie mogłem nawiązać do definicji, które widziałem.
Teraz chodzi o połączenie szeregu takich transformacji, aby uzyskać użyteczną reprezentację oryginalnych współrzędnych. Na przykład po ostatniej transformacji obrazu prosta regresja logistyczna zapewni doskonałą dokładność klasyfikacji; podczas gdy na surowym obrazie na pewno nie.
Teraz rzeczą, która wydaje się, że zaginęła z pola widzenia, są właściwości niezmienności poszukiwane we właściwym tensorze. Zwłaszcza, gdy wymiary zmiennych transformowanych mogą być różne dla poszczególnych warstw. [Np. Niektóre rzeczy, które widziałem na tensorach, nie mają sensu dla nieobstawionych jakobianów - być może brakuje mi niektórych metod]
Zachowano pojęcie transformacji zmiennych oraz to, że niektóre reprezentacje wektora mogą być bardziej przydatne niż inne do określonych zadań. Analogicznie jest, czy bardziej sensowne jest rozwiązanie problemu we współrzędnych kartezjańskich czy biegunowych.
EDYCJA w odpowiedzi na @Aksakal:
Wektor nie może być doskonale zachowany ze względu na zmiany liczby współrzędnych. Jednak w pewnym sensie przynajmniej przydatne informacje mogą zostać zachowane w trakcie transformacji. Na przykład w przypadku PCA możemy upuścić współrzędną, więc nie możemy odwrócić transformacji, ale redukcja wymiarowości może być jednak przydatna. Gdyby wszystkie kolejne transformacje były odwracalne, można odwzorować z przedostatniej warstwy na przestrzeń wejściową. W tej chwili widziałem tylko modele probabilistyczne, które umożliwiają to (RBM) poprzez próbkowanie.
źródło
Oto lekko zredagowany (dla kontekstu) fragment z nieujemnego faktoryzacji tensora z zastosowaniem aplikacji do statystyki i wizji komputerowej, A. Shashua i T. Hazan, który dociera do sedna, dlaczego przynajmniej niektórzy ludzie są zafascynowani tensorami.
źródło
[EDYCJA] Właśnie odkryłem książkę Petera McCullagha, Tensor Methods in Statistics .
Tensory wykazują właściwości zainteresowania w identyfikacji nieznanej mieszaniny w sygnale (lub obrazie), szczególnie wokół pojęcia kanonicznego rozkładu tensorów Polyadic (CP), patrz na przykład Tensors: a Brief Introduction , P. Comon, 2014. Dziedzina jest znana pod nazwą „ślepa separacja źródeł (BSS)”:
Ostatnio uzyskano pewne wyniki dotyczące wyjątkowości tensorów trzeciego rzędu: O wyjątkowości kanonicznego rozkładu poliadowego tensorów trzeciego rzędu ( część 1 , część 2 ), I. Domanov i in. , 2013.
Rozkłady tensorów są często związane z rozproszeniami rzadkimi, na przykład poprzez narzucenie struktury czynnikom rozkładu (ortogonalność, Vandermonde, Hankel) i niskiej rangi, aby dostosować się do niejednorodności.
W związku z rosnącą potrzebą niepełnej analizy danych i określania złożonych pomiarów z matryc czujników, tensory są coraz częściej wykorzystywane do uzupełniania matrycy, analizy zmiennych utajonych i separacji źródeł.
Uwaga dodatkowa: najwyraźniej kanoniczny rozkład poliadyczny jest również równoważny rozkładowi Waringa jednorodnego wielomianu jako sumy potęg form liniowych z zastosowaniami w identyfikacji systemu (struktura blokowa, równoległe modele Wienera-Hammersteina lub nieliniowe modele przestrzeni stanów).
źródło
Czy mogę z godnością polecić moją książkę: Kroonenberg, PM Applied Multiway Data Analysis oraz Smilde i in. Analiza wielostronna. Aplikacje w naukach chemicznych (oba Wiley). Interesujący może być również mój artykuł: Kroonenberg, PM (2014). Historia analizy komponentów wielostronnych i trójstronnej analizy korespondencji. W Blasius, J. i Greenacre, MJ (red.). Wizualizacja i werbalizacja danych (s. 77–94). Nowy Jork: Chapman & Hall / CRC. ISBN 9781466589803.
Odnośniki te dotyczą raczej danych wielostronnych niż tensorów, ale odnoszą się do tego samego obszaru badań.
źródło
Prawdą jest, że osoby uczące się maszynowo nie oglądają tensorów z taką samą ostrożnością, jak matematycy i lekarze. Oto artykuł, który może wyjaśnić tę rozbieżność: Comon P., „Tensors: krótkie wprowadzenie” IEEE Sig. Proc. Magazyn , 31 maja 2014 r
źródło