• No results found

Tenzorov´e s´ıtˇe a hierarchick´y Tucker˚uv rozklad

N/A
N/A
Protected

Academic year: 2022

Share "Tenzorov´e s´ıtˇe a hierarchick´y Tucker˚uv rozklad"

Copied!
63
0
0

Loading.... (view fulltext now)

Full text

(1)

Tenzorov´ e s´ıtˇ e

a hierarchick´ y Tucker˚ uv rozklad

Diplomov´ a pr´ ace

Studijn´ı program: N1101 – Matematika

Studijn´ı obory: 7504T089 – Uˇcitelstv´ı matematiky pro stˇredn´ı ˇskoly

7503T009 – Uˇcitelstv´ı anglick´eho jazyka pro 2. stupeˇn z´akladn´ı ˇskoly Autor pr´ace: Jana ˇZ´akov´a

Vedouc´ı pr´ace: Martin Pleˇsinger

(2)

Tensor networks

and hierarchical Tucker decomposition

Diploma thesis

Study programme: N1101 – Mathematics

Study branches: 7504T089 – Teacher training for upper-sec. schools: Mathematics 7503T009 – Teacher training for lower-secondary schools: English Author: Jana ˇZ´akov´a

Supervisor: Martin Pleˇsinger

(3)
(4)
(5)

Prohl´ aˇ sen´ı

Byla jsem sezn´amena s t´ım, ˇze na mou diplomovou pr´aci se plnˇe vztahuje z´akon ˇc. 121/2000 Sb., o pr´avu autorsk´em, zejm´ena§ 60 – ˇskoln´ı d´ılo.

Beru na vˇedom´ı, ˇze Technick´a univerzita v Liberci (TUL) neza- sahuje do m´ych autorsk´ych pr´av uˇzit´ım m´e diplomov´e pr´ace pro vnitˇrn´ı potˇrebu TUL.

Uˇziji-li diplomovou pr´aci nebo poskytnu-li licenci k jej´ımu vyuˇzit´ı, jsem si vˇedoma povinnosti informovat o t´eto skuteˇcnosti TUL;

v tomto pˇr´ıpadˇe m´a TUL pr´avo ode mne poˇzadovat ´uhradu n´aklad˚u, kter´e vynaloˇzila na vytvoˇren´ı d´ıla, aˇz do jejich skuteˇcn´e v´yˇse.

Diplomovou pr´aci jsem vypracovala samostatnˇe s pouˇzit´ım uveden´e literatury a na z´akladˇe konzultac´ı s vedouc´ım m´e diplomov´e pr´ace a konzultantem.

Souˇcasnˇe ˇcestnˇe prohlaˇsuji, ˇze tiˇstˇen´a verze pr´ace se shoduje s elek- tronickou verz´ı, vloˇzenou do IS STAG.

Datum:

Podpis:

(6)

Anotace

V modern´ı numerick´a algebˇre se st´ale ˇcastˇeji setk´av´ame s probl´emy, kde potˇrebujeme pracovat s v´ıcerozmˇern´ymi daty, uloˇzen´ymi jako tenzory. Pˇri manipulaci a v´ypoˇctech s tenzory velk´ych ˇr´ad˚u snadno naraz´ıme na omezen´ı na stranˇe pamˇeti poˇc´ıtaˇce.

Pokus´ıme-li se takov´y tenzor naivnˇe uloˇzit jako prost´e v´ıcerozmˇern´e pole, rychle m˚uˇze doj´ıt k vyˇcerp´an´ı dostupn´e pamˇeti, kter´e nelze jednoduˇse vyˇreˇsit pouˇzit´ım lepˇs´ıho poˇc´ıtaˇce. Tento jev je ve v´ypoˇcetn´ım svˇetˇe zn´am´y pod anglick´ym term´ınem

”curse of dimensionality“. Jedn´ım z n´astroj˚u, kter´e umoˇzˇnuj´ı sn´ıˇzit pamˇet’ov´e n´aroky, je Tucker˚uv rozklad tenzoru. ´Uspora je ovˇsem omezena tzv. vektorovou hodnost´ı tenzoru a pro tenzory vyˇsˇs´ıch ˇr´ad˚u nen´ı dostateˇcn´a.

C´ılem t´eto pr´ace je uk´azat, ˇze na tenzory, resp. sady tenzor˚u a jejich r˚uzn´ych vz´ajemn´ych souˇcin˚u lze nahl´ıˇzet jako na specifick´e neorientovan´e grafy. Vysvˇetluje zp˚usob reprezentace tenzor˚u a dalˇs´ı objekt˚u line´arn´ı algebry pomoc´ı tˇechto graf˚u.

Takov´y zp˚usob reprezentace tenzor˚u oznaˇcujeme jako tzv. tenzorov´e s´ıtˇe.

