Trénovanie rekurentn ých neurónových sietí na grafickom procesore

Preview:

DESCRIPTION

Trénovanie rekurentn ých neurónových sietí na grafickom procesore. Peter Trebatický. Úvod. Pre čo použiť grafický procesor Kalmanova filtrácia výpočtovo náročná Rapídne sa zvyšujúci výkon bežne dostupných GPU Použitie pri trénovaní Dopredné a spätné šírenie Modifikácie Kalmanovho filtra - PowerPoint PPT Presentation

Citation preview

Trénovanie rekurentných neurónových sietí na grafickom procesore

Peter Trebatický

Úvod

Prečo použiť grafický procesor Kalmanova filtrácia výpočtovo náročná Rapídne sa zvyšujúci výkon bežne

dostupných GPU Použitie pri trénovaní

Dopredné a spätné šírenie Modifikácie Kalmanovho filtra Neurónové siete s echo stavmi

Grafické procesorové jednotky

Grafické procesorové jednotky na bežných grafických kartách sa vyvinuli v extrémne flexibilné a výkonné procesory

Pôvodne pre urýchlenie matematických výpočtov pre zobrazovanie grafiky

Kvôli rastúcej zložitosti ponúkaných algoritmov „natvrdo“ bola pridaná možnosť programovania

General Purpose Computing on GPU Niektoré karty nemajú grafický výstup Grafická karta sa stáva koprocesorom

Porovnanie výpočtovej sily

Prečo sú GPU stále rýchlejšie?

Je to vysoko paralelný výpočtový prostriedok

Sú špecializované, je jednoduchšie pridať ďalšie tranzistory určené na výpočet a nie na cacheovanie dát a riadenie

Trh s počítačovými hrami tlačí na vyšší výkon za nižšiu cenu

Konkurencia podnecuje inováciu

Prúdové spracovanie

Prúdy Skupina údajov vyžadujúcich podobné spracovanie

Prvky na mriežke, voxely, atď. Poskytujú dátový paralelizmus

Kernely Funkcie aplikované na každý prvok v prúde

Transformácie, rovnice, ... Malá závislosť medzi elementami

Programujeme pre stovky procesorov Bežia na nich kernely (spolupracujúce vlákna)

spracúvajúce prúdy

Donedávna zložité

Grafické karty boli vytvorené pre videohry Neobvyklý programovací model Jednotlivé pojmy späté s počítačovou grafikou Veľmi obmedzené programovacie prostredie

Problém nesúvisiaci s grafikou bolo treba pretransformovať na prácu s „grafikou“ Dáta => textúry Algoritmy => skladanie obrazu (renderovacie

prechody) Dá sa zapisovať len na predom zvolené miesto

(pixel)

Jazyky

API Direct3D, OpenGL

Využitie shaderov HLSL, GLSL, Cg

GPGPU jazyky Skrývajú detaily D3D/OpenGL Brook, Sh, RapidMind, Accelerator CTM (CAL): ACML CUDA: CUBLAS

CUDA

Hardvér aj softvér navrhnutý s ohľadom na možnosť všeobecných výpočtov na GPU

Hardvér – plne dátovoparalelná architektúra Spúšťanie vlákien (lightweight) Globálne čítanie aj zápis Cache paralelných dát Skalárna architektúra Celé čísla, bitové operácie (doteraz len 32b

float) Softvér – programuje sa v C

Jazyk C s užitočnými rozšíreniami

Pamäťový model modernej GPU

Využitie GPU v umelej inteligencii

Genetický algoritmus - 20× Operátory aj fitnes na GPU

Genetické programovanie - 100× Vyhodnotenie stromov

Support Vector Machines - 28× Rozoznávanie tváre

Dopredná neurónová sieť Dopredné šírenie - 20× Spätné šírenie chýb v čase - 3×

Dopredné a spätné šírenie

Maticovými operáciami Po vrstvách

u W1 = a1

y1 = f(a1)

Pri doprednej sieti spojíme viacero vstupov do matice

U W1 = A1

Y1 = f(A1)

Alebo...

N telies v priestore

N telies v priestore na GPU

Kalmanova filtrácia

Alternatíva ku gradientovým metódam trénovania neurónových sietí

Jednoduchý princíp Stáva sa populárnym Známy niekoľko desaťročí Používaný v rôznych oblastiach

Kalmanov filter

-2 0 2 4 6 8 10 12 14

