ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT prof. Ing. Jiří Holčík, CSc. NEURONOVÉ SÍTĚ otázky a odpovědi otázky a odpovědi 1 þ AKD_predn4, slide 8: Hodnota výstupu závisí na znaménku funkce net[i], tedy na tom, zda bude suma váhovaných vstupů kladná či záporná? Jednovrstvý N,M perceptron Předpokládejme, že převodní charakteristiku i-tého neuronu zvolíme ve tvaru y[i] = f[i](net[i]) = sign(net[i]), přičemž aktivační hodnota net[i] = å[j ]w[ij].x[j], kde x[j] je hodnota přicházející z j-tého aktivačního zdroje na vstup i-tého neuronu s vahou w[ij]. otázky a odpovědi 1 þ AKD_predn4, slide 8: Hodnota výstupu závisí na znaménku funkce net[i], tedy na tom, zda bude suma váhovaných vstupů kladná či záporná? ANO J otázky a odpovědi 2 þ AKD_predn4, slide 9: Je v tomto případě počet neuronů 3? Tedy počet tříd mínus jedna? þ AKD_predn4, slide 9: Kolik je vstupů v tomto případě? Jen jeden, na nějž se postupně přivádí všechna „x“, „o“, „+“ a „•“ ? A pak z tohoto vstupu vedou spojení ke všem neuronům? Nebo je vstupů tolik, kolik je trénovacích dat? Nebo je vstupů tolik, kolik je tříd? Nebo je to ještě úplně jinak? Jednovrstvý N,M perceptron otázky a odpovědi 2 þ AKD_predn4, slide 9: Je v tomto případě počet neuronů 3? Tedy počet tříd mínus jedna? otázky a odpovědi 3 þ AKD_predn4, slide 9: Je v tomto případě počet neuronů 3? Tedy počet tříd mínus jedna? þ AKD_predn4, slide 9: Kolik je vstupů v tomto případě? Jen jeden, na nějž se postupně přivádí všechna „x“, „o“, „+“ a „•“ ? A pak z tohoto vstupu vedou spojení ke všem neuronům? Nebo je vstupů tolik, kolik je trénovacích dat? Nebo je vstupů tolik, kolik je tříd? Nebo je to ještě úplně jinak? Jednovrstvý N,M perceptron Jednovrstvý N,M perceptron þ N,M perceptron má N vstupů a M výstupů, tj. M separátně pracujících neuronů. otázky a odpovědi 3 þ AKD_predn4, slide 9: Je v tomto případě počet neuronů 3? Tedy počet tříd mínus jedna? þ AKD_predn4, slide 9: Kolik je vstupů v tomto případě? Jen jeden, na nějž se postupně přivádí všechna „x“, „o“, „+“ a „•“ ? A pak z tohoto vstupu vedou spojení ke všem neuronům? Nebo je vstupů tolik, kolik je trénovacích dat? Nebo je vstupů tolik, kolik je tříd? Nebo je to ještě úplně jinak? otázky a odpovědi 3 þ AKD_predn4, slide 9: Je v tomto případě počet neuronů 3? Tedy počet tříd mínus jedna? þ AKD_predn4, slide 9: Kolik je vstupů v tomto případě? Jen jeden, na nějž se postupně přivádí všechna „x“, „o“, „+“ a „•“ ? A pak z tohoto vstupu vedou spojení ke všem neuronům? Nebo je vstupů tolik, kolik je trénovacích dat? Nebo je vstupů tolik, kolik je tříd? Nebo je to ještě úplně jinak? otázky a odpovědi 4 þ AKD_predn4, slide 9: Chápu správně, že když od 3 neuronů budu mít na výstupu hodnoty 1,1,1 → klasifikační třídou budou „x“; když 1. neuron bude mít na výstupu -1, druhý neuron 1 a třetí neuron 1 → budou klasifikační třídou „o“? þ AKD_predn4, slide 9: Pro nový prvek, který budu chtít oklasifikovat, pak budu mít výstupy y[1], y[2] a y[3], které budou +1 nebo -1 a podle toho (s nahlédnutím do uvedené tabulky) určím, do jaké třídy bude patřit? A co kdyby nastala situace: y[1] = -1, y[2] = 1 a y[3] = -1? Nebo tato situace nastat nemůže? Jednovrstvý N,M perceptron otázky a odpovědi 4 þ AKD_predn4, slide 9: Chápu správně, že když od 3 neuronů budu mít na výstupu hodnoty 1,1,1 → klasifikační třídou budou „x“; když 1. neuron bude mít na výstupu -1, druhý neuron 1 a třetí neuron 1 → budou klasifikační třídou „o“? þ AKD_predn4, slide 9: Pro nový prvek, který budu chtít oklasifikovat, pak budu mít výstupy y[1], y[2] a y[3], které budou +1 nebo -1 a podle toho (s nahlédnutím do uvedené tabulky) určím, do jaké třídy bude patřit? A co kdyby nastala situace: y[1] = -1, y[2] = 1 a y[3] = -1? Nebo tato situace nastat nemůže? otázky a odpovědi 5 þ AKD_predn4, slide 9: Chápu správně, že když od 3 neuronů budu mít na výstupu hodnoty 1,1,1 → klasifikační třídou budou „x“; když 1. neuron bude mít na výstupu -1, druhý neuron 1 a třetí neuron 1 → budou klasifikační třídou „o“? þ AKD_predn4, slide 9: Pro nový prvek, který budu chtít oklasifikovat, pak budu mít výstupy y[1], y[2] a y[3], které budou +1 nebo -1 a podle toho (s nahlédnutím do uvedené tabulky) určím, do jaké třídy bude patřit? A co kdyby nastala situace: y[1] = -1, y[2] = 1 a y[3] = -1? Nebo tato situace nastat nemůže? Jednovrstvý N,M perceptron otázky a odpovědi 6 þ AKD_predn4, slide 21: U vícevrstvého perceptronu odpovídá N[3] počtu kategorií. Na výstupu tedy bude jeden neuron z N[3] jedničkový a ostatní nulové, aby nám síť zatřídila jeden vzorek do jedné třídy? Kolik potřebujeme v každé vrstvě uzlů? HEURISTIKA þ N[1] … dáno počtem potřebných lineárních hranic þ N[2] … = 1, pokud je oblast definované třídy konvexní; > 1, pokud oblast není konvexní; v tom případě je N[2] rovno počtu konvexních oblastí (ve většině případů je N[2] << N[1]); þ N[3] … počet tříd; otázky a odpovědi 6 þ AKD_predn4, slide 21: U vícevrstvého perceptronu odpovídá N[3] počtu kategorií. Na výstupu tedy bude jeden neuron z N[3] jedničkový a ostatní nulové, aby nám síť zatřídila jeden vzorek do jedné třídy? V ideálním případě samozřejmě ano. Ovšem díky spojitosti převodních charakteristik (aktivačních funkcí) - nejčastěji sigmoida - mohou být výstupní hodnoty třeba – 0,85; 0,03; 0,254; … . Hodnota výstupu odpovídá míře určitosti s jakou můžeme vstupní obraz zařadit do dané kategorie. otázky a odpovědi 7 þ AKD_predn5, slide 5, vztah III: V první přednášce o neuronových sítích jsme měli vztah: net[i ]= Σ w[ij] * y[j] (suma přes všechna j), kde w[ij] je váha spojení z j-tého do i-tého neuronu. Proč je zde suma vah spojení z j-tého do i-tého neuronu krát výstup z i-tého neuronu a ne výstup z j-tého neuronu? UČENÍ VÍCEVRSTVÉHO PERCEPTRONU ALGORITMUS ZPĚTNÉHO ŠÍŘENÍ CHYBY þ díky linearitě derivace þ þ otázky a odpovědi 7 þ AKD_predn5, slide 5, vztah III: V první přednášce o neuronových sítích jsme měli vztah: net[i ]= Σ w[ij] * y[j] (suma přes všechna j), kde w[ij] je váha spojení z j-tého do i-tého neuronu. Proč je zde suma vah spojení z j-tého do i-tého neuronu krát výstup z i-tého neuronu a ne výstup z j-tého neuronu? net[i ]= Σ[j] w[ij] * y[j] [ ] net[j ]= Σ[i] w[ij] * y[i] [ ] otázky a odpovědi 8 þ AKD_predn5, slide 15: Bylo řečeno, že se nemění váhy, ale nastavení výstupů. Když se změní výstupy při vybavování (tedy vstupy pro další iteraci), váhy se opravdu nezmění? (Když teď máme úplně jiné vstupy, podle kterých počítáme váhy?) otázky a odpovědi 8 þ AKD_predn5, slide 15: Bylo řečeno, že se nemění váhy, ale nastavení výstupů. Když se změní výstupy při vybavování (tedy vstupy pro další iteraci), váhy se opravdu nezmění? (Když teď máme úplně jiné vstupy, podle kterých počítáme váhy?) Hopfieldova síť vybavování þ Nejprve jsou nastaveny počáteční stavy jednotlivých neuronů podle předloženého vzoru podle vztahu y[i](0)=x[i], i=1,2,…,n a dále jsou tyto stavy iteračně aktualizovány podle vztahu (f je aktivační funkce). Hopfieldova síť vybavování þ po každé iteraci jsou výstupy poopraveny a slouží jako vstupy do sítě. þ opakujeme tak dlouho, až se stavy (výstupy) všech neuronů během dvou po sobě následujících cyklů nezmění. otázky a odpovědi 8 þ AKD_predn5, slide 15: Bylo řečeno, že se nemění váhy, ale nastavení výstupů. Když se změní výstupy při vybavování (tedy vstupy pro další iteraci), váhy se opravdu nezmění? (Když teď máme úplně jiné vstupy, podle kterých počítáme váhy?) Vstupy se nemění, pouze výstupy v předchozí iteraci. Proto se nemění váhy, ty nám charakterizují tvar optimalizační funkce, po které se výpočet pohybuje ve fázi vybavování. otázky a odpovědi 9 þ AKD_predn5, slide 19: Chápu správně, že známe dopředu, že výsledek má být obrázek trojky? A pak se upravením výstupů snažíme trojce postupně přibližovat? Hopfieldova síť příklad þ Fáze vybavování (rekonstrukce) Hopfieldova síť příklad þ Učení a rekonstrukce osmi obrazů s následujícími vzory þ 120 neuronů (obrázky jsou 10 x 12 = 120 bodů) a tedy 120^2 = 14 400 vah þ je vhodné aby vzory měly co největší Hammingovu vzdálenost otázky a odpovědi 9 þ AKD_predn5, slide 19: Chápu správně, že známe dopředu, že výsledek má být obrázek trojky? A pak se upravením výstupů snažíme trojce postupně přibližovat? otázky a odpovědi 10 þ AKD_predn5, slide 21: Váhy určují umístění v prostoru. Co jsou jejich jednotlivé souřadnice? kohonenova síť (SAMOORGANIZUJíCí SE MAPA – SOM) struktura þ obsahuje jedinou vrstvu v tzv. Kohonenově (kompetiční) vrstvě; þ vstupy jsou plně propojeny s neurony þ neurony mají mezi sebou postranní vazby, které definují topologickou mřížku sítě – nejčastěji čtvercová þ váhy neuronů lze vnímat jako souřadnice neuronu v prostoru; otázky a odpovědi 10 þ AKD_predn5, slide 21: Váhy určují umístění v prostoru. Co jsou jejich jednotlivé souřadnice? TY VÁHY ! otázky a odpovědi 11 þ AKD_predn5, slide 23: Jaký by mohl být konkrétní příklad elementů předloženého vzoru? otázky a odpovědi 11 þ AKD_predn5, slide 23: Jaký by mohl být konkrétní příklad elementů předloženého vzoru? kohonenova síť vybavování þ nejdříve vypočítány vzdálenosti d[j] mezi předloženým vzorem a vahami všech neuronů v kompetiční vrstvě, např. podle vztahu (Kohonen) þ kde index j prochází přes všechny neurony kompetiční vrstvy, kterých je m, x[i] jsou elementy předloženého vzoru a w[ij] jsou váhy neuronů. Vybere se ten neuron j* s minimální vzdáleností od předloženého vzoru þ výstup tohoto neuronu je aktivní, výstupy ostatních neuronů jsou neaktivní otázky a odpovědi 12 þ Jakou knihu o neuronových sítích byste mi doporučil? è Fausett, L.V.: Fundamentals of Neural Networks: Architectures, Algorithms And Applications, Prentice Hall 1993, 461s. ISBN-10: 0133341860 è Haykin, S.: Neural Networks: A Comprehensive Foundation (2nd Edition) (Hardcover), Prentice Hall 1998, 842s. ISBN-10: 0132733501 è [DEL: Bishop, C.M.: :DEL] [DEL: Neural Networks for Pattern Recognition :DEL] [DEL: (1st Edition). :DEL] [DEL: Oxford University Press, 1996 :DEL] [DEL: , 504s. ISBN-10: 0198538642 :DEL] è Jiřina, M.: Neuronové sítě a jejich využití v biomedicínském inženýrství [Habilitační práce], ČVUT v Praze – FBMI 2005, 162s. è Mařík,V. a kol.: Umělá inteligence I. – V., Academia