V pr´aci je d´ale uk´az´ano, jak lze tenzor (pˇr´ıliˇs velk´eho ˇr´adu na to, aby s n´ım ˇslo pracovat pˇr´ımo) ˇsikovnˇe rozloˇzit do tenzorov´e s´ıtˇe se strukturou bin´arn´ıho stromu, jej´ıˇz uzly jsou tvoˇreny tenzory mal´ych ˇr´ad˚u; konkr´etnˇe ˇr´ad˚u tˇri a dva. Nav´ıc poˇcet tˇechto tenzor˚u mal´ych ˇr´ad˚u z´avis´ı na ˇr´adu p˚uvodn´ıho tenzoru line´arnˇe. Tento pˇr´ıs- tup, tzv. hierarchick´y Tucker˚uv rozklad (HTD, z anglick´eho hierarchical Tucker de- ceomposition) m˚uˇze v´est k ´uspoˇre pamˇet’ov´ych a v´ypoˇcetn´ıch n´aklad˚u pˇri ukl´ad´an´ı tenzoru, resp. pˇri manipulaci s tenzorem (n´asoben´ı tenzoru matic´ı, line´arn´ı kombi- nace tenzor˚u) v poˇc´ıtaˇci.

Pr´ace tak´e vysvˇetluje, jak´ym zp˚usobem s tenzory uloˇzen´ymi ve tvaru HTD prov´adˇet vybran´e z´akladn´ı algebraick´e operace tak, aby v´ysledek byl opˇet tenzor v podobˇe hierarchick´eho Tuckerova rozkladu.

Kl´ıˇ cov´ a slova:

multiline´arn´ı algebra; tenzor; tenzrov´a s´ıt’; (hierarchick´y) Tucker˚uv rozklad (HTD);

tensor train; tensor chain; operace s tenzory; low-rank aproximace

(7)

Abstract

In modern numerical algebra, there quite frequently arise problems, where there is a need to work with multidimensional data stored in the form of tensors. While manipulating or calculating with tensors of high order, we often encounter the re- stricitions by the memory of the computer. The attempt to store such a tensor can lead to the exhaustion of the available memory, which can not be improved by the use of a better computer. This problem is referred as the curse of dimensionality.

One of the tools used for the reduction of the storage requirements is the so-called Tucker decomposition. However, the storage savings by this decomposition are re- stricted by the vector-rank of the given tensor and are not sufficient for tensors of high order.

The aim of this thesis is to explain how tensors, or sets of tensors and tensor pro- ducts can be interpreted as specific (undirected) graphs. We explain the way of the representation of tensors and other objects from linear algebra. Such representation is called the tensor network.

In the text we show the way to decompose the tensor (of order which is too high) into the tensor network of the binary tree structure. The nodes of such a tree represent tensors of order two or three. Moreover, the number of these tensors of low order depends linearly on the order of the original tensor. This approach, called hierarchical Tucker decomposition (HTD), can lead to storage requirements and computation savings while storing or manipulating with the tensor, respectively.

The thesis also explains how to do some selected basic arithmetic operations so that the result is also a tensor in HTD format.

Key words:

multilinear algebra; tensor; tensor network diagram; (hierarchical) Tucker decom- position (HTD); tensor train; tensor chain; tensor arithmetic; low-rank approxi- mation

(8)

Podˇ ekov´ an´ı

R´ada bych na tomto m´ıstˇe podˇekovala vˇsem, ktˇeˇr´ı se zaslouˇzili o to, ˇze jsem mohla vytvoˇrit tuto pr´aci. Dˇekuji m´ym rodiˇc˚um, kteˇr´ı mˇe podporovali po celou dobu studia nejen materi´alnˇe, ale i psychicky, a tak´e m´ym pˇr´atel˚um a spoluˇz´ak˚um, od nichˇz se mi vˇzdy dostalo pomoci a povzbuzen´ı. Zejm´ena ale dˇekuji Martinu Pleˇsingerovi za jeho cenn´e rady, nadˇsen´ı, trpˇelivost a ˇcas vˇenovan´y konzultac´ım.

(9)

Obsah

Anotace 5

Abstract 6

Seznam obr´azk˚u 10

Seznam tabulek 11

Pouˇzit´e znaˇcen´ı a zkratky 12

Uvod´ 14

1 Tenzory a z´akladn´ı manipulace s nimi, Tucker˚uv rozklad 16

1.1 Tucker˚uv rozklad . . . 17

2 Grafy 19 2.1 Z´akladn´ı pojmy teorie graf˚u . . . 19

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

2.1.2 Stupeˇn vrcholu. . . 21

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

2.1.4 Bin´arn´ı strom . . . 22

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

2.2 Faktorov´y graf . . . 23

3 Tenzor jako graf 25 3.1 Tenzor jako graf . . . 25

3.2 Tenzorov´y souˇcin . . . 25

3.3 Dalˇs´ı objekty line´arn´ı algebry interpretovateln´e jako tenzorov´e souˇciny 27 3.3.1 Stopa matice . . . 27

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

3.3.3 M´enˇe obvykl´e objekty . . . 27

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

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

4 Hierarchick´y Tucker˚uv rozklad (HTD) 31 4.1 Struktura HTD . . . 31

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

(10)

4.1.2 Vˇetven´ı bin´arn´ıho stromu pomoc´ı tenzor˚u tˇret´ıho ˇr´adu . . . 32

