• No results found

Tucker˚ uv rozklad tenzoru ˇr´ adu 3

Podobnˇe jako v line´arn´ı algebˇre je velice uˇziteˇcn´ym n´astrojem singul´arn´ı rozklad matice (SVD z anglick´eho singular value decomposition), existuje ve v´ıcerozmˇern´em pˇr´ıpadˇe (tj. pro ˇr´ad tˇri a v´ıce) jeho zobecnˇen´ı, tzv. Tucker˚uv rozklad. V nˇekter´ych zdroj´ıch se m˚uˇzeme setkat tak´e s n´azvy high-order SVD (HOSVD), tedy singul´arn´ı rozklad vyˇsˇs´ıch ˇr´ad˚u. Zˇrejmˇe pro matice (tenzory ˇr´adu dva) odpov´ıd´a Tucker˚uv rozklad pˇr´ımo singul´arn´ımu rozkladu matice.

Definice 4 (Tucker˚uv rozklad). Necht’ T je tenzor ˇr´adu k. Potom

T = S ×1U1×2U2×. . . ×kUk, U`=U`−1, (1.6) kde U` jsou matice s lev´ymi singul´arn´ımi vektory matic rozvoj˚u tenzoru T v dan´ych m´odech, tj. T{`}, ` = 1, 2, . . . , k, naz´yv´ame Tucker˚uv rozklad tenzoru T . Tenzor S se naz´yv´a Tuckerovo j´adro.

Tucker˚uv rozklad tenzoru je zˇrejmˇe zobecnˇen´ım singul´arn´ıho rozkladu matice. Pokud ˇc´ısla r1, r2, . . . , rk jsou hodnosti rozvoj˚u v m´odech 1, 2, . . . , k, posledn´ıch (n` −r`)

ˇr´adk˚u matic T{`}obsahuje pouze nuly. Tucker˚uv rozklad potom m˚uˇzeme stejnˇe jako singul´arn´ı rozklad tenzoru vyj´adˇrit v tzv. ekonomick´em tvaru, tj.

