200 likes | 337 Views
Inkrementálne učenie na konvolu čných neurónových sieťach. Dušan Medera Center for Intelligent Technologies Department of Cybernetics and Artificial Intelligence Technical University of Košice medera@neuron.tuke.sk. Obsah. Úvod Konvolučné neurónové siete Inkrementálne učenie
E N D
Inkrementálne učenie na konvolučných neurónových sieťach Dušan Medera Center for Intelligent Technologies Department of Cybernetics and Artificial Intelligence Technical University of Košice medera@neuron.tuke.sk
Obsah • Úvod • Konvolučné neurónové siete • Inkrementálne učenie • Boosting – algoritmus AdaBoost • Architektúra systému • Záver
Úvod – neurónové siete (NS) • Aplikácia na širokej doméne úloh • Rozpoznávanie vzorov • Závislosť na trénovacích príkladoch • Časovo náročná príprava • V praxi sa často stretávame s postupným zberom dát • Inkremetnálny prístup • Probém plasticity a stability
Úvod - učenie • Štandartne sa pre zavedenie novej informácie do klasifikátora používa metóda kompletného preučenia • Na druhej strane spektra leží plastický klasifikátor, ktorý sa adaptuje online učením • Inkrementálne učenie • Typicky predstavuje kombináciu prístupov a leží niekde v spektre plasticity – stability • V literatúre sa stretávame aj s inými definíciami inkrementálneho učenia
Rozpoznávanie a konvolučné siete • Odvodené od dopredných NS • Komplexné NS schopné realizovať generovanie príznakov na rozpoznávanie a následnej klasifikácie do jednotlivých tried • Najznámejšie architektúry • Neocognitron – Kunihiko Fukushima • LeNet – Yann LeCun • Primárne využitie našli pri rozpoznávaní rukou písaného písma a tvárí
Konvolučné siete • Rozpoznávanie znakov, ktoré čerpá z jednotlivých charakteristických prvkov znaku je efektívnejšie ako rozpoznávanie celých znakov • Eliminácia nedostatkov dopredných neurónových sietí • Redukcia počtu parametrov – váh • Skrátenie doby učenia • Riešenie invariantnosti voči geometrickým transformáciám
Konvolučné siete • Základné črty konvolučných sietí • Aplikácia lokálnych receptorových oblastí • Technológia zdieľaných váh • Priestorové vzorkovanie • Organizácia neurónov vo vrstvách do príznakových máp (feature maps) • Zmenšenie počtu parametrov • Filtrácia vstupnej informácie • Detekcia príznakov
Konvolučné siete • Silná generalizačná schopnosť • Robustnosť • Nízka pamäťová náročnosť • Úspešná aplikácia off-line rozpoznávania rukou písaného písma • Využitie pri rozpoznávaní obrazov v medicíne • Klasifikácia buniek a chromozómov
Inkrementálne učenie • Algoritmus by mal spĺňať nasledovné kritériá: • Schopnosť doučiť sa dodatočnú informáciu z nových dát • Nemal by vyžadovať prístup k pôvodným dátam pri trénovaní už existujúceho klasifikátora • Mal by zachovávať nadobudnuté znalosti – nemal by trpieť katastrofickým zabúdaním • Mal by byť schopný prispôsobiť sa novým triedam, ktoré môžu byť prezentované s novými dátami
Boosting • 1990 – Boost-by-majority algorithm (Freund) • 1995 – AdaBoost (Freund) • AdaBoost • Patrí do skupiny lineárnych klasifikátorov • Má dobrú generalizačnú schopnosť • Má blízko k sekvenčnému rozhodovaniu
AdaBoost - úvod • Algoritmus buduje „silný“ klasifikátor ako lineárnu kombináciu „slabých“ klasifikátorov • ht(x) – hypotéza „slabého“ klasifikátora • at(x) – váha hypotézy – vyjadruje dôležitosť • H(x) – výsledná „silná“ hypotéza
AdaBoost - algoritmus • Vstup: • Inicializácia: • Pre • Učenie „slabého“ klasifikátora použitím distribúcie Dt • Získanie hypotézy • Výpočet • Aktualizácia • Výsledná hypotéza
Súbor klasifikátorov • Zvýšenie presnosti klasifikátora vieme dosiahnuť priemerovaním tvrdení skupiny klasifikátorov • Techniky vytvárania trénovacích množín • Bagging – balíčkovanie (Breiman) • Boosting – posilnenie (Freund)
Neurónová sieť ako „slabý“ klasifikátor • Ako simulovať „slabý“ klasifikátor pomocou neurónovej siete? • Navrhnúť malú architektúru siete • Cieľová chyba sa môže pohybovať vyššie vzhľadom na komplexitu problému • Úprava konvolučnej neurónovej siete • Použitie menšieho počtu príznakových máp • Trénovanie s vyššou cieľovou chybou
Inkrementálne účenie • Inkrementálny algoritmus inšpirovaný algoritmom AdaBoost a Learn++ • Generuje súbor klasifikátorov, ktoré používajú rôzne distribúcie trénovacích príkladov • Výstupy z klasifikátorov sú kombinované majority-voting schémou • AdaBoost – optimalizovaný s cieľom dosiahnúť vyššiu presnosť • Learn++ - optimalizovaný s cieľom učiť sa nové vzory
Inkrementálne účenie • Vstup • Pre každú množinu Dk, k=1,2,...,K • Vyberáme m príkladov S=[(x1,y1),…,(xm,ym)] • „slabý“ učiaci algoritmus • Tk – špecifikuje počet iterácií • Pre k=1,2,...,K • Inicializácia váh distribúcie w1(i)=D(i)=1/m • Pre t=1,2,...,Tk voláme procedúru Learn++ • Výstup • Finálna hypotéza
Inkrementálne účenie • 1. Nastavenie • 2. Náhodný výber TRt a TEt podmnožín podľa distribúcie Dt • 3. učenie na množine TRt • 4. získanie hypotézy • Výpočet chyby hypotézy • Ak je chyba nastav t=t-1 a choď na krok 2 • Ináč výpočet normalizovanej chyby
Inkrementálne účenie • 5. volanie waighted-majority, získanie kompozitnej hypotézy • Výpočet kompozitnej chyby • Ak Et> 1/2 nastav t=t-1 a choď na krok 2 • 6. Výpočet normalizovanej kompozitnej chyby • Nastavenie distribučných váh inštancií
Záver • Zamerať sa na odstránenie aktuálnych problémov • Navrhnúť špecifickú štruktúru klasifikátora optimalizovanú pre popísaný inkrementálny prístup • Cieľové experimenty • Rozpoznávanie rukou písaného textu • Rozpoznávanie tvárí • Rozpoznávanie chromozómov