Kalmanov filter

-2 0 2 4 6 8 10 12 14

predikcia

Predikcia

Kalmanov filter

-2 0 2 4 6 8 10 12 14

predikcia

pozorovanie

Predikcia

Kalmanov filter

-2 0 2 4 6 8 10 12 14

predikcia

pozorovanie

korekcia

Predikcia Korekcia

Kalmanov filter

-2 0 2 4 6 8 10 12 14

predikcia

pozorovanie

korekcia

Predikcia Korekcia

Kalmanov filter

-2 0 2 4 6 8 10 12 14

predikcia

pozorovanie

korekcia

Predikcia Korekcia

I n i iali áciac z

Kalmanov filter

Sada matematických rovníc Pre lineárne dynamické systémy

Prediktor-korektor Optimálny

xk+1 = Fk+1,kxk + qk stavová rovnica

yk = Hkxk + rk rovnica pozorovania

qk~N(0, Qk); rk~N(0, Rk)

Kalmanov filter

Predikcia

Korekcia

, 1 11ˆ ˆk k k kk

x F x

, 1 1 , 1 1T

k k k k k k k

P F P F Q

( )1T Tk k k k k k k

K P H H P H R

( )k k k k k k x x K y H x

( )k k k k P I K H P

Neurónová sieť ako dynamický systém

Váhy siete predstavujú „stav“ systému

yk je požadovaný výstup Odhad parametrov Nelineárny systém

xk+1 = xk + qk

yk = hk(xk, uk, vk-1) + rk

Rozšírený Kalmanov filter (EKF)

Taylorov rozvoj okolo aktuálne odhadovaného stavu

Prvý člen rozvoja Linearizácia Môžeme použiť Kalmanov filter

Rozšírený Kalmanov filter (EKF)

Rovnice:

Rozmery matíc

( )

1

1 1

1

ˆ ˆ ˆ , ,

T Tk k k k k k k

k k k k k k k

k k k k k k

h

K P H H P H R

x x K y x u v

P P K H P Q

, , , ,x o x x x x o o o xn n n n n n n n n n K P Q R H

Úzke miesta

Násobenie matíc Invertovanie symetrickej matice Choleského dekompozícia

Použijeme pri výpočte inverznej matice1

1

1

T

T

AA I

BB A I

B A Z

BZ I

, , je dolná trojuholníková maticaT B A A BB B

2. Dopredný prechod

1. Substitúcia, 3. Spätný prechod

Násobenie matíc na GPU

So staršou architektúrou problematické Architektúra nebola vhodná Veľa údajov sa znovupoužíva Kombinácia CPU+GPU

CUDA pre NVidia poskytuje operácie BLAS 1 až 3 BLAS3 = násobenie matíc

Objektívne porovnanie

Knižnica ATLASIntel Core2 Quad Q6600 2.4 GHz

Knižnica CUBLASnVidia GeForce 8800 GTX

Obe dodržujú štandard BLAS Zdrojový kód skoro identický

Drobná úprava vo volaní funkcií Prenos údajov CPU - GPU

Vplyv reprezentácie desatinných čísel Paralelne sa dá počítať aj na procesore

Predikcia nasledujúceho symbolu v postupnosti Laser

0.5 0.

9 1.0 1.2

2.3

4.2

0.5

1.0 1.

1 1.2 1.

6

2.9

0.5 0.

9 1.1 1.2

2.1

6.0

0.6 1.

0 1.1 1.

3

2.1

4.9

0.0

1.0

2.0

3.0

4.0

5.0

6.0

J=4,w=56

J=8,w=140

J=12,w=256

J=16,w=404

J=30,w=1174

J=60,w=4144

Rel

atív

na r

ýchl

osť

EK

F G

PU

EKF ATLASf

EKF ATLASft

EKF ATLASd

EKF ATLASdt

Dosiahnuté výsledky

Trénovací cyklus

Presnosť výpočtu

-0.6%

-0.4%

-0.2%

0.0%

0.2%

0.4%

0.6%

0.8%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Roz

diel

EKF ATLASf vs EKF ATLASd

EKF GPU vs EKF ATLASd

EKF GPU vs EKF ATLASf

Unscented Kalman Filter (UKF)

Unscented Kalman Filter (UKF)

Sigma body Malý počet Deterministicky volené Zachytávajú skutočné štatistiky Prejdú nelineárnou transformáciou