4.1.3 Listy stromu – tenzory druh´eho ˇr´adu . . . 33

4.1.4 Pˇr´ıklad rozkladu tenzoru osm´eho ˇr´adu. . . 33

4.2 Z´akladn´ı vˇeta HTD . . . 35

4.2.1 D˚ukaz z´akladn´ı vˇety hierarchick´eho Tuckerova rozkladu . . . . 35

4.2.2 Matice pˇrenosu. . . 37

4.3 Shrnut´ı konstrukce hierarchick´eho Tuckerova rozkladu . . . 37

4.3.1 Vˇetven´ı bin´arn´ıho stromu a tzv. dimension tree . . . 37

4.4 Efektivita uloˇzen´ı dat pomoc´ı hierarchick´eho Tuckerova rozkladu . . . 38

5 Manipulace s tenzory ve tvaru HTD 41 5.1 Souˇcin tenzoru s matic´ı v `-t´em m´odu . . . 41

5.1.1 Line´arn´ı zobrazen´ı ve tvaru Kroneckerova souˇcinu . . . 42

5.2 Souˇcet dvou tenzor˚u . . . 43

5.2.1 Line´arn´ı kombinace tenzor˚u . . . 44

5.3 Reortogonalizace a rekomprese . . . 45

5.3.1 Reortogonalizace souˇcinu tenzoru s matic´ı . . . 46

5.3.2 Reortogonalizace souˇctu dvou tenzor˚u . . . 49

5.3.3 Aktualizace koˇrene stromu . . . 50

5.4 Skal´arn´ı souˇcin dvou tenzor˚u . . . 51

5.5 V´ypoˇcetn´ı n´aroˇcnost operac´ı . . . 52

5.5.1 N´aroˇcnost souˇcinu tenzoru s matic´ı . . . 53

5.5.2 N´aroˇcnost souˇctu dvou tenzor˚u . . . 53

5.5.3 N´aroˇcnost v´ypoˇctu skal´arn´ıho souˇcinu . . . 54

6 N´aznak praktick´eho v´ypoˇctu HTD 57

Z´avˇer 60

Reference 62

(11)

Seznam obr´ azk˚ u

1.1 Tucker˚uv rozklad tenzoru ˇr´adu 3 . . . 18

2.1 Orientovan´y a neorientovan´y graf . . . 20

2.2 Stupeˇn vrcholu grafu . . . 21

2.3 Cesta a kruznice v grafu . . . 22

2.4 Souvisl´y a nesouvisl´y graf, strom . . . 22

2.5 Bin´arn´ı strom . . . 23

2.6 Faktorov´y graf . . . 24

3.1 Grafy tenzor˚u r˚uzn´ych ˇr´ad˚u . . . 25

3.2 Souˇciny vektor˚u a matic pomoc´ı graf˚u . . . 26

3.3 Souˇcin dvou tenzor˚u . . . 26

3.4 M´enˇe obvykl´e typy souˇcin˚u jednoduch´ych objekt˚u . . . 28

3.5 Tenzory vyˇsˇs´ıch ˇr´ad˚u, souˇcin s matic´ı, Tucker˚uv rozklad . . . 28

3.6 Rozklad tenzoru do tenzorov´e s´ıtˇe. . . 29

3.7 Speci´aln´ı tenzorov´e s´ıtˇe: HTD, TT, TC . . . 30

4.1 Zn´azornˇen´ı vˇetven´ı bin´arn´ıho stromu . . . 33

4.2 HTD pro tenzor 8. ˇr´adu . . . 34

4.3 Dimension tree . . . 38

4.4 Porovn´an´ı pamˇet’ov´ych n´arok˚u . . . 40

5.1 Souˇcin tenzoru v HTD s matic´ı . . . 42

5.2 Line´arn´ı zobrazen´ı ve tvaru Kroneckerova souˇcinu . . . 43

5.3 Souˇcet tenzor˚u v HTD . . . 44

5.4 Zn´azornˇen´ı postupu reortogonalizace . . . 46

5.5 Sch´ema reortogonalizace souˇcinu tenzoru s matic´ı. Krok #1 . . . 48

5.6 Sch´ema reortogonalizace souˇcinu tenzoru s matic´ı. Krok #2 . . . 49

5.7 Skal´arn´ı souˇcin tenzor˚u v HTD . . . 52

5.8 Eliminace faktor˚u pˇri skal´arn´ım souˇcinu . . . 54

6.1 Podoba HTD v htucker toolboxu v MatLabu®. . . 59

(12)

Seznam tabulek

4.1 Porovn´an´ı pamˇet’ov´ych n´arok˚u jednotliv´ych form´at˚u. . . 39 5.1 Porovn´an´ı v´ypoˇcetn´ı sloˇzitosti operac´ı . . . 56

(13)

Pouˇ zit´ e znaˇ cen´ı a zkratky

V textu znaˇc´ıme

vektory (tenzory ˇr´adu 1) pomoc´ı mal´ych p´ısmen u1, u2, ur, v1, v2, vr, x, atd.,

matice (tenzory ˇr´adu 2) pomoc´ı velk´ych p´ısmen (latinsk´ych i ˇreck´ych) A, B, C, D, E, F , U , V , Σ, atd.,

tenzory ˇr´adu k, k ≥ 3 pomoc´ı velk´ych p´ısmen psan´ych kaligraficky A, B, C, D, E , F , T , S, atd.,

mnoˇziny pomoc´ı velk´ych p´ısmen psan´ych Scriptem D, S , T , Xj,

ˇ

c´ıseln´e obory pomoc´ı velk´ych zdvojen´ych p´ısmen N, R atd., speci´alnˇe N0 =N ∪ {0}.

Pomoc´ı mal´ych p´ısmen (latinsk´ych i ˇreck´ych) tak´e znaˇc´ıme prvky matic a tenzor˚u a tak´e skal´ary (tenzory ˇr´adu 0). Speci´aln´ı v´yznam pak maj´ı p´ısmena i, j, `, jimiˇz zpra- vidla indexujeme prvky matic a tenzor˚u, a k, m, n, r, kter´a pouˇz´ıv´ame k oznaˇcen´ı ˇr´adu tenzoru, dimenze matice nebo tenzoru, resp. hodnosti (ranku) matice nebo tenzoru.

