© Institut biostatistiky a analýz Analýza a klasifikace dat – přednáška 11 RNDr. Roman Vyškovský Podzim 2020 Neuronové sítě • Inspirace přírodou • Jednotlivý neuron • Dopředná neuronová síť • RBF sítě • Soutěživé sítě Vyškovský: Analýza a klasifikace dat 2 Biologický neuron Vyškovský: Analýza a klasifikace dat Zdroj obrázku: AnimatLab. Neuron Morphology [online]. ©2011 [cit. 2013‐4‐9]. Dostupné z:  http://www.animatlab.com/NeuralNetworkEditor/FiringRateNeuralNet/NeuronBasics.htm 3 3 dynamiky • V teorii neuronových sítí se zabýváme 3 dynamikami – Aktivní dynamika: výpočet odezvy neuronu resp. neuronové sítě (klasifikační třída, predikovaná hodnota) na předložený podnět (obrázek, vektor se záznamem o pacientovi) – Adaptační dynamika: zahrnuje proces učení neuronu (sítě) – Organizační dynamika: určuje topologii (počet neuronů, počet vrstev), nedává smysl u jednotlivého neuronu, pouze u neuronové sítě 4Vyškovský: Analýza a klasifikace dat Umělý neuron 5Vyškovský: Analýza a klasifikace dat Umělý neuron Vyškovský: Analýza a klasifikace dat Vnitřní potenciál 𝜑 ξ 6 Geometrická interpretace neuronu Vyškovský: Analýza a klasifikace dat 7 Aktivační funkce Vyškovský: Analýza a klasifikace dat 8 Aktivační funkce Obrázek převzat z el. učenice Umělá inteligence (Autor: Ing. Milan Blaha, Ph.D.) https://portal.matematickabiologie.cz/index.php?pg=analyza‐a‐hodnoceni‐ biologickych‐dat‐‐umela‐inteligence Vyškovský: Analýza a klasifikace dat 9 Aktivační funkce Obrázek převzat z el. učenice Umělá inteligence (Autor: Ing. Milan Blaha, Ph.D.) https://portal.matematickabiologie.cz/index.php?pg=analyza‐a‐hodnoceni‐ biologickych‐dat‐‐umela‐inteligence Vyškovský: Analýza a klasifikace dat Diferencovatelnost funkce ‐ je potřeba pro učicí algoritmy založené  na zpětném šíření chyby Nediferencovatelné funkce ‐ jen pro přímý výpočet vah 10 Postup učení Učení je iterativní, přičemž jedna iterace vypadá následovně: 0. Inicializace vah 1. Předložíme vstupní vektor 2. Vypočítáme výstup sítě 3. Výstup srovnáme s očekáváným výstupem (změříme chybu) 4. Provedeme korekci vah Epocha: ‐ Epochou označujeme interval, kdy předložíme všechny vzory z trénovací množiny ‐ Po 1 epoše zkontrolujeme, jestli bylo splněno některé kritérium pro ukončení učení, pokud ne, proces pokračuje od bodu 1 další epochou ‐ Epoch může být stovky, tisíce i více Vyškovský: Analýza a klasifikace dat 11 Hebbovo učení Pro neuron s binárními vstupy a binárními výstupy: 1) Neuron excitován korektně (výstup = 1, očekávaný výstup = 1) – Váhy vedoucí od vstupů xi=1 se posílí o delta 2) Neuron excitován nekorektně (výstup = 1, očekávaný výstup = 0) – Váhy vedoucí od vstupů xi=1 se zmenší o delta 3) Neuron neexcitován (výstup = 0) – Nic se neupravuje Vyškovský: Analýza a klasifikace dat 12 Delta pravidlo Pro neuron s reálnými vstupy, reálným výstupem a lineární aktivační funkcí: 𝑤 𝑛 1 w(n) μ 𝑦 𝑦 𝜇 ∈ 0,1 …rychlost učení 𝑦 …očekáváný výstup Vyškovský: Analýza a klasifikace dat Očekávaní Výsledek μ ∗? Posun vah 0 0 0 ‐ 1 0 μ Zvětší se* 0 1 ‐μ Zmenší se* 1 1 0 ‐ *o μ‐násobek rozdílu od očekávané hodnoty 13 Limitace klasifikace pomocí 1 neuronu Vyškovský: Analýza a klasifikace dat Jeden neuron rozdělí příznakový prostor nadrovinou na 2 poloroviny, tedy umí řešit jen lineárně separovatelné problémy, v případě booleovských funkcí umí řešit např. OR a AND, ale neumí řešit XOR 14 Dopředná neuronová síť 15Vyškovský: Analýza a klasifikace dat Jednovrstvý perceptron • Zobrazení z Rn do Rm • Úplně spojení vstupů se  všemi neurony • Neurony jsou na sobě  nezávislé • Pro klasifikaci stejně  nepoužitelný jako  jednovrstvý perceptron Vyškovský: Analýza a klasifikace dat 16 Vícevrstvý perceptron Organizační dynamika: • NS obsahuje alespoň  jednu skrytou vrstvu  neuronů • Počet neuronů skryté  vrstvy může být libovolný,  obvykle se počet neuronů  snižuje – dochází tak k  redukci informace • Počet neuronů výstupní  vrstvy zpravidla odpovídá  počtu klasifikačních tříd Vyškovský: Analýza a klasifikace dat 17 Klasifikační schopnost neuronové sítě Vyškovský: Analýza a klasifikace dat 18 Klasifikační schopnost neuronové sítě • Příklad!! – První vrstva rozdělí příznakový  prostor na poloroviny – Druhá vrstva rozdělí prostor  na konvexní podoblasti – Třetí vrstva provede  sjednocení těchto oblastí • NS je black box, nevíme, jak  se naučí, ale tento příklad  lze pomocí NS realizovat,  stejně jako jakoukoliv  boolovskou funkci N  proměnných Vyškovský: Analýza a klasifikace dat 19 Učení neuronové sítě • Předkládáme příklady vstup – výstup • Proces učení je iterativní a pro jeho ukončení lze využít validační množinu dat, což zaručuje nepřeučení sítě a nalezení dostatečně obecné transformace dat. Učení lze ukončit: – Dosažením maximálních počet epoch – Několik epoch po sobě nedochází ke snížení chyby – Dosažení požadované chyby • NS se může naučit obtížně řešitelné úlohy • Neuronová síť je black box, nelze nahlédnout do vnitřní struktury Vyškovský: Analýza a klasifikace dat 20 Vícevrstvý perceptron Tréninková množina  obsahuje dvojice  , ,  kde  je vstupní vektor  a  očekávaná  výstupní hodnota, v případě  vícedimenzionálního  výstupu výstupní vektor  Postup učení: 1. Ukážeme síti vstup x 2. Vypočítáme výstup sítě y 3. Změříme odchylku  (chybu) na výstupu sítě:  𝒑 𝒑 𝒑 4. Zpětným šířením chyby  přepočítáme tuto chybu  na vnitřní vrstvy sítě 5. Pro každý neuron  upravíme váhy podle  naměřené chyby Vyškovský: Analýza a klasifikace dat 21 Chybová funkce 𝐸 𝒘 𝐸 𝒘 • 𝒘 – vektor vah • 𝑘 – k‐tý vzor • 𝐸 – suma parciálních chyb pro jednotlivé vzory, přičemž platí: 𝐸 𝒘 1 2 𝑦 𝒘, 𝒙 𝒅 𝒌𝒋 ∈ vypočítaný výstup – očekávaný výstup • Suma chyb přes všechny výstupní neurony • ½ ‐ kvůli zjednodušení derivování Vyškovský: Analýza a klasifikace dat 22 Úprava vah • Váhy jsou inicializovány  náhodně kolem 0 • V 𝑡‐tém kroku je váha 𝒘 vypočítána pomocí vztahu:  𝑤 𝑤 ∆𝑤 , kde 𝑤 je nový stav váhy  z neuronu 𝑖 do 𝑗 v čase 𝑡, 𝑤 je stav váhy z neuronu 𝑖 do 𝑗 v čase 𝑡 1 a ∆𝑤 je změna  váhy v kroku 𝑡, přičemž  𝑡 0 • Změna ∆𝑤 je úměrná  zápornému gradientu funkce  𝐸 𝑤 v bodě 𝑤 : 𝑤 𝑤 𝜀 𝑡 𝜕𝐸 𝜕𝑤 𝒘 , kde 0 𝜀 𝑡 1 rychlost učení a   𝒘 parciální derivace  chybové funkce podle 𝑤 Vyškovský: Analýza a klasifikace dat 23 Úprava vah Vyškovský: Analýza a klasifikace dat 24 Nakonec zderivujeme chybovou funkci podle vah 𝜕𝐸 𝜕𝑤 𝜕𝐸 𝜕𝑤 … … Vyškovský: Analýza a klasifikace dat 25 Kontrola procesu učení proti přeučení • Využijeme validační  množinu pro zastavení  učení • Na validační množině  kontrolujeme bod  (epochu), od kterého se  klasifikace zhoršuje • Další metoda kontroly: – Ve skrytých vrstvách  definujeme menší počty  neuronů, … Vyškovský: Analýza a klasifikace dat 26 Výukové materiály Například… Neuron: https://portal.matematickabiologie.cz/index.php?pg=analyza‐a‐hodnoceni‐ biologickych‐dat‐‐umela‐inteligence‐‐neuronove‐site‐jednotlivy‐neuron Neuronová síť: https://portal.matematickabiologie.cz/index.php?pg=analyza‐a‐hodnoceni‐ biologickych‐dat‐‐umela‐inteligence‐‐neuronove‐site‐perceptrony Vyškovský: Analýza a klasifikace dat 27 RBF sítě 28 RBF sítě • Lokální výpočetní jednotky • Každý neuron má definované okolí v euklidovském prostoru, kde je citlivý na vstupní vektor • Citlivost je závislá na vzdálenosti od vstupního vektoru • 2‐vrstvé NS s úplným spojením neuronů: – 1. vrstva je tvořena RBF neurony – 2. vrstva je lineární • Kombinace učení bez učitele a učení s učitelem Vyškovský: Analýza a klasifikace dat http://bio.felk.cvut.cz/biocmsms/uploads/images/nature_insp ired//RBF_net.png Výpočet RBF neuronu • Vnitřní potenciál: 𝜉 x c kde 𝒙 𝑥 , … , 𝑥 je vektor vstupů a 𝒄 𝑐 , … , 𝑐 je tzv. střed • Aktivační funkce: 𝑦 𝜑 𝜉 𝑒 𝜑 – Gaussova funkce (𝜎 0) nebo diskrétní případ vrací 0 nebo 1 podle  prahu apod. 30Vyškovský: Analýza a klasifikace dat Soutěživé sítě Kohonenova mapa Vektorová kvantizace učením 31Vyškovský: Analýza a klasifikace dat Kohonenova mapa 32 • Jednovrstvá neuronová síť • Využívá učení bez učitele • Autor finský profesor Teuvo Kohonen v roce 1982 • Pro klasifikaci lze využít po doučení pomocí učení s učitelem s využitím tzv. vektorové kvantizace učením tzv. Learning Vector Quantization (LVQ algoritmus) • Samotná mapa se využívá pro aproximaci pravděpodobnostního rozložení dat Vyškovský: Analýza a klasifikace dat Kohonenova mapa 33Vyškovský: Analýza a klasifikace dat Kohonenova mapa 34 • Ten je posunut pomocí vztahu:  • Náhodně se rozmístí N neuronů v příznakovém prostoru • Neurony jsou uspořádány v mřížce • Je nalezen nejbližší neuron  • , kde c je nejbližší neuron ke vstupu x a mi je i‐tý neuron.  • Kromě tohoto neuronu jsou adaptovány i neurony z okolí, které se v průběhu  času zmenšuje  to zajišťuje aproximaci distribuce dat • https://www.youtube.com/watch?v=k7DK5fnJH94&ab_channel=bitLectures Vyškovský: Analýza a klasifikace dat Learning vector quantization (LVQ1) • Klasifikace podle metody nejbližšího souseda • Učení – Nejprve se musí určit třídy neuronů – Pro každý tréninkový subjekt se najde nejbližší neuron, tento neuron je označen za reprezentanta té třídy, podle toho, pro které subjekty z trénovací množiny byl vícekrát nejbližším neuronem – Např. neuron č. 1 je nejbližší pro 5 pacientů a 10 kontrol  je zvolen jako reprezentant kontrol 35Vyškovský: Analýza a klasifikace dat Learning vector quantization (LVQ1) • LVQ1 algoritmus má tyto kroky: – Ukaž trénovací vzor x – Najdi nejbližší neuron – Pokud je trénovací vzor x klasifikován správně  přibliž neuron – Pokud je trénovací vzor x klasifikován špatně  oddal neuron – S ostatními neurony nehýbej • V algoritmu vystupuje rychlost učení α, která určuje velikost posunu neuronu v euklidovském prostoru (může se v průběhu času snižovat) a) Pokud je vzor x klasifikován správně b) Pokud je vzor x klasifikován špatně c) Ostatní neurony 36Vyškovský: Analýza a klasifikace dat Learning vector quantization (LVQ2) • LVQ2 algoritmus má tyto kroky: – Ukaž trénovací vzor x – Najdi 2 nejbližší neurony, pro které platí: ‐ Neurony jsou kompetitivní ‐ Nejbližší neuron musí klasifikovat špatně (LVQ2.1 – toto pravidlo vynechává) ‐ Vstup musí být situovaný v pásmu uprostřed mezi kompetitivními neurony a nesmí být příliš blízko jednomu z nich – Posuň správně klasifikující neuron směrem k trénovacímu vzoru x a špatně klasifikující neuron od trénovacího vzoru x – Pohybuje se přímo s rozhodovací hranicí 37Vyškovský: Analýza a klasifikace dat Zdroj • https://sci2s.ugr.es/keel/pdf/algorithm/articulo/1990‐Kohonen‐PIEEE.pdf 38Vyškovský: Analýza a klasifikace dat