T = ST ×1U1×2U2× ⋯ ×kUk, ST ∈Rr1×r2×⋯×rk, U` ∈Rn`×r`, (1.7) viz [20], [21], [22], pˇr´ıpadnˇe [11, kap. 4.1] a [19, kap. 4.1], pro ilustraci Tuckerova rozkladu viz obr´azek 1.1.









=

×1









×2

×

3 



Obr´azek 1.1: Tucker˚uv rozklad (HOSVD) tenzoru ˇr´adu 3. Pˇrevzato z [11].

Poznamenejme, ˇze minim´aln´ı rozmˇery Tuckerova j´adra, tj. pr´avˇe rozmˇery tenzoru ST z (1.7) se naz´yvaj´ı (vektorov´a) hodnost tenzoru, pˇr´ıpadnˇe vektorov´y rank, viz [11, kap. 3]. Tuckerovo j´adro v pˇr´ıpadˇe obecn´eho tenzoru vˇsak na rozd´ıl od maticov´eho pˇr´ıpadu nem´a diagon´aln´ı strukturu, ale je obecnˇe hust´y tenzor.

Pro podrobnˇejˇs´ı pˇrehled o manipulaci s tenzory ve tvaru Tuckerova rozkladu nebo jeho vyuˇzit´ı k aproximaci tenzoru tenzorem niˇzˇs´ı hodnosti viz [26].

2 Grafy

V t´eto kapitole se sezn´am´ıme se z´akladn´ımi pojmy t´ykaj´ıc´ı se teorie graf˚u. Tyto poznatky budeme d´ale potˇrebovat v dalˇs´ıch kapitol´ach pro vysvˇetlen´ı tenzorov´ych s´ıt´ı. Pˇri zav´adˇen´ı pojm˚u vych´az´ıme zejm´ena z [16].

2.1 Z´ akladn´ı pojmy teorie graf˚ u

Grafy jsou prostˇredkem pro vyj´adˇren´ı nˇejak´e mnoˇziny bod˚u a vztah˚u mezi nimi.

Tyto body naz´yv´ame vrcholy nebo uzly grafu a pˇr´ısluˇsn´e vztahy mezi nimi jsou vyj´adˇren´e spojnicemi, kter´e naz´yv´ame hrany grafu. Grafy lze definovat r˚uznˇe, nej-ˇcastˇeji se setk´av´ame s n´asleduj´ıc´ımi definicemi:

Definice 5 (Orientovan´y graf). Orientovan´y graf G je uspoˇr´adan´a dvojice (V, H), kde V = {v1, v2, . . . , vn} je nˇejak´a nepr´azdn´a mnoˇzina a

H ⊆ V × V ≡ {(vi, vj) ∶ i, j ∈ {1, . . . , n}} (2.1) je mnoˇzina uspoˇr´adan´ych dvojic mnoˇziny V .

Definice 6 (Neorientovan´y graf). Neorientovan´y graf G je opˇet uspoˇr´adan´a dvojice (V, H), kde V = {v1, v2, . . . , vn} je nˇejak´a nepr´azdn´a mnoˇzina, ale

H ⊆ (V

2) ≡ {{vi, vj} ∶ i, j ∈ {1, . . . , n}} (2.2) je mnoˇzina dvouprkvkov´ych podmnoˇzin mnoˇziny V .

Prvky mnoˇziny V se naz´yvaj´ı vrcholy grafu G (nˇekdy tak´e uzly) a prvky mnoˇziny H hrany grafu G. Pˇr´ıklad neorientovan´eho i orientovan´eho grafu je na obr´azku 2.1.

2.1.1 Volnˇ e vis´ıc´ı hrany, multi-hrany a smyˇ cky

My budeme d´ale pracovat pouze s neorientovan´ymi grafy. Budeme ale potˇrebovat nav´ıc zav´est:

W tzv. volnˇe vis´ıc´ı hrany (anglicky dangling edges, viz [19, str. 29]), tj. hrany, kter´e maj´ı pouze jeden vrchol;

W v´ıce hran mezi jednou dvojic´ı vrchol˚u, tzv. n´asobnost hran.

Obr´azek 2.1: Orientovan´y graf (vlevo), ˇsipkami je zn´azornˇena orientace hran; zat´ımco napˇr. (v5, v4) je hranou, (v4, v5) hranou nen´ı. Neorientovan´y graf (vpravo); zde je hranou {v4, v5}.

Pro zaveden´ı obecn´e tenzorov´e s´ıtˇe nav´ıc bude vhodn´e uvaˇzovat grafy, kter´e mohou obsahovat:

W hrany, kter´e zaˇc´ınaj´ı a konˇc´ı ve stejn´em vrcholu, tzv. smyˇcky.

Poznamenejme, ˇze definice5, na rozd´ıl od definice 6, existenci smyˇcek umoˇzˇnuje.

Tˇechto rozˇs´ıˇren´ı pojmu neorientovan´eho grafu m˚uˇzeme doc´ılit napˇr. n´asleduj´ıc´ımi konstrukcemi: Mnoˇzinu V nahrad´ıme mnoˇzinou V ∪ {f } = {f, v1, v2, . . . , vn}, tedy pˇrid´ame speci´aln´ı vrchol f , pˇriˇcemˇz hrany typu {f, vi}budeme naz´yvat volnˇe vis´ıc´ı hrany (pozdˇeji budou odpov´ıdat tzv. fyzick´ym index˚um tenzoru). N´asobnost vyˇre-ˇs´ıme zaveden´ım tzv. multigrafu, viz [16, str. 139]. Smyˇcky jsou neorientovan´e hrany s obˇema konci ve stejn´em vrcholu; form´alnˇe je m˚uˇzeme povaˇzovat za prvky mnoˇziny jednoprvkov´ych podmnoˇzin mnoˇziny V , tj. mnoˇziny

(V

1) ≡ {{vi}, i ∈ {1, . . . , n}}.

Vˇsechna tato rozˇs´ıˇren´ı shrneme v n´asleduj´ıc´ı definici.

Definice 7 (Neorientovan´y multigraf s volnˇe vis´ıc´ımi hranami a smyˇckami). Uspo-ˇr´adanou dvojici G = (V ∪ {f }, µ), kde V = {v1, v2, . . . vn} a

µ ∶ (V ∪ {f } 2 ) ∪ (

V

1) Ð→N0,

budeme naz´yvat neorientovan´y multigraf s volnˇe vis´ıc´ımi hranami a smyˇckami.

Prvky mnoˇziny V naz´yv´ame vrcholy a prvek f naz´yv´ame voln´y vrchol. Prvky mnoˇziny (V∪{f}2 ) ∪ (V1) naz´yv´ame hranami, pˇriˇcemˇz prvky typu {vi, vj} jsou hrany v klasick´em slova smyslu, prvky typu {f, vi} jsou volnˇe vis´ıc´ı hrany a prvky typu {vi} jsou smyˇcky.

Zobrazen´ı m pˇriˇrad´ı kaˇzd´e hranˇe h` ∈ (V∪{f}

2 ) ∪ (V1) n´asobnost µ(h`). Pokud je n´asobnost hrany µ(h`) = 0, hrana nen´ı v grafu pˇr´ıtomna; µ(h`) = 1 znamen´a, ˇze hrana je jednoduch´a; µ(h`) >1 znamen´a n´asobnou hran, tzv. multi-hranu.

V n´asleduj´ıc´ım textu budeme slovem graf t´emˇeˇr v´yhradnˇe rozumˇet pr´avˇe neori-entovan´y multigraf s volnˇe vis´ıc´ımi hranami a smyˇckami.

2.1.2 Stupeˇ n vrcholu

Mˇejme graf G, kter´y obsahuje vrchol v. Poˇcet hran, ve kter´ych je pˇr´ıtomen vrcholu v, naz´yv´ame stupeˇn vrcholu v v grafu G. Toto ˇc´ıslo oznaˇcujeme deg(v), viz [16]. Vrcholy grafu, kter´e maj´ı stupeˇn 0 se naz´yvaj´ı izolovan´e. Stupˇeˇn vrcholu z´avis´ı na typech vrchol˚u a n´asobnostech hran. Stupeˇn vrcholu vi m˚uˇzeme vyj´adˇrit jako n´asleduj´ıc´ı souˇcet:

kde sˇc´ıt´ame poˇcty klasick´ych, volnˇe vis´ıc´ıch hran a smyˇcek, kter´e vedou z dan´eho vrcholu, zat´ımco stupeˇn vrcholu f je d´an n´asleduj´ıc´ı rovnost´ı

deg(f ) =

n

j

µ({vj, f }), (2.4)

kde sˇc´ıt´ame pouze volnˇe vis´ıc´ı hrany. Poznamenejme, ˇze smyˇcka z vrcholu f nen´ı pˇr´ıpustn´a. Pojem stupeˇn vrcholu ilustruje obr´azek 2.2.

Obr´azek 2.2: Graf se ˇctyˇrmi vrcholy v1, v2, v3 a f ; zde deg(vj) = 1, 6, 3, postupnˇe pro j = 1, 2, 3, a deg(f ) = 2.

2.1.3 Cesta a kruˇ znice, souvisl´ y graf a strom

Nyn´ı vysvˇetl´ıme nˇekolik pojm˚u, kter´e se ˇcasto vyskytuj´ı pˇri pr´aci s grafy a i my je v t´eto pr´aci budemem pouˇz´ıvat.

Cesta (d´elky `) z vrcholu vi do vrcholu vj je libovoln´a posloupnost hran n´ asob-nosti alespoˇn jedna

P (vi, vj) = {{vi, vi1}, {vi1, vi2}, . . . , {vi`−1, vj}}.

Poznamenejme, ˇze n´ami zaveden´a cesta nem˚uˇze obsahovat smyˇcky, tj. hrany typu {vit}. Pˇr´ıklad cesty je zn´azornˇen na obr´azku2.3 vlevo. Kruˇznice je cesta (vˇzdy d´elky alespoˇn 2) z vrcholu vi do vcholu vi, viz obr´azek 2.3 uprostˇred a vpravo. Graf na-zveme souvisl´y pr´avˇe tehdy, kdyˇz existuje cesta mezi kaˇzd´ymi dvˇema vrcholy vi, vj; graf, kter´y nen´ı souvis´y nazveme nesouvisl´y, viz ob´azek 2.4 vlevo a uprostˇred. Po-znamenejme, ˇze kaˇzd´y souvisl´y podgraf (pˇresnˇeji ˇreˇceno indukovan´y podgraf, viz [16, str. 122]), ke kter´emu nelze pˇridat ˇz´adn´y dalˇs´ı vrchol dan´eho grafu tak, aby

Obr´azek 2.3: Pˇr´ıklady graf˚u, kde modrou pˇreruˇsovanou ˇcarou je zn´azornˇena cesta (vlevo) a kruˇznice (uprostˇred a vpravo).

Obr´azek 2.4: Pˇr´ıklad nesouvisl´eho grafu (vlevo), souvisl´eho grafu (uprostˇred) a stromu (vpravo).

z˚ustal souvisl´y se naz´yv´a (maxim´aln´ı souvisl´a) komponenta. Jakkoliv obecnou defi-nici grafu (resp. multigrafu s volnˇe vis´ıc´ımi hranami a smyˇckami) jsme zavedli a pro pr´aci s obecn´ymi tenzorov´ymi s´ıtˇemi je budeme potˇrebovat (viz kap. 3.4, v mnoha praktick´ych pˇr´ıpadech vystaˇc´ıme s grafy mnohem jednoduˇsˇs´ımi, tzv. stromy. Stro-mem naz´yv´ame souvisl´y graf, kter´y neobsahuje kruˇznice, smyˇcky, ani n´asobn´e hrany.

Pˇr´ıklad stromu je na obr´azku2.4 vpravo.

2.1.4 Bin´ arn´ı strom

D´ale bude uˇziteˇcn´e definovat pojem bin´arn´ı strom. Bin´arn´ı strom je speci´aln´ım typem stromu, kter´y se skl´ad´a z jednoho v´yznaˇcn´eho vrcholu (zvan´eho koˇren) a z uspoˇr´adan´e dvojice bin´arn´ıch strom˚u – lev´eho a prav´eho podstromu, viz [16, str. 360]. Pro n´as bude bin´arn´ı strom znamenat takov´y graf, pro kter´y plat´ı:

W pr´avˇe jeden vnitˇrn´ı vrchol (pˇresnˇeji ˇreˇceno vrchol nemaj´ıc´ı volnˇe vis´ıc´ı hrany) m´a stupeˇn 2, tento vrchol je tzv. koˇren;

W ostatn´ı vnitˇrn´ı vrcholy maj´ı stupeˇn 3;

W a dalˇs´ı vrcholy, kter´e maj´ı volnˇe vis´ıc´ı hrany, maj´ı stupeˇn 2.

Pˇr´ıklady bin´arn´ıch strom˚u jsou uvedeny na obr´azku2.5.

2.1.5 N´ asobn´ e hrany a jejich jednotliv´ e vˇ etve

V pˇr´ıpadˇe, ˇze budeme cht´ıt jednotliv´e ˇc´asti, tzv. vˇetve, multihrany h` ∈ (

V ∪ {f } 2 ) ∪ (

V 1)

Obr´azek 2.5: Grafy r˚uzn´ych bin´arn´ıch strom˚u. Tyto stromy udeme naz´yvat (zleva):

ide´alnˇe vyv´aˇzen´y bin´arn´ı strom, ˇc´asteˇcnˇe (ne)vyv´aˇzen´y bin´arn´ı strom, maxim´alnˇe nevyv´aˇzen´y bin´arn´ı strom.

takov´e, ˇze µ(h`) = mh` > 1, rozliˇsit, budeme pˇredpokl´adat, ˇze m´ame jejich jedno-znaˇcnˇe dan´e poˇrad´ı, tj. ohodnocen´ı ˇc´ısly 1, 2, . . . , mh`; m˚uˇzeme je znaˇcit