Matice a vektory

Znaˇcen´ı V´yznam

A ∈ Rn×m re´aln´a matice s rozmˇery n kr´at m, s prvky ai,j

vec(A) ∈ Rnm vektorizace matice A ∈ Rn×m A ⊗ B Kronecker˚uv souˇcin dvou matic

AT transpozice matice A

rank(A) hodnost matice definovan´a jako poˇcet line´arnˇe naz´avisl´ych ˇr´adk˚u, resp. sloupc˚u matice A

∥x∥ = (∑ix2i)1/2 eukleidovsk´a norma vektoru

(14)

Tenzory

Znaˇcen´ı V´yznam

A = (ai1,i2,i3) ∈Rn1×n2×n3 tenzor tˇret´ıho ˇr´adu o rozmˇerech n1, n2, n3 A = (ai1,...,ik) ∈Rn1×⋅⋅⋅×nk tenzor k-t´eho ˇr´adu o rozmˇerech n1, . . . , nk

a∶,i2,i3 ∈Rn1 vl´akno tenzoru tˇret´ıho ˇr´adu v m´odu 1 A∶,∶,i3 ∈Rn1×n2 ˇrez tenzoru tˇret´ıho ˇr´adu v m´odu (1, 2) vec(A) ∈ Rn1n2⋯ nk vektorizace tenzoru A ∈ Rn1×⋅⋅⋅×nk A{`}∈Rn`×((∏

kj=1nj)/n`) rozvoj tenzoru do matice v `-t´em m´odu

A{t1,...,td} rozvoj tenzoru do matice dle multiindexu {t1, . . . , td} AC rozvoj tenzoru do matice dle multiindexuC

A ×`M n´asoben´ı tenzoru matic´ı v `-t´em m´odu;

plat´ı (A ×`M ){`}=M A{`}

A ×`,sB tenzorov´y souˇcin v m´odech ` a s A ×(`1,`2),(s1,s2)B tenzorov´y souˇcin ve dvojici m´od˚u

Pouˇ zit´ e zkratky a akronymy

Zkratka V´yznam

QR QR rozklad matice, A = QR

SVD singul´arn´ı rozklad matice (singular value decomposition), A = U ΣVT

HOSVD Tucker˚uv rozklad tenzoru (high-order SVD)

HTD hierarchick´y Tucker˚uv rozklad (hiearachical Tucker decomposition) TT tensor train

TC tensor chain

MMp souˇcin matice s matic´ı (matrix-matrix product) TMp souˇcin tenzoru s matic´ı (tensor-matrix product)

(15)

Uvod ´

V numerick´ych v´ypoˇctech se ˇcasto setk´av´ame s potˇrebou uloˇzit data uspoˇr´adan´a podle urˇcit´ych parametr˚u. Tenzory jsou algebraick´ymi objekty, kter´e n´am toto u- moˇzˇnuj´ı. Poˇcet parametr˚u ud´av´a ˇr´ad tenzoru, speci´alnˇe tenzor se dvˇema rozmˇery tzv. tenzor druh´eho ˇr´adu je matice, tenzor prvn´ıho ˇr´adu je vektor. Tenzorem k-t´eho ˇr´adu T ∈ Rn1×n2×⋯×nk tedy budeme v cel´em tomto textu rozumˇet k-rozmˇern´e pole ˇc´ısel. Obor zab´yvaj´ıc´ı se prac´ı s tenzory ˇr´adu k ≥ 3 se naz´yv´a multiline´arn´ı algebra;

ta jist´ym zp˚usobem rozˇsiˇruje klasickou line´arn´ı algebru pracuj´ıc´ı se skal´ary, vektory a maticemi.

Tenzorov´e v´ypoˇcty ovˇsem sk´ytaj´ı probl´emy praktick´eho r´azu, zaˇc´ınaj´ıc´ı uˇz od potˇreby tenzor nˇejak uloˇzit v poˇc´ıtaˇci. Poˇcet prvk˚u tenzoru roste exponenci´alnˇe s ˇr´adem tenzoru k, coˇz vede k faktu, ˇze tenzory vysok´ych ˇr´ad˚u prakticky nelze uloˇzit, v anglick´e literatuˇre se setk´av´ame s term´ınem

”curse of dimensionality“. Proto jsou st´ale hled´any zp˚usoby, jak tento probl´em eliminovat a efektivnˇe tenzor uloˇzit, napˇr´ıklad v podobˇe souˇcinu tenzor˚u s niˇzˇs´ı pamˇet’ovou n´aroˇcnost´ı – tenzorov´ych rozklad˚u, a n´aslednˇe moˇznosti jak data komprimovat, tj. efektivnˇe aproximovat bez velk´ych ztr´at informac´ı.

Ukolem t´´ eto pr´ace je pˇredstavit moˇznosti reprezentace tenzor˚u a tenzorov´ych rozklad˚u, s vyuˇzit´ım teorie graf˚u, v podobˇe tzv. tenzorov´ych s´ıt´ı. Zav´ad´ıme pˇritom tzv. multigraf s volnˇe vis´ıc´ımi hranami a smyˇckami, kde vrcholy reprezentuj´ı tenzory v s´ıti a hrany mezi nimi zn´azorˇnuj´ı souˇciny v odpov´ıdaj´ıc´ıch m´odech. Speci´alnˇe, grafem tenzorov´e s´ıtˇe v podobˇe bin´arn´ıho stromu lze reprezentovat tzv. hierarchick´y Tucker˚uv rozklad tenzoru, jehoˇz anal´yze se v pr´aci vˇenujeme podrobnˇe.

Dalˇs´ım c´ılem tohoto textu je tedy v´yklad hierarchick´eho Tuckerova rozkladu (HTD, z anglick´eho hierarchical Tucker decomposition), zamˇeˇruj´ıc´ı se zejm´ena na principy odvozen´ı tohoto n´astroje, naopak praktickou implementaci v´ypoˇctu pouze naznaˇc´ıme. P˚uvodn´ı idea je ve zobecnˇen´ı singul´arn´ıho rozkladu matic, kter´a vede na tzv. Tucker˚uv rozklad, viz viz [20], [21], [22], [11] nebo [19], kter´y umoˇzˇnuje uloˇzit tenzor ˇr´adu k jako souˇcin menˇs´ıho tenzoru stejn´eho ˇr´adu, tzv. Tuckerova j´adra, a k matic. Rozmˇery j´adra jsou d´any tzv. vektorovou hodnost´ı, tj. k-tic´ı ˇc´ısel vyjadˇruj´ıc´ı hodnosti rozvoj˚u tenzoru v jednotliv´ych m´odech. Jak je ale uk´az´ano napˇr. v [26], tento rozklad velmi ˇcasto (pro tenzory vyˇsˇs´ıch ˇr´ad˚u) nepˇrinese dostateˇcnou ´usporu pamˇet’ov´ych n´arok˚u.

Hierarchick´y Tucker˚uv rozklad fakticky pracuje s j´adrem tenzoru, kter´e rozkl´ad´a do souˇcinu tenzor˚u tˇret´ıho (resp. druh´eho) ˇr´adu, reprezentovan´eho s´ıt´ı, konkr´etnˇe bin´arn´ım stromem, n´ami pˇredepsan´eho tvaru. Jako HTD vˇsak typicky uvaˇzujeme s´ıt’ ve tvaru maxim´alnˇe vyv´aˇzen´eho bin´arn´ıho stromu. Obdobou HTD, kter´a je od-

(16)

vozena stejn´ym zp˚usobem aˇz na volbu struktury stromu je tzv. tensor train, kdy je naopak volen maxim´alnˇe nevyv´aˇzen´y bin´arn´ı strom.

Text je strukturov´an n´asleduj´ıc´ım zp˚usobem. Po struˇcn´em ´uvodu v kapitole 1 zav´ad´ıme tenzor jako v´ıcerozmˇern´e pole ˇc´ısel a vysvˇetujeme z´akladn´ı operace s ten- zory, kter´e budeme v textu d´ale pouˇz´ıvat, konkr´etnˇe souˇcin tenzoru s matic´ı, rozvoj tenzoru do matice a Tucker˚uv rozklad tenzoru. Kapitola 2 je vˇenov´ana pojm˚um z teorie graf˚u, kter´e budeme potˇrebovat proto, abychom v n´asleduj´ıc´ı kapitole 3 vysvˇetlili, jak´ym zp˚usobem grafy vyuˇz´ıv´ame k reprezentaci tenzor˚u a tak´e jejich souˇcin˚u – tzv. tenzorov´ych s´ıt´ı. Kapitola 4 je vˇenov´ana hierarchick´emu Tuckerovu rozkladu (HTD), kde ukazujeme princip, na kter´em je tento rozklad postaven a do- kazujeme jeho existenci. Porovn´av´ame tak´e pamˇet’ov´e n´aroky pˇri ukl´ad´an´ı tenzoru do poˇc´ıtaˇce r˚uzn´ymi zp˚usoby a ukazujeme efektivitu uloˇzen´ı dat v HTD. V kapitole 5 vysvˇetlujeme, jak lze prov´adˇet vybran´e z´akladn´ı operace s tenzory, jsou-li tyto uloˇzeny v HTD tak, abychom i v´ysledn´y tenzor z´ıskali v tomto tvaru. V kapitole 6 ukazujeme, jak´ym zp˚usobem lze HTD tenzoru spoˇc´ıtat v dan´e konkr´etn´ı situaci.

(17)

1 Tenzory a z´ akladn´ı manipulace s nimi, Tucker˚ uv rozklad

V prvn´ı kapitole vysvˇetl´ıme pojem tenzor a uk´aˇzeme z´akladn´ı n´astroje potˇrebn´e pro pr´aci s tenzory. Pˇripomeneme tak´e Tucker˚uv rozklad tenzoru jako zobecnˇen´ı singul´arn´ıho rozkladu matice.

Definice 1 (Tenzor). Necht’ T je k-rozmˇern´e pole re´aln´ych ˇc´ısel ti1,i2,...,ik o rozmˇerech n1, n2, . . . , nk. Potom

T = (ti1,i2,...,ik) ∈Rn1×n2×⋯×nk (1.1) naz´yv´ame tenzor k-t´eho ˇr´adu, viz [10], [11].

Aritmetick´e vektory a matice povaˇzujeme za tenzory prvn´ıho, resp. druh´eho ˇr´adu.

Tenzory stejn´eho ˇr´adu, kter´e maj´ı stejn´e rozmˇery, tvoˇr´ı spoleˇcnˇe s operacemi sˇc´ıt´an´ı (po prvc´ıch) a n´asoben´ı skal´arem vektorov´y prostor.

D˚uleˇzitou operac´ı pro pr´aci s tenzory je n´asoben´ı. N´asleduj´ıc´ı definice ukazuje, jak n´asobit tenzor s matic´ı.

Definice 2 (Souˇcin v `-t´em m´odu). Necht’ T je tenzor (1.1) a M ∈ Rm×n` je matice s prvky mi,j, kde i = 1, . . . , m, j = 1, . . . , n`. Potom

D = T ×`M ≡⎛

n`

α=1

ti1,...,i`−1,α,i`+1,...,ik⋅mi,α

∈Rn1×⋯×n`−1×m×n`+1×⋯×nk (1.2) se naz´yv´a souˇcin v `-t´em m´odu viz [11].

Vzhledem k faktu, ˇze tenzor m˚uˇzeme povaˇzovat za zobecnˇen´ı matice, je samozˇrejmˇe moˇzn´e definovat souˇcin dvou tenzor˚u obecnˇeji, analogicky k (1.2), coˇz pop´ıˇseme n´aslednˇe.

Mˇejme tenzory T = (ti1,i2,...,ik) ∈ Rn1×n2×⋯×nk a S = (sj1,j2,...,j`) ∈ Rm1×m2×⋯×m`. Pokud np=mq≡µ, potom

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` (1.3)

(18)

povaˇzujeme za souˇcin tˇechto tenzor˚u. Tento druh souˇcinu m˚uˇzeme v nˇekter´ych zdroj´ıch nal´ezt pod pojmy ´uˇzen´ı tenzor˚u, viz [15, str. 70], contracted product, viz [2, str. 643] nebo tensor-tensor contraction, viz [19, str. 31].

S tenzory m˚uˇzeme nˇekdy pracovat i ve tvaru matice. Pro to bude uˇziten´e defi- novat tzv. rozvoj tenzoru v matici v dan´em m´odu, pˇr´ıp. m´odech.

Definice 3 (Rozvoj tenzoru v matici). Uvaˇzujme tenzor T (1.1) a jeho sadu index˚u rozdˇelenou do dvou disjunktn´ıch podmnoˇzin R a C , pˇriˇcemˇz R ≡ {r1, r2, . . . , rR} a C ≡ {c1, c2, . . . , cC} a z´aroveˇn R ∪ C = {1, 2, . . . , k} a nav´ıc plat´ı r1 <r2 < ⋯ <rR a c1 <c2< ⋯ <cC. Matice

TR = T{r1,r2,...,rR} ∈RNR×NC, kde NR=

R

`=1

nr`, NC =

C

`=1

nc`, (1.4) obsahuj´ıc´ı prvky ti1,i2,...,ik v ˇr´adc´ıch s multiindexy (irR, . . . , ir2, ir1) a ve sloupc´ıch s multiindexy (icC, . . . , ic2, ic1) v lexikografick´em poˇrad´ı se naz´yv´a rozvoj tenzoru v matici (v angliˇctinˇe matricization), viz [19, kap. 3.1.2].

Speci´aln´ım pˇr´ıpadem rozvoje tenzoru je tzv. rozvoj tenzoru v `-t´em m´odu, kde jedna z mnoˇzin multiindex˚u obsahuje pouze jeden prvek, tj. R = {`}, C = {1, . . . , k} ∖ {`}.

V tomto pˇr´ıpadˇe dost´av´ame

T{`}∈Rn`×((∏

kj=1nj)/n`), (1.5) viz [11]. Dalˇs´ı speci´aln´ı pˇr´ıpad nast´av´a, pokud je mnoˇzina C pr´azdn´a. Dost´av´ame potom sloupcov´y vektor obsahuj´ıc´ı vˇsechny prvky tenzoru T , tzv. vektorizaci ten- zoru, kterou oznaˇcujeme vec(T ).

