+ All Categories
Home > Documents > Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

Date post: 10-Jan-2016
Category:
Upload: peigi
View: 31 times
Download: 1 times
Share this document with a friend
Description:
Paralelní výpočet SVD s aplikacemi pro vyhledávání informací. Petr Kotas , Vít Vondrák , Pavel Praks Fakulta elektrotechniky a Informatiky V ŠB - TUO. Motivace. Pro č se problémem SVD a vlastních čísel zabývat Řešení homogeních lineárních rovnic Využití při analýze DNA - PowerPoint PPT Presentation
31
10. června 2010 Paralelní výpočet SVD s aplikacemi pro vyhledávání informací Petr Kotas, Vít Vondrák, Pavel Praks Fakulta elektrotechniky a Informatiky VŠB - TUO
Transcript
Page 1: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

Petr Kotas, Vít Vondrák,Pavel Praks

Fakulta elektrotechniky a Informatiky VŠB - TUO

Page 2: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Motivace

• Proč se problémem SVD a vlastních čísel zabývat

– Řešení homogeních lineárních rovnic

– Využití při analýze DNA

– Registrace obrazu

– Komprimace dat

– Statistika

– Vyhledávače

Page 3: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Obsah

• Úvod do SVD– Výpočet a problémy při něm vznikající– Návrh řešení → paralelizace

• Výpočet SVD– Bidiagonalizace– Výpočet singulárních čísel– Výpočet singulárních vektorů– Sestavení rozkladu

• Aplikace na multimediální data

Page 4: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Úvod do SVD

• Výpočet je velmi náročný na HW– Pro plné matice je SVD vysoce paměťově náročné– Značná náročnost na floating point operace (kvůli přesnosti)

• Iterační charakter → větší náročnost než jiné rozklady• Praktická implementace → rozdělení problému

– Bidiagonalizace– Výpočet singulárních čísel z bidiagonální matice– Výpočet singulárních vektorů

Page 5: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

• Praktická implementace– Využití Householderových zrcadlení

• Urychlení výpočtu• Numerická stabilita

– Householderova matice

Ortogonální tranformace, redukující dimenzi problému. Ortogonální tranformace, redukující dimenzi problému.

Page 6: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

Page 7: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

Page 8: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

Page 9: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

Page 10: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

Page 11: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

Page 12: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

Page 13: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD - Bidiagonalizace

Page 14: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Bidiagonalizace : Distribuce

Page 15: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Paralelní bidiagonalizace• Distribuovaný výpočet

– V každém kroku se spočítá Householderův vektor

– Houselderoův vektor se rozdistribuuje na každý uzel

– Každý uzel dále elimuje prvky jemu přiřazené

Page 16: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Bidiagonalizace : Škálovatelnost

• Největší problém— Dimenze 12800 x 12800 (1.2GB)— Doba běhu 1(h)

Page 17: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Výpočet singulárních čísel

• Diagonalizace matice– Pomocí Givensonových

rotací– Iterační proces– Řád konvergence je O(N2)

Page 18: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Výpočet singulárních čísel

• Vynulování prvního prvku bidiagonály

Page 19: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Výpočet singulárních čísel

• Vynulování prvního prvku bidiagonály

• Vynulování nově vzniklého prvku

Page 20: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Výpočet singulárních čísel

• Vynulování prvního prvku bidiagonály

• Vynulování nově vzniklého prvku

• Opravení prvního řádku

Page 21: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Výpočet singulárních čísel

• Vynulování prvního prvku bidiagonály

• Vynulování nově vzniklého prvku

• Opravení prvního řádku• Na třetím řádku se

objeví prvek navíc

Page 22: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Výpočet singulárních čísel

• Vynulování prvního prvku bidiagonály

• Vynulování nově vzniklého prvku

• Opravení prvního řádku• Na třetím řádku se

objeví prvek navíc• Opravení druhého řádku

Page 23: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Výpočet singulárních čísel

• Vynulování prvního prvku bidiagonály

• Vynulování nově vzniklého prvku

• Opravení prvního řádku• Na třetím řádku se objeví

prvek navíc• Opravení druhého řádku• Vynulování posledního

prvku navíc

Page 24: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Výpočet singulárních čísel

• Diagonalizace– Ukončovací podmínka

• Největší problém– Dimence 12800 x 12800– Doba běhu 791.79 (s)– Počet iterací 325161

Důkaz lze najít v G.W.Stewart – Matrix algorithms vol 2

Page 25: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Výpočet SVD – Singulární vektory

• Sestavení matic U a V (ortogonálních tranformací)– Matice   a   jsou sestaveny postupnou akumulací z

Householderových vektorů• Potřebuje  

– Sestavení matic a je proces řešení třídiagonálních soustav  

– Výsledné matice U a V vzniknou pronásobením přechozích

U~V~

Page 26: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Porovnání s Matlabem – sekvenční kód

Page 27: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Závěr

• Existující implementace– ScaLapack, Lapack, MatLab, ProPack ...

• Proč se zabývat novou implementací– Výpočet úplného singulárního rozkladu pro plné velké matice– Licence paralelního MatLabu je drahá– Většina stávajících implentací je pro řídké matice– Stávající řešení se povětšinou zaměřují na největší vlastní čísla

• Budoucnost– Akcelerace výpočtu pomocí „kompaktní reprezentace“

Householderovy tranformace– Další zvětšení dimenze řešitelných problémů– Možnost volby části spektra pro výpočet

Page 28: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Aplikace na multimediální data

• Hledání podobnosti dvou digitálních obrazů– Problém velikost

• Aproximace matic pomocí SVD (LSI)  • Umožní redukci dimenze původní datové matice řádově na desetinu

– Matematický popis (pro úplnost , zde se jím nezabýváme)• MPEG-7• Rozdělění histogramu• Frekvenční odezva na waveletové filtry

Page 29: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Aplikace na multimediální data : Ukázka

Page 30: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Aplikace na multimediální data : Ukázka

Page 31: Paralelní výpočet SVD s aplikacemi pro vyhledávání informací

10. června 2010

Děkuji za pozornost.

Dotazy?


Recommended