Umělé neuronové sítě a Support Vector Machnes Petr Schraz scharzp@ft.vutbr.cz
Perceptron ( neuron) x x x N f() y y N f ( x + b) x vstupy neuronu váhy jednotlvých vstupů b aktvační práh f() nelneární funkce
Co umí perceptron? Chceme klasfkovat mez dvěm třídam, řekněme, že: pokud y>, vstupní vektor spadá do třídy. pokud y<, vstupní vektor spadá do třídy. Pro zjednodušení náš vstupní vektor má pouze dvě dmenze, předpokládejme f(a)a Kde je hrance mez třídam? y N f ( x + b) 3
Co umí perceptron? II y > x x b x x hrance mez třídam je přímka > lze řešt pouze lneárně separovatelný problém 4
Transformační funkce f(a) Nejprve bez n: f(a) a,, 4, b5 5 y 8 6 4 5 5 5 4 6 5 5 x 5 5 x 5 5 5
Transformační funkce f(a) II Sgmoda f ( x) + e x.9.8.8.7.6.6 y.4.5..4 5.3. x 5 5 x 5. Omezuje dynamcký rozsah výstupu neuronu v místě, kde s je neuron jst 6
Třívrstvá dopředná neuronová síť je schopna aproxmovat lbovolnou nelneární funkc první vrstva pouze kopíruje vstup, dvě vrstvy neuronů M výstupních neuronů vstupní 3 x y x y xn ym 7
Co umí třívrstvá síť Neurony ve druhé vrstvě (skryté) mají přenosovou funkc Sgmodu, výstupní neuron má lneární přenosovou funkc x x 4 - b5 b8 b3 y.5.5 5.8.6.4..8.6.4 x 5 5 x 5. 8
Trénování síté Pro experment je potřeba mít tř sady dat: trénovací, krosvaldační, testovací Sady obsahují vektory parametrů a požadované výstupní vektory neuronové sítě (targets) Je dobré data nejprve normalzovat Je potřeba správně zvolt chybovou funkc Je potřeba správně zvolt trénovací algortmus 9
Normalzace dat bez normalzace x~ x µ x~ x µ σ x x x x x x z každého vektoru se odečte vektor středních hodnot odhadnutý na trénovací sadě a pak se vektor podělí vektorem směrodatných odchylek Dynamcký rozsah hodnot se přzpůsobí dynamckému rozsahu vah
M Krterální funkce E ( ) ; t je target (chtěná hodnota) t y nejmenší čtverce (mnmum square error) chybová funkce je ctlvá na vyvážení dat setu pro jednotlvé třídy je ctlvá na dstrbuc dat uvntř tříd y-t target pro třídu target pro třídu
Back propagaton. Váhy a prahy sítě se nancalzují náhodně. Pošlou se data skrze síť 3. Vypočte se chyba 4. Chyba se pošle zpět sítí 5. Podle chyby se upraví jednotlvé váhy a prahy
Zpětné šíření chyby Zjednodušení zápsu: b, x y f ( Hledáme mnmum chyby N x ) E M ( t y ) M ( t f ( N oh j x o j )) kde y je výstup -tého neuronu výstupní vrstvy, t je chtěná oh hodnota -tého neuronu výstupní vrstvy, j je váha z j- tého neuronu skryté vrstvy k -tému neuronu výstupní o vrstvy, je výstup z j-tého neuronu skryté vrstvy x j 3
Zpětné šíření chyby II Chyba váh mez skrytou a výstupní vrstvou: E oh j ( t y ) F'( N k oh o x j k ) x o j oh output-hdden Chyby neuronů ve skryté vrstvě: δ j M E j Chyby vah mez vstupní a skrytou vrstvou: oh E h j δ F'( N k h x j k ) x j h hdden-nput 4
Úprava vah Úpravu vah lze dělat: ne j old E j + η. po předložení všech vektorů trénovací sady (chyby se akumulují) - nejsprávnější přístup, ale pomalý. po každém vektoru - rychlé trénování - rzko, že se síť natrénuje na posledních pár vektorů z trénovací sady - nelze optmálně využít cache procesoru 3. po předložení několka vektorů j 5
Ochrana prot přetrénování používá se krosvaldační sada algortmus Ne Bob:. proved jednu terac trénovaní. zjst úspěšnost NN na CV sadě - pokud přírustek je menší než.5%, snž rychlost trénování na ½ ( η) - pokud přírustek opětovně menší než.5%, zastav trénování jd na. 6
Implementace NN Trénovací algortmus a dopředný průchod sítí lze zapsat matcově (vz. dplomová práce - Stanslav Kontár), používají se akcelerované knhovny pro matcový počet (BLAS, ATLAS) Optmální využtí cache procesoru Zarovnaní všech paměťových struktur na 6-ky bytes pro SIMD nstrukce procesoru (SSE) Softare: Matlab, QuckNet, SNet 7
Pravděpodobnostní nterpretace výstupů neuronových sítí Ze statstky: pravděpodobnost lze transformovat z ntervalu do ntervalu - pomocí funkce logt, kde se dobře modeluje: a nazpět: logt( p) p log p vzorec je jž použtá Sgmoda p + e y 8
SoftMax Chceme aby součet všech výstupů NN byl : M y Lze zajstt SoftMaxem - nelneární funkcí na výstupu NN, která jednotlvé výstupy spojuje: y M j SoftMax se většnou pojí s Cross-entropy chybovým krtérem: E M t log y - klade větší důraz na chyby z hledska pravděpodobnost když je má být výstup, nkdy nemůže být e x e ( t x j )log( y ) 9
SoftMax II Herman Ney On the Probablstc Interpretaton of Neural Netork Classfers and Dscrmnatve Tranng Crtera ukazal, že chybové funkce Mnmum Square Error a Cross-Entropy vedou na dobrý pravděpodobnostní výstup NN bez SoftMaxu SoftMax nelze přímo dervovat, používá se aproxmace výstup není závslý na ostatních
Support Vector Machnes SVM je perceptron (jeden neuron) s lneární výstupní funkcí x x x N y y N x + b Rozdíl a výhoda je v trénovacím algortmu!!! Zvládne pouze lneárně separovatelnou úlohu
SVM chybové krtérum Maxmalzuje mezeru mez dvěm shluky Mnmalzuje strukturální chybu (počet špatně klasfkovaných vektorů) x x
Trénování SVM Omezíme se na případ, kdy víme, že třídy jsou jstě lneárně separovatelné (hard margn) <x,y> je skalární součn dvou vektorů Roztahujeme mezeru mez shluky mnmalzováním délky vektoru Pro přpomenutí separační lne: Nesmíme se s mezerou dostat do dat, proto zavádíme omezující podmínky pro mnmalzac Máme klasfkační úlohu se dvěm třídam, výstup udává. třídu a výstup - druhou x x b 3
Trénování SVM II Mnmalzujeme mn,b. S podmínkou: y (. x + b) l l je počet trénovacích vektorů K mnmalzac se používá metoda Lagrangeových násobtelů (Lagrange multplers) 4
Trénování SVM III záps pomocí Lagranganu Mnmalzujeme Podmínka V místě řešení platí h. g y (. x + b) f ( x) λ. g( x) g Lagrangan: l L(, b, α) <, > α[ y (. x + b) ] 5
6 Trénování SVM IV Duální problém x α l y b L ),, ( α l y α x l y α ),, ( l y b b L α α Dosazením zpět do Lagrandganu dostaneme duální problém: > < l l j j j j y y b L,, ),, ( x x α α α α Dostal jsme funkc jedné proměnné. Maxmalzujem stejným způsobem s podmínkou > α
Trénování SVM IV Nové prahy b (. x ) mn (. x ) max y y + 7
Lneárně neseparovatelná úloha Může být vyřešena mapováním parametrů do prostoru s více dmenzem Skalární součny ve vícedmenzonárním prostoru se nazývají jídra (kernels)? D 3D 8
Rank normalzace Sjednocuje dynamcký rozsah parametrů Normalzuje lbovolné rozložení na unformní v ntervalu až Hodnoty každé dmenze vektoru parametrů jsou nahrazeny ndexem do vektoru získaného seřazením všech hodnot odpovídající dmenze z trénovacího setu a znormovány do ntervalu až 9
Praktcké použtí Př znalost jednoho poztvního vzoru a velkého množství negatvních (rozbalancovaná data) Př velm velkých dmenzích vstupních vektorů Exstuje veln dobrá knhovna LbSVM Je k dspozc optmalzovaný kód pro trénování velkého množství klasfkátorů se stejnou skupnou negatvních příkladů 3