h(1)` , h(2)` , . . . , h(m` h`).

Ohodnocen´ı nebudeme form´alnˇeji zav´adˇet, pro naˇsi potˇrebu je postaˇcuj´ıc´ı vˇedˇet, ˇze je jednoznaˇcn´e.

2.2 Faktorov´ y graf

Protoˇze pomoc´ı graf˚u budeme pozdˇeji zn´azorˇnovat tenzory a speci´alnˇe tak´e souˇciny tenzor˚u, tedy operace, pˇri kter´ych napˇr. ze dvou tenzor˚u vznik´a tenzor nov´y, budeme potˇrebovat tyto operace nˇeak´ym zp˚usobem pˇrev´est do jazyka graf˚u. K tomu poslouˇz´ı konstrukce, kterou naz´yv´ame faktorov´y graf.

Uvaˇzujme graf G s mnoˇzinou vrchol˚u V = {v1, . . . , vn}. Rozdˇel´ıme mnoˇzinu V na

kde v` jsou vrcholy uvnitˇr mnoˇziny Vi a h` jsou hrany, kter´e inciduj´ı pouze s vrcholy uvnitˇr mnoˇziny Vi. Takov´y graf budeme naz´yvat faktorov´ym grafem. Na obr´azku 2.6 je zobrazen pˇr´ıklad takto vznikl´eho grafu.

Obr´azek 2.6: Pˇr´ıklad faktorov´eho grafu. P˚uvodn´ı graf se ˇctyˇrmi vrcholy v1, . . . , v4 (vlevo), kde je naznaˇceno, jak vznikne faktorov´y graf s vrcholy V1 a V2 (vpravo).

3 Tenzor jako graf

V t´eto kapitole vyuˇzijeme pojm˚u zaveden´ych v pˇredchoz´ı kapitole a vysvˇetl´ıme, jak je moˇzn´e zn´azornit tenzory v podobˇe graf˚u. Uvid´ıme, ˇze je to uˇziteˇcn´e zejm´ena pro zn´azornˇen´ı souˇcin˚u tenzor˚u nebo tenzorov´ych rozklad˚u.

3.1 Tenzor jako graf

Mˇejme tenzor (1.1), tj.

T = (ti1,i2,...,ik) ∈Rn1×n2×⋯×nk.

Budeme cht´ıt tento tenzor reprezentovat jako multigraf s volnˇe vis´ıc´ımi hranami a smyˇckami (d´ale jen graf), kter´y m´a jedin´y vrchol T (z´amˇernˇe budeme tenzory a jim odpov´ıdaj´ıc´ı vrcholy grafu znaˇcit stejnˇe) a k volnˇe vis´ıc´ıch hran – pˇresnˇeji ˇreˇceno jedinou volnˇe vis´ıc´ı multi-hranu h = {T , f } s n´asobnost´ı µ(h) = k.

Jednotliv´e vˇetve multi-hrany h(1), h(2), . . . , h(k) odpov´ıdaj´ı index˚um i1, i2, . . . , ik tenzoru T . V dalˇs´ım textu o nich budeme mluvit jako o fyzick´ych indexech, resp.

hran´ach (resp. vˇetv´ıch multi-hrany), viz obr´azek 3.1.

Obr´azek 3.1: Grafy odpov´ıdaj´ıc´ı tenzor˚um r˚uzn´ych ˇr´ad˚u (zleva): skal´ar (tenzor nult´eho ˇr´adu), vektor (tenzor prvn´ıho ˇr´adu), matice (tenzor druh´eho ˇr´adu), tenzor tˇret´ıho, ˇctvrt´eho a osm´eho ˇr´adu.

3.2 Tenzorov´ y souˇ cin

Nyn´ı se zamˇeˇr´ıme na zn´azornˇen´ı r˚uzn´ych tenzorov´ych interakc´ı v podobˇe grafu.

Klasick´e hrany spojuj´ıc´ı dva vrcholy, tj. dva tenzory, budou pˇredstavovat souˇcin tˇechto tenzor˚u v pˇr´ısluˇsn´ych m´odech, viz [19, str. 29].

