Umělé neuronové sítě z pohledu rozpoznávání Václav Hlaváč Centrum strojového vnímání Katedra kybernetiky FEL ČVUT [email protected] Poděkování: inspirace a obrázky z přednášek mnoha jiných
Umělé neuronové sítěz pohledu rozpoznáváníVáclav HlaváčCentrum strojového vnímáníKatedra kybernetiky FEL Č[email protected]
Poděkování: inspirace a obrázky z přednášek mnoha jiných
2
Motivace (1)
Přispět k porozumění fungování mozku Mozek je složitější než cokoliv jiného,
čemu člověk porozuměl. Mozek je složen z živých buněk
určených ke zpracování informace, ale není navržen jen k tomu. Buňky musí mít řadu dalších chování, aby zůstaly naživu.
3
Motivace (2)
Najít jiný přístup k počítání než sekvenční Umělá neuronová síť = mnoho jednoduchých
a navzájem propojených procesorů (umělých neuronů).
Topologie sítě = graf propojení procesorů do značné míry ovlivňuje výpočet.
Hodí se na: rozpoznávání, detekci pohybu, ... Nehodí se na: výpočet 3.46 x 2.54;
zapamatování telefonního seznamu, ...
4
Motivace (3)
Použít k řešení složitých praktických úloh Paradigma učení na základě příkladů,
(paradox znalostního inženýrství). Metody učení z příkladů pravděpobně
nevysvětlují, jak se učí mozek.
Důležitý cíl: opřít předchozí tři motivace o přesné matematické modely.
5
Charakteriky sítěArchitektura – uspořádání uzlů
a spojení mezi nimi.Algoritmus učení – postup, jakým se
nastavují váhy v jednotlivých spojeních.Aktivační funkce – postup, jakým se ze
vstupů uzlu počítá jeho výstup, např.• synchronní.• asynchronní.
6
Biologická motivace
7
Biologická motivace (2)
Lidský mozek obsahuje asi 1011 neuronů. Buněčné jádro (soma) má velikost jen 1 až 3
m. 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. Přenos informace mezi neurony uskutečňují
synapse (elektrochemické vazby, dva typy excitační = vybuzující, inhibiční = tlumící).
Mozek spotřebovává 2030 % energie těla, i když představuje jen asi 2 % váhy.
8
Biologická motivace (3)
Snímek neuronu v elektronovém mikroskopu
9
Biologická motivace (4)
Synapses, Ca influx, release of neurotransmitter, opening of post-synaptic channels
10
Architektura sítě Propojení sítě
• úplné• částečné
Počet vrstev Vazby
• dopředné šíření (feedforward) nebo zpětné šíření, bez zpětné vazby, stabilní, používá se nejčastěji
• zpětnovazební (rekurzivní) síť, problémy se stabilitou
11
Srovnání počítač x mozek
Počítač 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
12
Budoucí naděje NN
Kombinovat paralelismus neuronů s rychlostí výpočtu/přepínání počítače.
13
Použití NN
Rozpoznávání (klasifikace) přiřazení pozorování třídě.
Regrese (aproximace) funkce. Predikce předpověď nového hodnoty na
základě časové řady.
Všechny tři aplikace lze matematicky formulovat jako aproximaci funkce (tj. optimalizační úlohu) y = f(x, parameters).
14
function NEURAL-NETWORK-LEARNING(examples) returns networknetwork a network with randomly assigned weightsrepeat
for each e in examples doO NEURAL-NETWORK-OUTPUT(network, e)T the observed output values from eupdate the weights in network based on e, O, and T
enduntil all examples are correctly predicted or stopping
criterion is reachedreturn network
Obecně o učení z příkladů
Potíž: nebezpečí přeučení (overfitting)
15
Perceptron, dvě třídy
16
Perceptron a učení
Perceptron: xwy Tout
Data: ),(),...,,(),,( 22
11
NN yxyxyx
Chybová funkce: 22 ))(())(()( ttT
tout yxtwytytE
Učení:
tj
m
jj
T
tit
tTii
i
ttT
ii
ii
xtwxtw
xyxtwctwtw
wyxtw
ctww
tEctwtw
1
2
)()(
))(()()1(
))(()()()()1(
Perceptron je schopen se naučit lineární rozhodovací funkci.
17
Perceptron a XOR
Rozhodnutí nelze aproximovat lineární funkcí.
Marvin Minsky & Seymour Papert (1969). Perceptrons, MIT Press, Cambridge, MA.
Tato autorita zastavila vývoj v NN na 12 až 15 let.
18
Znovuzrození NN (konektivismu)
David E. Rumelhart & James L. McClelland (1986). Parallel Distributed Processing, Vols. 1 & 2, MIT Press, Cambridge, MA.
Rumelhart & McClelland sestavili neurony do vrstev. Výsledky výpočtu byly předány další vrstvě.
Tato myšlenka se opírá o dva průlomové nápady …•Skokovou aktivační funkci perceptronu nahradila
spojitá funkce (např. sigmoida)•Byl navržen nový algoritmus učení – metoda
zpětného navracení (backpropagation).
19
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
20
I2
W24= -1
H4
W46 = 1
H6
W67 = 1
I1
W13 = -1
H3W35 = 1
H5
O7
W57 = 1W25 = 1
W16 = 1
Příklad dopředné vrstvené sítě
21
Zákl. vlastnost vrstvených sítí
Umějí realizovat libovolné spojité zobrazení z m rozměrného vstupního vektorového do n rozměrného výstupního prostoru s libovolnou přesností.
Lze najít příslušné skryté vrstvy sítě a hodnoty vah.
Stačí dvě skryté vrstvy.
22
Hilbertův 13. problém
International congress of mathematicians Paris, 1900.
Německý matematik David Hilbert (1863-1943) formuloval 23 nevyřešených problémů. Např.
Domněnka: kořeny funkce tří proměnných (zde a,b,c) nemohou být nahrazeny konečnou superpozicí funkcí o dvou proměnných.
A.N. Kolmogorov vyvrátil až roce 1954.
23
Vyvráceno A.N. Kolmogorovem
První výsledek z 1954. Pro NN je relevantnější je obecnější výsledek z 1957.
Ukázal, že každá spojitá funkce více proměnných (s omezeným definičním oborem) může být vyjádřena jako součet malého počtu funkcí jedné proměnné.
24
Poučení pro praxi NN?
Výsledek A.N. Kolmogorova ho nedává.
1. Jednorozměrné funkce nejsou spojité, což vede k nestabilitám sítě v závislosti na datech.
2. Aktivační funkce jsou závislé na funkci, kterou mají aproximovat.
Praktické řešení bylo navrženo mezi 1989-1992 a přispěla k němu Dr. Věra Kůrková z Ústavu informatiky AV ČR
25
Výpočet hodnoty, aktivní mód
Cíl najít (přibližnou) hodnotu zobrazení. Vstupní vrstvu ztotožníme se vstupním
vektorem. Vstupní vrstva nepočítá. Hodnoty se propagují vrstvami a ve
výstupní vrstvě se najde výsledek. NN jsou nejsou objevné svým aktivním
módem (výpočtem), ale módem učení. Zde se hledá síť, která výpočet realizuje.
26
Učení – gradientní optimalizace
Optimalizační kritérium: energie
N
ttt yWxF
NE
1
2));((1
Pravidlo pro změnu synaptických vah wi
ji
ji
newji
ji
ji
www
WwEcw
,
)(
c je krok učení, obvykle konstanta
27
Vícevrstvý perceptronVs
tupn
í uzly
Výstupní uzly
uzly
Skryté
Aktivace: dopředný směr
Chyba se šíří zpětně
Skoková funkce (dovolující jen zapnuto, vypnuto) je nahrazena spojitými sigmoidními funkcemi
1
0 vstup
28
Units
Hidden
Vstu
pní u
zlyBackpropagation neformálně
Output Units
Aktivace: dopředný směr
Chyba se šíří zpětně
Output UnitsCílový uzel
δ
Potřebujeme vědět, které váhy nejvíce přispívají k chybě …Chybu můžeme stanovit na výstupu. Potom ji musíme šířit zpět a vyřešit váhy …
δ
δ
Které váhy změnit? O kolik?
?
29
Zpětné šíření (backpropagation)1. Inicializuj váhy sítě malými náhodnými čísly 2. Dokud není splněno kritérium pro zastavení 2.1. Pro každý příklad [x, y] z trénovacích dat 2.1.1. Spočítej výstup outu pro každý neuron u v síti
2.1.2. Pro každý neuron v ve výstupní vrstvě spočítej chybu
errorv = outv (1 - outv) (yv - outv)
2.1.3. Pro každý neuron s ve skryté vrstvě spočítej chybu errors = outs (1 - outs) vvýstup (ws,v errorv )
2.1.4. Pro každou vazbu vedoucí od neuronu j do neuronu k modifikuj váhu vazby
wj,k = wj,k + wj,k , kde wj,k = errork xj,k
30
Správné třídy
0 pro třídu A
1 pro třídu B
t=50 t=100 t=150 t=200
Kroky učení
Architektura sítě
BA
Backpropagation, ilustrace
31
XOR problém - vyřešen
Hidden Units
Output Unit
Input Units
1
11
1
1-1
0.5
1.5
0.5
1 1 0 01
0 1 0 0
110
x ^ yyx
výstupvstupy
Pravdivostní tabulka pro XOR
>
<1
0
> 1
Horní skrytý neuron detekuje případ, kdy je aktivován alespoň jeden vstupní neuron.Dolní skrytý neuron detekuje situaci, kdy jsou aktivovány oba vstupní uzly.Výstupní uzel je aktivován horním skrytým neuronem a vypínán dolním skrytým neuronem…
Přidání skryté vrstvy umožňuje NN vyřešit úlohu XOR.Skryté neurony fungují jako detektory situací.
32
Kohonenova samoorganizující síť
Zkratka SON (Self-Organizing Network). Učení bez učitele. Myšlenka poprvé od C. von der Malsburg
(1973), rozvinul T. Kohonen (1982). Metoda shlukování. Podobná vstupní data
aktivují neurony, které jsou blízko sebe. Díky schopnosti projekce se SON používají
pro snížení dimensionality a vizualizaci dat. Biologická opora: mapy aktivity mozku.
33
Architektura SON
Výpočetní vrstva je složena z mřížky neuronů. Tím je dána topologie.
2D pole neuronů
Vstupní signály (vektor) (propojeno se všemi vektory v mřížce)
Synapse s váhami
x1 x2 x3 xn...
wj1 wj2 wj3 wjn
jj
34
Výpočet v SON
Jednovrstvá topologie (s případnou vstupní a výstupní vrstvou).
Výpočet probíhá na základě kompetice (pro každý vstup je aktivní právě jeden vítězný neuron). Pravidlo vítěz bere vše.
Učení: po zpracování vstupu se upraví váhy neuronu (j), který „vyhrál“v kompetici:wji = wji(t)+q[xi (t-1)- wji(t-1)]
35
Algoritmus SON (přehled)
1. Náhodně nastav váhy všech neuronů wj.2. Vyber vstupní vektor x = (x1, x2, x3, … , xn ).3. Najdi vítěze, tj. porovnej x s váhami wj pro každý
neuron j. 4. Uprav vítězný neuron, aby se spolu se svým
okolím v mřížce podobal příkladu x, obvykle wj = wj(t)+q[xi (t-1)- wj(t-1)], kde q je rychlost učení obvykle klesající.
5. Nastav parametry: rychlost učení a funkci zohledňující neurony v okolí.
6. Opakuj od kroku (2) do ustálení vah nebo než uplyne předem zvolený počet kroků samoučení.
36
Vztah VQ a SON
U vektorové kvantizace (VQ) nezávisí na pořadí reprezentantů tříd, tj. nezávisí na pořadí.
U SON je pozice reprezentantů (střední hodnota) zaznamenána. Tím je zachována topologie. Zkoumané datum se zobrazí k blízkému reprezentantuovi v mřížce.
37
SOM a shlukování k-průměrů
Kompetitivní samoučení lze chápat jako on-line verzi k-průměrů.
SOM navíc přidává mřížku a interakce jen v okolí.
Metoda k-průměrů se hodí pro shlukování. SOM se především hodí pro učení variety menší dimenze než je dimenze dat (např. 2D nebo 3D).
38
Aplikace: míra chudoby ve světě
39
Aplikace: míra chudoby ve světě (2)
40
Příklad: odhad geometrie bodůInputs: coordinates (x,y) of points
drawn from a squareDisplay neuron j at position xj,yj where
its sj is maximum
Random initial positions
100 inputs 200 inputs
x
y From: les réseaux de neurones artificiels » by Blayoand Verleysen, Que sais-je 3042, ed PUF
41
Hopfieldova síť Úplná topologie (cyklická) Přípustné pouze binární
vstupy. Používá se:
• jako asociativní paměť • jako klasifikátor• k optimalizaci
Učení: wji =S xkjxik, k{1,…p} Výpočet probíhá do ustálení
stavu (zaručeno).