Upload
conley
View
42
Download
0
Embed Size (px)
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