Neuronové sítě
Biologická motivace neuron
Lidský mozek Lidský mozek obsahuje asi 1011 neuronů. Buněčné jádro (soma) má velikost jen 1 až 3 mm. Délka dendritu bývá 1 až 3 mm. Bývá jich 100 až 10000. Délka axonů bývá i delší než 1 m. Mozek spotřebovává 2030 % energie těla, i když představuje jen asi 2 % váhy.
Neuron Snímek neuronu v elektronovém mikroskopu
Srovnání počítač x mozek Lidský mozek Výpočetní jednotka 1 CPU 1011 buněk Paměť 109 bitů RAM, 1011 bitů na disku 1011 neuronů, 1014 synapsí Délka cyklu 10-8 sekundy 10-3 sekundy Šířka pásma 109 bitů za sekundu 1014 bitů za sekundu Rychlost obnovy 109 výpočetních elementů 1014 neuronů za sekundu
Formální neuron
Matematický popis
Přenosová funkce skoková
Přenosová funkce sigmoidní
Topologie sítě I1 O7 I2
Vrstvené sítě Vrstvená síť typu m – k1 – k2 – ... – kr – n se vstupní vrstvou dimenze m s výstupní vrstvou dimenze n s r skrytými vrstvami. Příklad: síť 4-6-6-6-3
Neuronová síť je určena Topologií Váhami synapsí Prahem neuronů Přenosovou funkcí
Proces učení neuronových sítí Pro učení (trénování NS) je třeba mít dostatek reprezentativních příkladů Trénovací, výběrová, testovací množina Na začátku učení bývají váhy nejčastěji nastaveny na náhodná čísla Proces učení se snaží minimalizovat odchylku (chybu) mezi skutečným (aktuálním) a požadovaným výstupem Každá neuronová síť má jiný algoritmus učení, vesměs jsou to ale iterační procesy
Hopfieldova asociativní paměť
Topologie sítě 1 vrstva zároveň vstupní i výstupní mezi neurony existují všechny spoje (kromě smyček)
Motivace Rozpoznávání obrazu Každý neuron nabývá jednoho ze dvou stavů {0,1}. Každý neuron odpovídá pixelu rastrového obrázku. Stav 0 odpovídá bílé barvě, stav 1 černé barvě
Další parametry sítě Přenosová funkce skoková F(U) = 1 pro U>Θ F(U) = 0 pro U<=Θ Váhy synapsí se určují při učení Prahy neuronů Θi = ½ Σj wij
Učení sítě = nastavení vah t vzorů (n složkové vektory) wij = 0 pro i=j Pro i<>j inicializuj wij=0 Pro každý vzor v1,v2,…,vn proveď wij = wij + (2vi-1)(2vj-1)
Vybavování Vstupní vzor x1,x2,…,xn První iterace y(0)=y1(0),y2(0),…,yn(0) Další iterace Spočti vstup pro i=tý neuron ui(t+1)=Σj wij.yj(t) Podle přenosové funkce urči yi(t+1) = 1 pro ui(t+1) > Θi yi(t+1) = 0 pro ui(t+1) <= Θi
Energetická funkce E(t) = -½ ΣiΣj wij yi(t)yj(t) –Σi Θiyi(t) Během vybavování její hodnota klesá Vybavování končí v lokálním minimu energetické funkce Toto minimum může odpovídat naučeným vzorům Nebo vzorům k ním inverzním Nebo vzorům falešným „fantomům“
Příklad Obrázek velikosti 2x2 pixely. Síť má 4 neurony 1 vzory 1
Příklad – stanovení vah Pokud má vzor na i-tém a j=tém poli stejnou hodnotu, přičítám 1, pokud má různou odečítám 1 Původní matice vah
Příklad – stanovení vah Váhy po naučení vzoru (1,0,0,0) -1 1
Prahy Θ Θ1 = -3/2 Θ2 = 1/2 Θ3 = 1/2 Θ4 = 1/2
Vybavování Vzor (0,0,0,0) y(0) = (0,0,0,0) E(0) = 0 1.krok 2.krok u(1)=(0,0,0,0) y(1)=(1,0,0,0) E(1) = -3 + 3/2 = -3/2 2.krok u(2)=(0,-1,-1,-1) y(2)=(1,0,0,0) E(2)=-3/2 Rozeznán vzor v