Zamˇeˇr´ıme se nejprve na souˇciny, kter´e dobˇre zn´ame z line´arn´ı algebry. Pˇr´ıklady operac´ı s vektory a maticemi, tj. tenzory prvn´ıho a druh´eho ˇr´adu, jsou zobrazeny

Obr´azek 3.2: Zn´azornˇen´ı souˇcin˚u vektor˚u a matic (zleva): skal´arn´ı souˇcin dvou vek-tor˚u, vektor ve tvaru souˇcinu matice s vektorem, matice ve tvaru souˇcinu dvou matic, matice ve tvaru souˇcinu tˇr´ı matic. Jednotliv´e ov´aln´e slupky jsou de-facto jednotliv´e faktorov´e grafy.

na obr´azku 3.2. M´ame-li dva tenzory T a S, potom, abychom mohli prov´est jejich souˇcin (1.3), tj.

F = T ×(p,q)S ≡

µ

α=1

ti1,...,ip−1,α,ip+1...,ik⋅sj1,...,jq−1,α,jq+1...,j`

∈Rn1×⋯×np−1×np+1×⋯×nk×m1×⋯×mq−1×mq+1×⋯×m`,

mus´ı existovat indexy ip v tenzoru T a jq v tenzoru S nab´yvaj´ıc´ı stejn´eho roz-sahu hodnot 1, . . . , µ. Zn´azornˇen´ı souˇcinu tenzor˚u v podobˇe grafu je ilustrov´ano na obr´azku3.3.

Obr´azek 3.3: Princip z´apisu tenzorov´eho souˇcinu (´uˇzen´ı) dvou tenzor˚u ˇr´ad˚u osm a ˇsest. Volnˇe vis´ıc´ı hrany dvou tenzor˚u, kter´e odpov´ıdaj´ı m´od˚um ip a iq stejn´ych rozmˇer˚u a ve kter´ych prob´ıh´a n´asoben´ı, jsou nahrazeny hranou spojuj´ıc´ı oba tenzory (v terminologii graf˚u jde o tzv. kontrakci hrany). ˇSed´y ov´al pˇredstavuje v´ysledn´y souˇcin – tenzor ˇr´adu 8 + 6 − 2 = 12.

