Kohonenova mapa - opakovaní Organizační dynamika: Jednovrstvá síť Mezi neurony je navíc zavedena topologická struktura (tj neurony tvoří uzly neorientovaného grafu). V drtivé většině případů je tato struktura buď jednorozměrná řada jednotek nebo dvojrozměrná mřížka. i Kohonenova mapa Aktivní dynamika: Pro vstup x e R" a k = 1, ...,h y k = 1 k = argminí=i,...,/, 0 jinak X - Wj Adaptivní dynamika: V adaptivním režimu využijeme topologickou strukturu. ► Označme d(c,k) délku nejkratší cesty z neuronu c do neuronu k v topologické struktuře. ► Pro neuron c a dané sgN0 definujeme okolí neuronu c velikosti s takto: Ns(c) = [k | d{c,k) < s) V kroku t po predložení vstupu xt adaptujeme každé wk takto + 0.(xř-^r"1)) keNs(c) jinak ^(ř-1) kde c = argmin/=1.....h ^(ř-1) xř - ; a kde 6 e IR a s e N0 jsou parametry které se mohou v průběhu učení měnit. Kohonenova mapa - adaptivní dynamika Obecnější formulace adaptivní dynamiky: ^ = ^-1) + 0(c//c).(^-<-1)) kdec = argmin/=1/...//7 odpovídá -*(M) xt-w) 1 . Předchozí případ potom e(c,k) = 6 ke Ns(c) 0 jinak Obvykle se používá plynulejší přechod mezi nenulovými a nulovými hodnotami, např. Q(c,k) = 0O * exP -d(c,k): a' kde 0O e IR určuje maximální míru změny vah a a e IR je šířka (oba parametry se mohou v průběhu měnit). LVQ - klasifikace - opakování Přepodkládejme, že máme náhodně generované vzory tvaru (xř, dt) kde xt e Rn je vektor vlastností a dt e {C-i,..., Cq] určuje jednu z q tříd. Cílem je klasifikovat vstupy do tříd na základě znalosti vlastností, tj. každému xt chceme přiřadit třídu tak, abychom minimalizovali pravděpodobnost chyby. Př.: Po pásu jede náhodně „naházené" ovoce dvou druhů: jablka a meruňky. Námi sledovaná data budou (xt,dt) kde ► x* e IR2, první vlastnost je hmotnost, druhá je průměr ► dt je buď J nebo M v závislosti na tom, jestli je daný kus jablko nebo meruňka Připouštíme možnost, že se najde jablko a meloun se stejnými mírami. Cílem je třídit ovoce na základě hmotnosti a průměru. LVQ - klasifikace - opakování Využijeme vektorovou kvantizaci (Kohonenovu mapu) takto: 1. Natrénujeme mapu na vektorech vlastností xt kde 2. Jednotlivé neurony označíme třídami. Třídu vc neuronu c nalezneme takto: Pro každý neuron c a třídu C, spočítáme četnost vzorů třídy C,, které jsou reprezentovány neuronem c. Toto lze provést jedním průchodem přes vzory Neuronu c přiřadíme třídu s maximální četností. 3. Doladíme síť pomocí algoritmu LVQ. Klasifikaci pomocí natrénované sítě provádíme takto: Na vektor vlastností x aplikujeme natrénovanou síť v aktivním režimu. Právě jeden neuron, řekněme c, bude mít výstup 1. Potom vstup zařadíme do třídy vc. LVQ1 - opakování Postupně projdi tréninkové vzory. Pro vzor (xt,dt) urči nejbližší neuron c c = arg min /=1 xt - Wj Potom uprav váhy neuronu c takto: Parametr a by měl být od počátku malý (cca 0.01 - 0.02) a postupně klesnout k 0. Hranice mezi třídami vytvořená pomocí LVQ1 je poměrně dobrou aproximací bayesovské rozhodovací hranice. Oceánografická data Zdroj: Patterns of ocean current variability on the West Florida Shelf using the self-organizing map. Y. Liu a R. H. Weisberg, JOURNAL OF GEOPHYSICAL RESEARCH, 2005 Zkoumá se vývoj proudění vod v oceánu kolem pobřeží Floridy Longitude (°W) Oceánografická data ► 11 měřicích stanic, 3 hloubky (hladina, dno, mezi) ► data: 2D vektory rychlosti (a směru) proudění ► měřeno po hodinách, 25585 hodin Celkově tedy 25585 řádků 66 dimenzionálních položek. Kohonenova mapa: ► mřížka 3x4 ► okolí dána Gaussovou funkcí se zmenšující se sirkou (navíc je tam lineárně se zmenšující rychlost učení, kterou se násobí změna polohy neuronů) 8 Oceánografická data CD NDJ FMAMJJ 1998 1999 A S O N D J F M A M J J 2000 A S O N D J F M A M J J 2001 A S ► křížky označují „vítězné" neurony (po hodinách) ► ovlivněno lokálními fluktuacemi ► pozorovatelný trend: ► v zimě neurony 1-6 (jiho-východ) ► v létě neurony 10-12 (severo-západ) 10 Oceánografická data i -i |T o -f-i- / 7 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Srovnání směru větru a proudění vody (znatelná korelace) ► vítr: směr čáry = směr větru ; délka čáry = intenzita ► proudění vody v procentech úspěšnosti skupin neuronů Analýza pohádek bratří Grimmů Zdroj: Contextual Relations of Words in Grimm Tales, Analyzed by Self-Organizing Map. T. Kohonen, T. Honkela a V. Pulkki, ICANN, 1995 Cílem je vizualizovat syntaktické a sémantické kategorie slov v pohádkách (v závislosti na kontextu). Vstup: Pohádky bratří Grimmů (srozumitelně kódované pomocí proudu 270-dimenzionálních vektorů) ► uvažují se trojice slov (předchůdce, klíč, následník) ► každá položka v trojici se zakóduje náhodně vybraným 90-dimenzionálním reálným vektorem (trojice má tedy dimenzi 270) Síť: Kohonenova mapa, 42 x 36 neuronů, váhy neuronů jsou tvaru w = (wp, wk, wn) kde wp, wk, wn e R90. 12 Analýza pohádek bratří Grimmů Adaptace: Síť je natrénována na trojicích po sobě jdoucích slov z pohádek Pozn. Tréninkovou sadu tvořilo 150 nepoužívanějších slov se "zprůměrovaným" kontextem. Hrubé učení: 600 000 iterací; Dolaďování: 400 000 Nakonec 150 nejčastěji použitých slov označuje neurony: slovem u je označen ten neuron, pro jehož váhy w = (wp, wk, wn) platí, že wk je nejblíže kódu slova u. 13 nuiuiuQ JJiejq >|apei|od ezA|euv Konvoluční sítě Zbytek přednášky je založen na nové online knize Neural Networks and Deep Learning, autor Michael Nielsen. http://neuralnetworksanddeeplearning.com/index.html ► Konvoluční sítě jsou v současné době nejlepší metodou pro klasifikaci obrázků z databáze ImageNet. ► Jejich počátky sahají do 90. let - síť LeNet-5 Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 1998 Konvoluční sítě vs MNIST (ilustrace) MNIST: ► Databáze (označkovaných) obrázků rukou psaných číslic: 60 000 tréninkových, 10 000 testovacích. ► Dimenze obrázků je 28 x 28 pixelů, jsou vycentrované do "těžiště" jednotlivých pixelů a normalizované na fixní velikost ► Více na http://yann.lecun.com/exdb/mnist/ Databáze se používá jako standardní benchmark v mnoha publikacích o rozpoznávání vzorů (nejen) pomocí neuronových sítí. Lze porovnávat přesnost klasifikace různých metod. bOOODdOOO&CÔOOOÓDQOo / / I I 1 I I I \ / I / l W I / M I »V7 79fe?tí;ffqcic?ŕM