1.1 Tucker˚ uv rozklad

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`)

(19)

ˇ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].

(20)

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.

(21)

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.

(22)

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:

deg(vi) =

n

j=1 j≠i

µ({vi, vj}) +µ({vi, f }) + 2µ({vi}), (2.3)

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

(23)

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)

(24)

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 k disjunktn´ıch podmnoˇzin, tj.

V = V1∪ ⋯ ∪Vk a z´aroveˇn Vi∩Vj = ∅, i = 1, . . . , k, j = 1 . . . , k, i ≠ j.

Budeme-li mnoˇziny V1, . . . , Vk nyn´ı povaˇzovat za vrcholy grafu ̃G, plat´ı pro tyto vrcholy

deg(Vi) =

v`∈Vi

deg(v`)

−2 ⋅⎛

h`∈(Vi2)∪(Vi1)

µ(h`)

⎠ ,

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.

(25)

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).

(26)

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

(27)

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.

(28)

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.

trace(A) =

n

i=1

ai,i.

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

⟨A, B⟩ = (vec(A))T ⋅ (vec(B)) =

n

i=1 m

j=1

ai,j⋅bi,j 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

n

i=1 m

j=1 o

k=1

ai,j⋅bj,k⋅ck,i. 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“.

(29)

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

(30)

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.

(31)

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.

(32)

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

(33)

(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.

T{1,...,s}∈RNL×NR, kde NL=n1⋅n2⋅ ⋯ ⋅ns, NR=ns+1⋅ns+2⋅ ⋯ ⋅nk. Uvaˇzujme ekonomick´y tvar singul´arn´ıho rozkladu t´eto matice

T{1,...,s}=U(1−s)Σ(1−s)(V(1−s))T, (4.2) kde

U(1−s) ∈RNL×r(1−s), Σ(1−s)∈Rr(1−s)×r(1−s), V(1−s)∈RNR×r(1−s), (4.3) pˇriˇcemˇz

r(1−s)=rank (T{1,...,s}). (4.4)

T´ımto jsme dos´ahli prvn´ıho kroku pˇri hled´an´ı HTD, jelikoˇz m´ame tenzor ˇr´adu 2, matici Σ(1−s), kter´a je koˇrenem hledan´eho bin´arn´ıho stromu, viz obr´azek 3.7 vlevo.

4.1.2 Vˇ etven´ı bin´ arn´ıho stromu pomoc´ı tenzor˚ u tˇ ret´ıho ˇ r´ adu

Z obr´azku je d´ale patrn´e, ˇze s´ıt’ HTD obsahuje tak´e velk´e mnoˇzstv´ı tenzor˚u tˇret´ıho ˇr´adu, kter´e budeme hledat ve smˇeru k list˚um, tak jak naznaˇcuje obr´azek4.1.

Pro jejich nalezen´ı vyuˇzijeme d˚uleˇzitou vlastnost, kterou pozdˇeji zobecn´ıme ve vˇetˇe 1. Uvaˇzujme m takov´e, ˇze 1 ≤ m < s. Uvaˇzujme d´ale matice U(1−m) a U((m+1)−s) lev´ych singul´arn´ıch vektor˚u z´ıskan´e z ekonomick´ych singul´arn´ıch rozklad˚u rozvoj˚u T{1,...,m} a T{m+1,...,s} podobnˇe jako ve (4.2)–(4.4). Pro obor hodnot matice U(1−s) plat´ı

R(U(1−s)) ⊆ R (U((m+1)−s)⊗U(1−m)), (4.5) neboli kaˇzd´y sloupec matice U(1−s) lze zapsat jako line´arn´ı kombinaci sloupc˚u Kro- neckerova souˇcinu matic U(1−m) a U((m+1)−s). Tedy existuje matice B takov´a, ˇze

U(1−s) = (U((m+1)−s)⊗U(1−m)) ⋅B(1−s), B(1−s)∈R(r(1−m)⋅ r((m+1)−s))×r(1−s); (4.6) sloupce matice B(1−s) obsahuj´ı koeficienty v´yˇse zm´ınˇen´ych line´arn´ıch kombinac´ı.

Tuto matici je moˇzn´e ch´apat jako rovoj tenzoru tˇret´ıho ˇr´adu B tak, ˇze B(1−s)= B{1,2}

(1−s), kde B(1−s)∈Rr(1−m)×r((m+1)−s)×r(1−s). (4.7) Analogick´ym postupem budeme d´al pracovat s maticemi U(1−m) a U((m+1)−s), ˇc´ımˇz se postupnˇe rozvˇetvuje bin´arn´ı strom a z´ısk´av´ame tak dalˇs´ı faktory – tenzory tˇret´ıho ˇr´adu – tenzorov´e s´ıtˇe, viz obr´azek 4.2. S matic´ı V(1−s) naloˇz´ıme podobnˇe, staˇc´ı si uvˇedomit, ˇze plat´ı

V(1−s)≡U((s+1)−k), nebot’ (T{1,...,s})T = T{s+1,...,k}. (4.8) Uvˇedomme si, ˇze podobu tenzorov´e s´ıtˇe (vˇetven´ı bin´arn´ıho stromu) urˇcuje vˇzdy rozdˇelen´ı mnoˇziny index˚u a tomu odpov´ıdaj´ıc´ı rozvoje v jednotliv´ych kroc´ıch.

(34)

Obr´azek 4.1: Zn´azornˇen´ı vˇetven´ı bin´arn´ıho stromu – tenzorov´e s´ıtˇe pˇri hierarchick´em Tuckerovˇe rozkladu.

4.1.3 Listy stromu – tenzory druh´ eho ˇ r´ adu

Zp˚usobem popsan´ym v pˇredchoz´ı ˇc´asti se postupnˇe dostaneme aˇz k mnoˇzinˇe matic U(1), U(2), . . . , U(k), U(`) ∈Rn`×r(`), ` = 1, . . . , k.

Pˇripomeˇnme, ˇze pro hodnoty r` z klasick´eho Tuckerova rozkladu a hodnosti r(`), kter´e z´ısk´av´ame pˇri hierarchick´em Tuckerovˇe rozkladu plat´ı

r`=r(`)=rank(T{`}),