Uvˇedomme si, ˇze souˇcin tenzoru a matice v `-t´em m´odu a souˇcin dvou tenzor˚u v dan´ych m´odech, viz kap. 1, jsou definov´any t´emˇeˇr stejnˇe aˇz na permutaci index˚u (analogii transpozice matice). Srovnej napˇr.

T ×`M ∈ Rn1×⋯×n`−1×m×n`+1×⋯×nk a T ×(`,2)M ∈ Rn1×⋯×n`−1×n`+1×⋯×nk×m, viz (1.2), (1.3) a tak´e [26, kap. 2.2 a 2.6]. Pˇri z´apisu v podobˇe grafu toto odpov´ıd´a pouze pˇreˇc´ıslov´an´ı vˇetv´ı volnˇe vis´ıc´ı multihrany souˇcinu.

3.3 Dalˇ s´ı objekty line´ arn´ı algebry interpretovateln´ e jako tenzorov´ e souˇ ciny

Poznamenejme, ˇze kromˇe standardn´ıch maticov´ych souˇcin˚u lze t´ımto zp˚usobem vyj´adˇrit i ˇradu dalˇs´ıch objekt˚u bˇeˇznˇe uˇz´ıvan´ych v line´arn´ı algebˇre, kter´e ovˇsem vˇetˇsinou jako souˇciny nevykl´ad´ame.

3.3.1 Stopa matice

Stopa ˇctvercov´e matice A ∈ Rn×n je v line´arn´ı algebˇre definov´ana jako souˇcet dia-gon´aln´ıch prvk˚u, tj.

Vyuˇzijeme-li graf, lze stopu matice interpretovat jako souˇcin ˇctvercov´e matice sama se sebou, viz obr´azek3.4.

3.3.2 Skal´ arn´ı souˇ cin na prostoru matic

Podobnˇe i skal´arn´ı souˇcin dvou matic A, B ∈ Rn×m definovan´y jako lze zn´azornit pomoc´ı grafu, viz opˇet obr´azek3.4.

Podobn´ym zp˚usobem lze zav´est tak´e napˇr. n´asleduj´ıc´ı

”nestandardn´ı souˇcin“ tˇr´ı (ˇci v´ıce) matic, jejichˇz v´ysledkem je skal´ar. Pro

A ∈ Rn×m, B ∈ Rm×o, C ∈ Ro×n definujme souˇcin Tento souˇcin je ilustrov´an na obr´azku3.4 jako tˇret´ı zleva.

3.3.3 M´ enˇ e obvykl´ e objekty

Posledn´ım pˇr´ıkladem, kter´y uv´ad´ıme na obr´azku 3.4, je vektor vznikl´y z tenzoru tˇret´ıho ˇr´adu A ∈ Rn×m×m. Jednotliv´e prvky tenzoru A oznaˇc´ıme ai,j,k a ˇrezy v prvn´ım m´odu a1,∶,∶, a2,∶,∶, . . . , an,∶,∶∈R1×m×m, tzv. horizont´ant´aln´ıˇrezy, viz [11] a [26, kap. 2.1.2, obr. 2.2]. Potom definujme vektor v po sloˇzk´ach tak, ˇze

vi=

m

j=1

ai,j,j.

Tedy i-t´a sloˇzka vektoru v je stopou matice, kter´a je trivi´alnˇe izomorfn´ı s i-t´ym ˇrezem tenzoru A v prvn´ım m´odu (horizont´aln´ım ˇrezem) ai,∶,∶.

Je zˇrejm´e, ˇze pokud rozum´ıme graf˚um, lze n´azorn´ym zp˚usobem zapsat nejr˚uznˇejˇs´ı objekty. Moˇznosti vˇsak nejsou neomezen´e, pokud bychom napˇr. chtˇeli vyj´adˇrit

” troj-rozmˇernou stopu kubick´eho tenzoru“ tˇret´ıho ˇr´adu A ∈ Rn×n×n, tj. souˇcet prvk˚u na tˇelesov´e ´uhlopˇr´ıˇcce ∑ni=1ai,i,i, potˇrebovali bychom k tomu

”hranu se tˇremi konci“.

Obr´azek 3.4: M´enˇe obvykl´e typy souˇcin˚u (zleva): stopa matice (viz kap. 3.3.1;

skal´arn´ı souˇcin dvou matic viz kap. 3.3.2; zvl´aˇstn´ı souˇcin tˇr´ı matic a vektor, jehoˇz sloˇzky jsou stopy matic – ˇrez˚u tenzoru tˇret´ıho ˇr´adu (viz kap 3.3.3).

3.4 Obecn´ e tenzorov´ e s´ıtˇ e

V pˇredchoz´ım textu jsme vysvˇelili, jak lze interpretvat graf jako tenzor. Nyn´ı bu-deme cht´ıt postupovat opaˇcnˇe. Budeme m´ıt dan´y tenzor a danou strukturu s´ıtˇe (graf), pˇr´ıpadnˇe i nˇekter´e dalˇs´ı vlastnosti, a naˇs´ım ´ukolem bude naj´ıt faktory to-hoto tenzoru, tj. vrcholy grafu (s´ıtˇe). Grafu, kter´y pˇredstavuje nˇejak´y tenzor jako v´ysledek souˇcin˚u jin´ych tenzor˚u, ˇr´ık´ame tenzorov´a s´ıt’.

Tenzorovou s´ıt’ lze proto pouˇz´ıt k z´apisu r˚uzn´ych tenzorov´ych rozklad˚u, kter´e maj´ı pr´avˇe podobu souˇcin˚u. V dalˇs´ıch kapitol´ach tohoto textu se s nˇekter´ymi z nich sezn´am´ıme podrobnˇeji.

Pro zn´azornˇen´ı tenzorov´e s´ıtˇe se pouˇz´ıv´a i zvl´aˇstn´ı terminologie k rozliˇsen´ı hran r˚uzn´ych typ˚u. Hrany klasick´eho typu, tj. typu {vi, vj}, v tenzorov´e s´ıti naz´yv´ame sˇc´ıtac´ı indexy, pˇr´ıpadnˇe vnitˇrn´ı nebo virtu´aln´ı indexy; volnˇe vis´ıc´ı hrany, tj. hrany typu {vi, f }, se naz´yvaj´ı fyzick´e (pˇr´ıp. vnˇejˇs´ı) indexy a jejich poˇcet ud´av´a ˇr´ad cel´eho tenzoru.

Na obr´azku3.5 m˚uˇzeme porovnat zn´azornˇen´ı jednoduch´eho tenzoru tˇret´ıho ˇr´adu a tenzorov´e s´ıtˇe – tenzoru tˇret´ıho ˇr´adu ve tvaru souˇcinu tenzoru tˇret´ıho ˇr´adu s ma-tic´ı. Ve stejn´em obr´azku d´ale ilustrujeme Tucker˚uv rozklad tenzoru ˇsest´eho ˇr´adu.

Pˇripomˇeˇnme, ˇze abychom mohli takovouto s´ıt’ nazvat Tuckerov´ym rozkladem, pˇred-pokl´ad´ame kromˇe dan´e struktury tak´e vlastnost, ˇze matice v t´eto s´ıti maj´ı orto-norm´aln´ı sloupce, viz kap. 1.1.

Obr´azek 3.5: Zn´azornˇen´ı tenzor˚u vyˇsˇs´ıch ˇr´ad˚u ve formˇe grafu (zleva): tenzor tˇret´ıho ˇr´adu, tenzor tˇret´ıho ˇr´adu ve tvaru souˇcinu tenzoru tˇret´ıho ˇr´adu s matic´ı, tenzor ˇsest´eho ˇr´adu ve tvaru Tuckerova rozkladu.

V principu, m´ame-li dan´y tenzor a pˇredepsan´y graf (tenzorovou s´ıt’), m˚uˇzeme se pokusit vyj´adˇrit tento tenzor v podobˇe rozkladu, kter´y v grafick´em zn´azornˇen´ı m´a pr´avˇe podobu pˇredepsan´eho grafu. Pro pˇresnˇejˇs´ı pˇredstavu poslouˇz´ı pˇr´ıklad 1.

U skuteˇcn´ych ´uloh samozˇrejmˇe s´ıt’ nepˇredepisujeme zcela sv´evolnˇe. Zpravidla se

snaˇz´ıme tenzor poskl´adat z objekt˚u, kter´e maj´ı nˇejak´y, napˇr. fyzik´aln´ı, v´yznam, viz [13] nebo [18], kter´y nav´ıc umoˇzˇnuje pˇredepsat strukturu (napˇr. symetrii, nebo hodnosti) tˇechto objekt˚u (napˇr. symetrick´a matice, nebo symetrick´e ˇrezy v dan´em m´odu, toeplitzovsk´a matice, matice hodnosti nejv´yˇse r, atp.).

Pˇr´ıklad 1. Pro dan´y tenzor T chceme naj´ıt tenzory A, B, C, D, E , F , G tak, aby tvoˇrily s´ıt’ tenzoru T , takovou jako je na obr´azku 3.6. Tato s´ıt’ odpov´ıd´a souˇcinu definovan´emu vztahem:

T ≈ (ti1,i2,i3,i4,i5,i6,i7,i8) (3.1)

= ( ∑

α1,...,α9

ai1,i21⋅bi312α3 ⋅cα29945⋅dα46⋅eα56,i4,i5⋅fα378 ⋅gα78,i6).

Obr´azek 3.6: Rozklad tenzoru T ˇsest´eho ˇr´adu do (resp. aproximace pomoc´ı) tenzo-rov´e s´ıtˇe tvoˇren´e tenzory A, B, C, D, E , F a G niˇzˇs´ıch ˇr´ad˚u; viz pˇr´ıklad 1.

3.5 Speci´ aln´ı tenzorov´ e s´ıtˇ e

Obecnˇe je motivac´ı pro konstrukci tenzorov´ych s´ıt´ı zejm´ena umoˇznit pr´aci s roz-s´ahl´ymi v´ıcerozmˇern´ymi daty. Napˇr´ıklad tenzor T ∈ R2×2×⋯×2 ˇr´adu 100 obsahuje 2100≈1.2676506 × 1030 prvk˚u, coˇz zˇrejmˇe nelze uloˇzit do pamˇeti poˇc´ıtaˇce.1 Nav´ıc zde ani pˇr´ıpadn´a komprese, napˇr. pomoc´ı klasick´eho Tuckerova rozkladu (viz [26, kap.

4], [19, str. 20], a [3, str. 1267]), nepom˚uˇze. Dalˇs´ı motivac´ı m˚uˇze b´yt snaha pomoc´ı tenzorov´ych s´ıt´ı zpˇrehlednit mnohorozmˇern´a data, viz zejm´ena [18]. Naˇs´ım c´ılem tedy bude naj´ıt takov´e s´ıtˇe, kter´e umoˇzn´ı

W sn´ıˇzit pamˇet’ov´e n´aroky (tj. budeme cht´ıt naj´ıt rozklad do s´ıtˇe s co nejm´enˇe tenzory co nejniˇzˇs´ıch ˇr´ad˚u);

1Uvaˇzujeme-li, ˇze na uloˇzen´ı jednoho ˇc´ısla napˇr. v pˇresnosti double potˇrebujeme 8 byt˚u, pak 2100=260240 a na uloˇzen´ı 240=10244ˇc´ısel potˇrebujeme 8 terabyt˚u.

W snadno d´ale manipulovat s tenzory ve tvaru s´ıtˇe (tj. hled´ame topologicky jed-noduch´e s´ıtˇe).

Tyto poˇzadavky vedou k tenzorov´e s´ıti ve tvaru bin´arn´ıho stromu. Nejˇcastˇeji pou-ˇz´ıvan´e jsou: hierarchick´y Tucker˚uv rozklad (HTD; z anglick´eho hierarchical Tucker decomposition), viz napˇr. [19, kap. 3] nebo [7], tensor train (TT), viz [17], a dalˇs´ı, viz tak´e obr´azek 3.7. V ide´aln´ım pˇr´ıpadˇe hierarchick´y Tucker˚uv rozklad dost´av´ame ve tvaru vyv´aˇzen´eho bin´arn´ıho stromu. Obecnˇe se snaˇz´ıme dostat strom, kter´y nen´ı pˇr´ıliˇs nevyv´aˇzen´y. Pˇr´ıpadn´a nevyv´aˇzenost m˚uˇze b´yt zp˚usobena:

W ˇr´adem tenzoru (je-li r˚uzn´y od k = 2ς);

W praktick´ymi d˚uvody (v´yznamem komponent – tj. kdyˇz fyzick´e indexy od-pov´ıdaj´ı urˇcit´emu jevu, napˇr. tepeln´e vodivosti jako v [13, kap. 4.1]).

Obr´azek 3.7: Pˇr´ıklady tenzorov´ych s´ıt´ı odpov´ıdaj´ıc´ı tenzoru ˇsest´eho ˇr´adu (zleva):

hierarchick´y Tucker˚uv rozklad tenzoru (HTD) – s´ıt’ ve tvaru ne zcela vyv´aˇzen´eho bin´arn´ıho stromu, tensor train (TT) – maxim´alnˇe nevyv´aˇzen´y bin´arn´ı strom a tzv.

tensor chain (TC), viz [9, str. 5]. Ten z pˇredchoz´ıho rozkladu vznik´a pˇrid´an´ım je-din´e hrany; na rozd´ıl od obou pˇredchoz´ıch obsahuje kruˇznici a je tedy v´ypoˇcetnˇe n´aroˇcnˇejˇs´ı na konstrukci. Pokud se budeme na vnitˇrn´ı tmavˇs´ı blok d´ıvat jako na jedin´y tenzor, vˇsechny tˇri obr´azky mohou pˇredstavovat obyˇcejn´y Tucker˚uv rozklad.

4 Hierarchick´ y Tucker˚ uv rozklad (HTD)

Jedn´ım z rozklad˚u, jehoˇz struktura je zn´azorˇnov´ana ve tvaru tenzorov´e s´ıtˇe, je hi-erarchick´y Tucker˚uv rozklad. Klasick´y Tucker˚uv rozklad, kter´y jsme jiˇz pˇripomnˇeli v kapitole 1, umoˇzˇnuje vyj´adˇren´ı tenzoru ˇr´adu k ve tvaru souˇcinu tenzoru (jehoˇz rozmˇery jsou omezen´e vektorov´ym rankem p˚uvodn´ıho tenzoru) ˇr´adu k, tzv. j´adra tenzoru, s k maticemi. Hierarchick´y Tucker˚uv rozklad (HTD z anglick´eho hierarchi-cal Tucker decomposition) spoˇc´ıv´a nav´ıc v rozloˇzen´ı Tuckerova j´adra dan´eho tenzoru do tvaru souˇcinu jednoduˇsˇs´ıch tenzor˚u. Takov´y rozklad m˚uˇzeme reprezentovat ten-zorovou s´ıt´ı (pˇredem dan´e struktury). V t´eto kapitole vysvˇetl´ıme z´akladn´ı princip vytvoˇren´ı hierarchick´eho Tuckerova rozkladu a t´ım z´aroveˇn ovˇeˇr´ıme jeho existenci.

4.1 Struktura HTD

V t´eto ˇc´asti si uk´aˇzeme, jak´ym zp˚usobem lze tenzor transformovat do potˇrebn´e struktury dan´e tenzorvou s´ıt´ı, kter´a bude m´ıt podobu bin´arn´ıho stromu, jako napˇr.

na obr´azku 3.7 vlevo. Uvaˇzujme tedy tenzor (1.1) ˇr´adu k

T = (ti1,i2,...,ik) ∈Rn1×n2×⋯×nk. (4.1) Nult´ym krokem m˚uˇze b´yt klasick´y Tucker˚uv rozklad, pˇriˇcemˇz HTD se provede pro Tuckerovo j´adro. My zde HTD vyloˇz´ıme pro obecn´y tenzor (ne nezbytnˇe Tuckerovo j´adro).

4.1.1 Nalezen´ı tenzoru druh´ eho ˇ r´ adu – koˇ rene bin´ arn´ıho stromu

Nyn´ı budeme hledat rozklad tenzoru do s´ıtˇe pˇredepsan´eho tvaru. Konkr´etnˇe bu-deme cht´ıt dos´ahnout co nejv´ıce vyv´aˇzen´eho stromu. Z kapitoly2.1.4v´ıme, ˇze kromˇe vrchol˚u s volnˇe vis´ıc´ımi hranami obsahuje bin´arn´ı strom vrcholy stupˇn˚u 3 a jeden vrchol (koˇren) stupnˇe 2. D˚uleˇzit´ymi n´astroji pro nalezen´ı takov´eho bin´arn´ıho stromu d´ale budou:

W rozvoj tenzoru v matici (viz definici 3),

W singul´arn´ı rozklad matice (viz napˇr. [4, kap. 5]).

Tenzorovou s´ıt’ konkr´etn´ıho tvaru z´ısk´ame tak, ˇze kaˇzd´a hrana tenzorov´e s´ıtˇe bude pˇredstavovat rozvoj tenzoru v m´odech odpov´ıdaj´ıch rozdˇelen´ı mnoˇziny index˚u ten-zoru. V naˇsem pˇr´ıpadˇe, kdy chceme z´ıskat vyv´aˇzen´y bin´arn´ı strom pro j´adro tenzoru

(4.1), rozdˇel´ıme mnoˇzinu jeho index˚u

{1, 2, . . . , k}

do dvou disjunktn´ıch podmnoˇzin

{1, . . . , s} a {s + 1, . . . , k},

pro nˇejak´e s, 1 ≤ s < k. Potom lze vytvoˇrit rovoj tenzoru v matici podle prvn´ı podmnoˇziny, tj.

pro nˇejak´e s, 1 ≤ s < k. Potom lze vytvoˇrit rovoj tenzoru v matici podle prvn´ı podmnoˇziny, tj.