Nie sú potrebné derivácie Vyhodnotenia funkcií Nutnosť prešíriť vstupy sieťou

s novými váhami (sigma bodmi)

Unscented Kalman Filter (UKF)

Časová aktualizácia

Aktualizácia pozorovaním

[ 1]

[ ]

ˆ

ˆx

x x

n

n n

x x

P P Q

( )( )

( )( )

[ 2 1]

[ 2 1]

2 ( )[ 1] 0

2 ( )[ ] 0

2 ( )[ ] 0

[ ]

(sigma body)

g( , )

x x

o x

x

x

x

o o

x

x o

x o

n n

n n

n mn i ii

n Tcyy n n i i ii

n Tcxy n n i i ii

Tn n xy yy

W

W

W

χ x x P x P

χ u

y

P y y R

P χ x y

K P P

( )ˆ

ˆd

Tyy

x x K y y

P P KP K

Filter nprKF

Len vyhodnotenia funkcií Stirlingova formula

Namiesto Taylorovho rozvoja Derivácie určené numericky S presnosťou do 2. rádu

Podobnosť s UKF Tiež sigma body Presnejší odhad

Triangularizácia matice Householderovými transformáciami

Zdieľané filtre UKF a nprKF

Označenie UKFj a nprKFj (joint) Výstupy rekurentných neurónov

súčasťou stavového vektora Nelineárna stavová rovnica

Zmena v rovniciach kroku predikcie Zjednodušenie výpočtu výstupu siete

xk+1 = f(xk, uk) + qk namiesto xk+1 = xk + qk

Neurónové siete s echo stavmi

Rezervoár rekurentne poprepájaných neurónov – riedko a náhodne

Sieť s echo stavmi

Stav neurónov pre rovnakú vstupnú postupnosť po čase nezávisí od jeho počiatočného stavu

Sieť s echo stavmi

Skombinovanie signálov z rezervoára

Sieť s echo stavmi

Skombinovanie signálov z rezervoára Získanie histórie stavov X Požadované výstupy Y Výstupné váhy ako lineárna kombinácia 1. možnosť

Inverzia symetrickej matice Choleského dekompozícia

2. možnosť

Pseudoinverzná matica pomocou SVD

Generovanie melódie

Pôvodná melódia

Generovanie melódie

Pôvodná melódia

Začiatok

Pokazenie

0,4

0,2

-0,2

-0,4

Zhrnutie

Zrýchlenie výpočtu „zadarmo“ GeForce 8, Radeon R580, aj mobilné verzie

Nie je vždy nutná podrobná znalosť GPU CUDA ACML

Na rozdiel od špeciálnych koprocesorov, multiprocesorových strojov, gridov

Tézy dizertačnej práce

Modifikácie Kalmanovho filtra Zjednodušenie všeobecných vzorcov pre

rekurentné neurónové siete UKF a nprKF

UKFj pravdepodobne prvý krát použitý v kontexte rekurentných sietí

Grafické procesory Ukázanie vhodnosti použitia pri trénovaní

rôznych sietí a algoritmov pre rekurentné siete Objektívne porovnanie rýchlosti s CPU pri

porovnateľnom vynaloženom úsilí

Súpis prác

AAB Vedecké monografie vydané v domácich vydavateľstvách Kvasnička, Vladimír - Trebatický, Peter - Pospíchal, Jiří - Kelemen,

Jozef: Myseľ, inteligencia a život. - Bratislava : Vydavateľstvo STU v Bratislave, 2007. - 517 s. - ISBN 978-80-227-2643-6

ADC Vedecké práce v zahraničných karentovaných časopisoch Trebatický, Peter: Recurrent Neural Network training with the

Kalman Filter-based techniques, Vol. 15, No.5. In: Neural network world. - ISSN 1210-0552. - Vol. 15 No. 5 (2005), s. 471-488

ADE Vedecké práce v zahraničných nekarentovaných časopisoch

Trebatický, Peter - Pospíchal, Jiří: Neural Network Training with Extended Kalman Filter Using Graphics Processing Unit. In: Lecture Notes in Computer Science. - ISSN 0302-9743. - Vol. 5164 Artificial Neural Networks - ICANN 2008, Part II, 18th International Conference, Prague, CzR, September 2008 : Proceedings (2008). - : Springer Berlin/Heidelberg, s. 198-207

Súpis prác