jelikoˇz hodnosti Tuckerova j´adra jsou d´any jednoznaˇcnˇe. D´ale tak´e zˇrejmˇe plat´ı R(U`) = R(U(`)).

4.1.4 Pˇ r´ıklad rozkladu tenzoru osm´ eho ˇ r´ adu

Pˇr´ıklad 2. V tomto pˇr´ıkladu postupnˇe pouˇzijeme vztah (4.6) k ilustraci postupu pˇri HTD tenzoru T ˇr´adu k = 8 = 23, viz tak´e obr´azek 4.2. Zˇrejmˇe plat´ı

vec(T ) = T{1,...,8} = (U(5−8)⊗U(1−4)) ⋅B(1−8), kde B(1−8)=vec(Σ(1−4)) a U(5−8)=V(1−4), viz (4.2) a (4.8), a kde

U(1−4) = (U(3−4)⊗U(1−2)) ⋅B(1−4), U(5−8) = (U(7−8)⊗U(5−6)) ⋅B(5−8),

References

Related documents

Po vytvoˇ ren´ı jednoduch´ eho regresn´ıho modelu metodou nejmenˇ s´ıch ˇ ctverc˚ u zaˇ c´ın´ a f´ aze statistick´ e verifikace a dalˇ s´ıho testov´ an´ı hypot´ ez

