410 likes | 589 Views
Um ělé neuronové sítě z pohledu rozpoznávání. Václav Hlaváč Centrum strojového vnímání Katedra kybernetiky FEL ČVUT hlavac @fel.cvut.cz. Poděkování: inspirace a obrázky z přednášek mnoha jiných. Motivace (1). Přispět k porozumění fungování mozku
E N D
Umělé neuronové sítěz pohledu rozpoznávání Václav Hlaváč Centrum strojového vnímání Katedra kybernetiky FEL ČVUT hlavac@fel.cvut.cz Poděkování: inspirace a obrázky z přednášek mnoha jiných
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.
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, ...
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.
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í.
Biologická motivace (2) • 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. • 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.
Biologická motivace (3) Snímek neuronu v elektronovém mikroskopu
Biologická motivace (4) Synapses, Ca influx, release of neurotransmitter, opening of post-synaptic channels
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
Budoucí naděje NN Kombinovat paralelismus neuronů s rychlostí výpočtu/přepínání počítače.
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).
Obecně o učení z příkladů function NEURAL-NETWORK-LEARNING(examples) returns network networka network with randomly assigned weights repeat for each e in examples do O NEURAL-NETWORK-OUTPUT(network, e) T the observed output values from e update the weights in network based on e, O, and T end until all examples are correctly predicted or stopping criterionis reached return network Potíž: nebezpečí přeučení (overfitting)
Perceptron a učení Perceptron: Data: Chybová funkce: Učení: Perceptron je schopen se naučit lineární rozhodovací funkci.
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. Perceptron a XOR
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).
Vrstvené sítě Vrstvená síť typu m – k1 –k2 – ... –kr –n • se vstupní vrstvou dimenze m • s výstupní vrstvou dimenze n • sr skrytými vrstvami. Příklad: síť 4-6-6-6-3
Příklad dopředné vrstvené sítě H3 H5 W35 = 1 W13 = -1 W57 = 1 I1 W25 = 1 O7 W16 = 1 I2 W67 = 1 W24= -1 W46 = 1 H4 H6
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.
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.
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é.
Poučení pro praxi NN? • Výsledek A.N. Kolmogorova ho nedává. • Jednorozměrné funkce nejsou spojité, což vede k nestabilitám sítě v závislosti na datech. • 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
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.
Učení – gradientní optimalizace Optimalizační kritérium: energie Pravidlo pro změnu synaptických vahwi cje krok učení, obvykle konstanta
1 Aktivace: dopředný směr Skryté 0 vstup Vstupní uzly Výstupní uzly uzly Chyba se šíří zpětně Vícevrstvý perceptron Skoková funkce (dovolující jen zapnuto, vypnuto) je nahrazena spojitými sigmoidními funkcemi
Aktivace: dopředný směr Hidden δ Cílový uzel Vstupní uzly δ Chybu můžeme stanovit na výstupu. Potom ji musíme šířit zpět a vyřešit váhy … Units Chyba se šíří zpětně Backpropagationneformálně Které váhy změnit? O kolik? Potřebujeme vědět, které váhy nejvíce přispívají k chybě … δ Output Units Output Units ?
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 neuronuk modifikuj váhu vazby wj,k = wj,k + wj,k , kde wj,k = errork xj,k
Backpropagation, ilustrace Správné třídy Architektura sítě B 0 pro třídu A A 1 protřídu B Kroky učení t=150 t=50 t=200 t=100
Input Units Hidden Units Output Unit 1 > 0 0.5 1 1 1 > 0.5 1 -1 < 1 1.5 1 Pravdivostní tabulka pro XOR x y x ^ y 0 0 0 1 0 1 0 1 1 1 1 výstup vstupy 0 XOR problém - vyřešen Přidání skryté vrstvy umožňuje NN vyřešit úlohu XOR. Skryté neurony fungují jako detektory situací. 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…
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.
j 2Dpole neuronů Synapse s váhami wj1 wj2 wj3 wjn Vstupní signály (vektor) (propojeno se všemi vektory v mřížce) x1 x2 x3 ... xn Architektura SON Výpočetní vrstva je složena z mřížky neuronů. Tím je dána topologie.
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)]
Algoritmus SON (přehled) • Náhodně nastav váhy všech neuronů wj. • Vyber vstupní vektorx = (x1, x2, x3, … , xn). • Najdi vítěze, tj. porovnej xs váhamiwjpro každý neuronj. • 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í. • Nastav parametry: rychlost učení a funkci zohledňující neurony v okolí. • Opakuj od kroku (2) do ustálení vah nebo než uplyne předem zvolený počet kroků samoučení.
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.
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).
y x Příklad: odhad geometrie bodů Inputs: coordinates (x,y) of points drawn from a square Display neuron j at position xj,yj where its sj is maximum 100 inputs 200 inputs From: les réseaux de neurones artificiels » by Blayoand Verleysen, Que sais-je 3042, ed PUF Random initial positions
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).