AEC Vedecké práce v zahraničných recenzovaných vedeckých zborníkoch, monografiách

Trebatický, Peter: Generalizácia s neurónovými sieťami a echo stavmi.In: Kognice a umělý život. - Kognice a umělý život V: Svazek 2. Opava, Máj 2005. - Opava : Slezská universita v Opavě, 2005, s. 563-572

Trebatický, Peter: Modifikácie Kalmanovho filtra pre trénovanie neurónových sietí.In: Kognice a umělý život VII. - Opava: Slezská univerzita, 2007. - ISBN 978-80-7248-412-6. - S. 349-355

Trebatický, Peter: Výpočty na grafickom procesore v rámci umelej inteligencie.In: Kognice a umělý život VIII (sborník). - : Slezská univerzita v Opavě, 2008. - ISBN 978-80-7248-462-1. - S. 333-338

AED Vedecké práce v domácich recenzovaných vedeckých zborníkoch, monografiách

Trebatický, Peter: Korektúra textu neurónovými sieťami s echo stavmi.In: Myseľ, inteligencia a život. - Bratislava : Vydavateľstvo STU v Bratislave, 2007. - ISBN 978-80-227-2643-6. - S. 357-368

Súpis prác

AFC Publikované príspevky na zahraničných vedeckých konferenciách Čerňanský, Michal - Makula, Matej - Trebatický, Peter - Lacko, Peter: Text

Correction Using Approaches Based on Markovian Architectural Bias.In: EANN 2007, Proceedings of the 10th International Conference on Engineering Applications of Neural Networks, Thessaloniki, Greece, 29.-31.8.2007. - Thessaloniki : Publishing Centre Alexander Technological Educational Institute of Thessaloniki, 2007. - ISBN 978-960-287-093-8. - S. 221-228

Trebatický, Peter: Echo-state networks generalization. In: MENDEL 2005: 11th International Conference on Soft Computing : Brno, June 15-17, 2005. - Brno : Institute of Automation and Computer Science FAculty of Mechanical Engineering Brno University of Technology, 2005. - ISBN 80-214-2961-5. - S. 151-156

Trebatický, Peter: Korektúra textu neurónovými sieťami s echo stavmi.In: Kognice a umělý život VI : 6. seminář, 28.5.-1.6.2006 Třešť, ČR. - : Slezská univerzita v Opavě, 2006. - ISBN 80-7248-355-2. - S. 393-399

Trebatický, Peter: Trénovanie rekurentných neurónových sietí technikou rozšíreného Kalmanovho filtra. In: CZ ACM Student 2004, Finále, Praha 26.11.2004. - , 2004. - S. 8

Súpis prác

AFD Publikované príspevky na domácich vedeckých konferenciách Trebatický, Peter: Kalman Filter Modifications for Neural Network Training.

In: Student Research Conference 2007. 3rd Student Research Conference in Informatics and Information Technologies Bratislava, April 18, 2007 : Proceedings in Informatics and Information Technologies. - Bratislava : STU v Bratislave FIIT, 2007. - ISBN 978-80-227-2631-3. - S. 257-264

Trebatický, Peter - Pospíchal, Jiří: Prediction with Echo state Networks.In: Student Research Conference 2006 : Proceedings in Informatics and Information Technologies. - : Vydavateľstvo STU v Bratislave, 2006. - ISBN 80-227-2395-9. - S. 79-86

Trebatický, Peter - Bieliková, Mária: Programming Contest at IIT.SRC 2008.In: Student Research Conference 2008. 4th Student Research Conference in Informatics and Information Technologies Bratislava, April 30, 2008 : Proceedings in Informatics and Information Technologies. - : STU v Bratislave FIIT, 2008. - ISBN 978-80-227-2848-5. - S. 445-446

Trebatický, Peter: Recurrent Neural Network Training with the Extended Kalman Filter.In: Student Research Conference 2005 : Proceedings in Informatics and Information Technologies. - Bratislava : Faculty of Informatics and Information Technologies, 2005. - ISBN 80-227-2217-0. - S. 57-64

AFH Abstrakty príspevkov z domácich konferencií Trebatický, Peter: Recurrent Neural Network Training with the Kalman Filter Based

Techniques. In: 1-st. Slovak-Japanese Seminar on Intelligent Systems. Herľany - Slovak Republic, 18.9.-20.9.2005. - , 2005

Recommended