110 likes | 247 Views
Algoritmy a struktury meuropočítačů ASN – C2. Několik obecných poznámek k učení UNS učení UNS je ve své podstatě optimalizační proces optimalizujeme tzv. účelovou funkci ( chybová funkce při učení s učitelem, extrakce statistických veličin ze vstupních
E N D
Algoritmy a struktury meuropočítačů ASN – C2 • Několik obecných poznámek k učení UNS • učení UNS je ve své podstatě optimalizační proces • optimalizujeme tzv. účelovou funkci • ( chybová funkce při učení s učitelem, • extrakce statistických veličin ze vstupních • vektorů při samoorganizaci) • účelové učení (performance learning) - založené na hledání extrémů (minim a maxim) účelové funkce • Y = T( X, W ) • transformační funkce • účelová funkce vyjadřuje : • - vzájemnou závislost vstupních parametrů • a parametrů neuronové sítě • - míru vzdálenosti v prostoru adaptačních • parametrů • učení s filtrací - optimalizace pouze některé vlastnosti signálu (některá složka spektra) • adaptační soubor - změnami jeho parametrů dochází • k učení sítě • důležité je určení jeho velikosti a rozsah jeho parametrů
a) vhodný průběh učení NN (závislost chyby, např. průměrné střední kvadratické chyby, sumy stř.kvadr. chyby, chyby min-max apod., na počtu učebních etap ) hladká chybová funkce ukazuje na dobře zvolenou velikost trénovacího souboru a na dobře zvolené parametry učení b) nevhodný průběh učení NN (závislost chyby na počtu učebních etap ) plochý průběh chybové funkce ukazuje na příliš velký trénovací soubor nebo špatně zvolené parametry učení, např. malý krok učení (learning rate) a) b) c) c) nevhodný průběh učení NN (závislost střední kvadratické chyby na počtu učebních etap ) oscilační průběh chybové křivky ukazuje na malý trénovací soubor nebo špatně zvolené parametry učení, např. velký krok učení (learning rate)
Jak nastavit váhy a prahy NN ? Pro NN, která dosud nebyla učena, je vhodné použít pro inicializacifunkce typusigmoida malá náhodná čísla, aby derivace funkce nabývala malých hodnot (při velkých hodnotách parametrů dochází k saturaci a síť se přestává adaptovat). Naopak - velké hodnoty derivací jsou vhodné proaktivační funkce Gaussova typu. Pro aktivační funkce typu hyperbolická tangenta se doporučuje - β ≤wi j≤β , β = 0.7 ( p ) 1/n n … počet neuronů ve vstupní vrstvě, p … počet neuronů ve skryté vrstvě
SSC – cvičení 2 Perceptron 1957 Frank Rosenblatt Typ učení: s učitelem (supervised learning) vstup: x = [x0, x1,…,xn] vektor bias (=1) … prahová hodnota 0 pro < 0 výstup: y = 1 pro > 0 možnosti: klasifikace do 2 tříd pro lineárně separabilní vzory
PerceptronFunkce XOR o x x o a1 = sgn [w11 x1 + w12 x2 + w10] vnitřní a2 = sgn [w21 x1 + w22 x2 + w20] proměnné y = sgn [w1 a1 + w2 a2 + w0] y = 0 pro (0,0) a (1,1) x y = 1 pro (0,1) a (1,0) o 1. x = (0,1) a1 = 1 x = (0,0), (1,0), (1,1) a1 = 0 Červené šrafování 2. x = (0,1), (0,0), (1,1) a2 = 1 x = (1,0) a2 = 0 Černé šrafování x = (0,1) a1 = 1 a2 = 1 o x = (1,0) a1 = 0 a2 = 0 x = (0,0), (1,1) a1 = 0 a2 = 1 x
Příklad: XOR problém P = [0 0 1 1 ; 0 1 0 1]; 4 vstupní vektory o 2 elementech T = [1 0 0 1]; 4 vektory požadovaných hodnot o 1 elementu y = f [ w1 x1 + w2 x2 + w0] f(x) = 1, x > 0 f(x) = 0, x 0 2-vrstvý perceptron pro řešení XOR problému 1 w10 w1 1 w0 a1 w20 y x1 w21 w2 a2 2 w22 x2 Mód off-line (k adaptaci dochází až po průchodu všech vstupních vektorů) … batch učení
Perceptron v MATLABu Help – Product help (F1) helppercept vytvoření sítě: newp inicializace: init simulace: sim trénování: train učení: learnp Normované učení: learnp aktivační funkce: hardlim Neural Network Toolbox Functions Network Use Functions New Networks Functions Perceptron
NEWP Syntaxe: net = newp net = newp(pr,S,tf,lf) pr - Rx2 matice minimálních a maximálníchhodnotpro R vstupních elementů S - počet neuronů tf – přenosová funkce, default = 'hardlim'. lf – algoritmus učení, default = 'learnp'. přenosová (aktivační) funkce tfmůže býthardlim nebo hardlims algoritmus učenílf může býtlearnp nebo learnpn Příklad: Je vytvořen Perceptron se 2 elementy na vstupu (rozsah [0 1] a [-2 2]) a 1 neuronem. net = newp([0 1; -2 2],1); Na vstupu je množina P tvořená 4 vektory o 2 elementecha 4 odpovídající cílové (target) hodnoty T o 1 elementu. P = [0 0 1 1; 0 1 0 1]; T = [0 1 1 1]; Trénovat budeme na 20 epocha pak provedeme simulaci. y = sim(net,P) net.trainParam.epochs = 20; net = train(net,P,T); y = sim(net,P) Pozn: Je–li u hodnot vstupních elementů velký rozptyl, dosáhneme rychlejšího naučení pomocí funkce learnpn.
Váhy a prahy jsou inicializovány pomocí funkce initzero. Adaptace a trening jsourealizovány pomocí trains a trainc, Míra naučení se určuje pomocí průměrné absolutní chyby mae. Demonstrační úlohy – MATLAB nnd4db ukázka hraniční přímky nnd4pr pravidlo učení Perceptronu (rozdíl mezi učením a tréninkem) demop1 klasifikace pomocí Perceptronu se 2-vstupy (4 vektory o 2 elementech, klasifikace do 2 tříd) demop4 nevyvážená data (dlouhé učení) P = [-0.5 -0.5 +0.3 -0.1 -40; -0.5 +0.5 -0.5 +1.0 50]; T = [1 1 0 0 1]; plotpv(P,T); demop5 Normalizace Perceptronu(2-vstupní hard limit neuronyjsou trénovány pro klasifikaci 5 vstupních vectorů do 2 kategori, jeden z vektorů je mohem větší než ostatní, trénink s funkcílearnpnje rychlejší) demop6 lineárně neseparabilní prostory Pozn: dále následuje soubor sscC2M_04.ppt
ADALINE – ADAptivní LIneární Neuron 1960 Bernard Widrow Lineární sítě, lineární aktivační funkce (bipolární), Výstupní hodnota analogová, lineárně separabilní vstupní data. Algoritmus učení: Widrow-Hoffův LMS (Least Mean Square) Typy úloh: 1. Výstup z natrénované sítě odpovídá požadovaným (cílovým) hodnotám. 2. Výstup z natrénované sítě odpovídá na změny v síti (adaptivní systém).
help linnet newlin vytvoření lineární sítě newlind návr lineární vrstvy learnwh W-H učící algoritmus purelin aktivační funkce sim simulace adapt adaptaptivní filtrace T A P ± Lineární síť (W,b) E applin2adaptivní linearní predikce demolin8 adaptivní odšumování nnd10ncadaptive odhlučněnín kokpitu letadla demolin1 asociace vzorů demolin2 trenink lineárního neuronu nnd10lc lineární klasifikátor demolin4 lineární řešení nelineárního problému demolin5 nedostatečně určená úloha demolin6 lineárně závislá úloha demolin7 příliš velký learning rate