Asociace se prov´ ad´ı pˇri navazov´ an´ı spojen´ı v aplikaˇ cn´ı vrstvˇ e a pˇri asociaci si klient a server stanov´ı urˇ cit´ e komunikaˇ cn´ı parametry, kter´ e

Zvolil jsem ˇreˇsen´ı GPS/GPRS/GSM Module V3.0 [12] od firmy DFROBOT, kter´ e obsahuje moˇ znost jednoduch´ eho pˇripojen´ı vˇsech moˇ zn´ ych periferi´ı

Operaˇ cn´ı zesilovaˇ ce jsou vyuˇ zity k transformaci elektrick´ eho proudu, kter´ y generuje fotodioda v sondˇ e v z´ avislosti na absorbanci svˇ etla tk´ an´ı, na

Na obr´ azku 4.35 je zobrazeno porovn´ an´ı akustick´ eho tlaku nad nosn´ıkem uni- morf (bez elektrod i s elektrodami vych´ az´ı nad nosn´ıkem velice podobn´ y akustick´ y

Na z´ akladˇ e anal´ yzy relaˇ cn´ı a nerelaˇ cn´ı datab´ aze a poˇ zadavk˚ u k t´ eto bakal´ aˇrsk´ e pr´ aci lze ˇr´ıct, ˇ ze nerelaˇ cn´ı syst´ emy ˇr´ızen´ı b´

Mezi data ukl´ adan´ a do datab´ aze patˇr´ı informace o pool serveru, ke kter´ emu je tˇ eˇ zebn´ı klient aktu´ alnˇ e pˇripojen, informace o dobˇ e tˇ eˇ zby aktu´

Samozˇrejmˇ e je moˇ zn´ e urˇ cit´ ym zp˚ usobem sledovat performance desktopov´ e aplikace, jenˇ ze to nem´ a velk´ y smysl, protoˇ ze v´ yvoj´ aˇr pˇri testov´