Algoritmy a struktury neuropočítačů ASN P4 Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby Vrstevnatá struktura - vícevrstvé NN (Multilayer NN, MLNN) vstupní vrstva (input layer) - jedna skryté vrstvy (hidden layers) - jedna a více výstupní vrstva (output layer) - jedna neurony (matematické procesory) jsou sestavené do vrstev Úkol: zpracování, uchování, přenos informace Rozlišení podle propojení neuronů ve vrstvách: sítě s dopředným šířením informace (feedforward) rekurentní sítě (recurrent networks) informace se šíří v dopředném směru + formou jednoduchých nebo vícenásobných zpětných vazeb
propojení zprostředkovávají synaptické váhy neurony - McCulloch-Pittova typu, v sousedních vrstvách úplně propojené heteroasociativní sítě s učitelem je požadována znalost cílové hodnoty resp. hodnot Vícevrstvé sítě - velká skupina paradigmat: společný název pro topologii a algoritmus učení Příklady: Rosenblattův model Perceptronu, vícevrstvý Perceptron, Widrow-Hoffova ADALINE, MADALINE Viz http://amber.feld.cvut.cz/ssc/ssc-cv/asnc.htm a Tučková,J.: Úvod do teorie a aplikací umělých neuronových sítí. Skripta FEL ČVUT v Praze, vyd. ČVUT, 2005, ISBN 80-01-02800-3.
vstupní data do MLNN nejsou omezena požadavkem lineární separovatelnosti možnost klasifikace do více tříd Separace podmnožin dat pomocí a) jednoduchého perceptronu b) dvojvrstvé NN bez skryté vrstvy c) třívrstvé NN (s 1 skrytou vrstvou) Přibližný odhad počtu učebních vzorů (patterns): N p N e w e přesnost N p počet vzorků N w počet vah Příklad: MLNN 6-10-2 obsahuje 80 vah a prahů, pro chybu 0.1 je třeba 800 vzorů závisí na konkrétní architektuře
Neuronové sítě s učitelem (supervised learning) Vícevrstvá síť s dopředným šířením signálu neurony ve stejné vrstvě nejsou propojeny Algoritmus učení: zpětné šíření chyby (error back-propagation) vsupní vrstva 1. skrytá vrstva 2. skrytá vrstva výstupní vrstva vstupy výstupy supervizor Pozn.: práh (bias) je nulový.
MLNN univerzální aproximátory jsou schopny aproximovat jakoukoliv měřitelnou funkci s požadovanou přesností úspěšnost natrénování závisí na : výběru algoritmu učení dostatečném počtu skrytých neuronů existujícím vztahu mezi vstupními daty a požadovanými hodnotami koeficient konvergence roste s počtem skrytých neuronů koeficient poklesu počtu skrytých neuronů závisí na poklesu vstupní dimenze při konstantní přesnosti skryté neurony obecně nelineární aktivační funkce
rekurentní vazba kontextová vrstva Elmanova částečně rekurentní NS SRN Simple Recurent Network výstup vstup EN Elman Networks skrytá vrstva
EN sítě mají schopnost zapamatovat si data vstupující do neuronové sítě v předchozím kroku učení. Síť rozumí kontextu. Je vhodná k řešení úloh, ve kterých jsou data závislá prostorově i časově (zpracování řečového signálu). Funkce EN: 1) Do EN vstupují současně vstupní data a výstupní data z předchozích stavů. Informace z předchozích stavů jsou přiváděny do tzv. kontextové (rekurentní) vrstvy. 2) Kontextová vrstva = část vstupní vrstvy, propojení ze skryté do vstupní vrstvy rekurence HIF (Hidden-Input Feedback) 3) Kontextová vrstva = část vstupní vrstvy, propojení z výstupní do vstupní vrstvy rekurence OIF (Output-Input Feedback) 4) Kontextová vrstva = část skryté vrstvy, propojení z výstupní do skryté vrstvy rekurence OHF (Output-Hidden Feedback)
Skrytá vrstva - obecně libovolný počet neuronů!!! dobře natrénovaná síť řešící reálné problémy má mít větší počet skrytých neuronů, než MLNN!!! Např. : úlohy rozpoznání řeči - kolem 150 200 neuronů. Volba aktivačních funkcí žádné speciální požadavky. Obvykle: rostoucí nelineární funkce Zobecnění EN - neuronová síť se zpětným šířením chyby v závislosti na čase Back Propagation Through Time BPTT Tento algoritmus umožnuje řešit časové závislosti změny dat, používá se pro zpracování číslicových signálů, při rozpoznání řeči nebo při predikci časových řad. Pracuje jen v dávkovém módu, je náročná na paměť.
Chybové učení (error-correction learning) učení s učitelem hodnoty vah se nastavují úměrně k chybě mezi požadovanými a vypočtenými hodnotami w i j = (t j - y j ) x i lineární optimalizace účelové funkce Rozdíl predikovaných a požadovaných hodnot U N min y i t i j i1 x j 2 j = 1,,k N počet vektorů y i výstup ze sítě t i cílová hodnota x j parametry, j = 1,,k Řešení: metoda nejmenších čtverců
Metoda minimaxu Čebyševova (minimalizace maximální odchylky) U Výběr vzorů min max y i t i x j p j j = 1,,k sekvenčně náhodně opakovaně learning rate modifikace vah: W i j (t+1) = W i j (t) + e j x i chyba na výstupu e j = y j (1 - y j )(t j - y j ) chyba ve skryté vrstvě e j = x j (1 - x j ) S k e k W j k Algoritmus zpětného šíření chyby BP (error back propagation) dnes jeden z nejužívanějších, aplikovaný ve vícevrstvých sítích s učitelem algoritmus iterační, gradientní minimalizace celkové chyby pro všechny vzory
Rozhodovací funkce (cost function) energetická funkce je rovna střední kvadratické chybě mezi požadovaným a skutečným výstupem Aktivační funkce - spojitá diferencovatelná nelineární míra naučenosti : velikost globální chyby m počet výstupů m E g = 0.5 ( y j - T j ) 2 j1 Problémy : nevhodná volba parametrů učení nereprezentativní treninková množina nevhodná inicializace vah a prahů např. nevhodná volba rychlosti učení (learning rate) oscilace - přeskočení malých lokálních minim
Základní učení využívá pouze adaptaci synaptických vah, prahy a parametry přenosových funkcí se nemění. Pouze jeden optimalizační parametr rychlost učení délka kroku (learning rate) Modifikované metody dovolují adaptovat rychlost učení, adaptovat prahy i sklon přenosových funkcí, používají více optimalizačních parametrů, např. moment rozhodují tak o výkonnosti procesu učení rychlejší konvergence, snížení pravděpodobnosti uvíznutí v tzv. lokálním minimu
Inicializace malými náhodnými čísly (nejčastěji) inicializují se váhy a prahy ve všech vrstvách Aktivační (přenosová) funkce ve skrytých vrstvách nelineární (sigmoida, hyperbolická tangenta) ve výstupní vrstvě lineární i nelineární sigmoida - výstup nabývá malých hodnot lineární funkce - výstup nabývá libovolnou hodnotu nutná podmínka : aktivační funkce musí být diferencovatelná Podstata učení - minimalizace sumy čtverců chyb (sum-squared error) Trénink - probíhá do té doby, dokud není dosažena minimální chyba dokud neproběhly všechny epochy volba koeficientu učení (learning rate) : 0 < lr < 1 malé hodnoty pomalé učení větší pravděpodobnost, že nebude přeskočeno lokální minimum
Vícevrstvé sítě s učením zpětného šíření chyby BPG (Error Back-propagation Algorithm Back-propagation of Gradient Algorithm) dopředné propojení a šíření signál heteroasociativní sítě s učitelem (je požadována znalost cílových hodnot) off-line učení počítají se synaptické váhy a prahy batch training pro všechny tréninkové vzorky, modifikace vah až po přivedení všech vzorků do sítě, počítá se aktuální gradient chyby E pro úplnou množinu tréninkových vzorků on-line učení - váhy a prahy jsou modifikovány incremental bezprostředně po přivedení každého training tréninkového vzorku, proces konverguje stochasticky k lokálním minimům a nezaručuje dosažení absolutního minima
Princip: 1) Na vstup NS je přiváděn vektor resp. matice vstupních parametrů - číselné hodnoty pro konkrétní hodnoty fyzikálních veličin - kategoriální data (přiřazení kategorie určité vlastnosti, číselná hodnota udává váhu dané vlastnosti vzhledem k ostatním). 2) Po průchodu sítí je spočítán výstup z každého neuronu a výsledek je porovnán s požadovanou hodnotou. 3) Je spočítána chyba, ta se zpětně přepočítává do předchozích vrstev a synaptické váhy představující paměť jsou opraveny. 4) Do opravené sítě je znovu přiveden vstupní vektor resp. matice a proces se opakuje. Iterativní proces, hledání minima chyby mezi skutečnou (výstupní) hodnotou a požadovanou hodnotou. Nevýhoda: velká citlivost na relevantnost vstupních dat a na inicializaci synaptických vah.
minimalizace rozhodovací funkce (energetická funkce, cost function): gradientní metoda rozhodovací funkce - střední kvadratická chyba mezi požadovaným a skutečným výstupem aktivační funkce - spojitá diferencovatelná nelineární funkce (např. sigmoida nebo hyperbolická tangenta)
Jak nastavit váhy a prahy NN? Pro NN, která dosud nebyla učena, je vhodné použít pro inicializaci funkce typu sigmoida malá náhodná čísla, aby derivace funkce nenabývala malých hodnot (při velkých hodnotách parametrů dochází k saturaci a síť se přestává adaptovat). Naopak - velké hodnoty derivací jsou vhodné pro aktivační funkce Gaussova typu. Pro aktivační funkce typu hyperbolická tangenta se doporučuje (Nguyen a Widrow) - β wi j β, β = 0.7 ( p ) 1/ n n počet neuronů ve vstupní vrstvě, p počet neuronů ve skryté vrstvě