Presentation is loading. Please wait.

Presentation is loading. Please wait.

Inkrementálne učenie na konvolučných neurónových sieťach

Similar presentations


Presentation on theme: "Inkrementálne učenie na konvolučných neurónových sieťach"— Presentation transcript:

1 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

2 Obsah Úvod Konvolučné neurónové siete Inkrementálne učenie
Boosting – algoritmus AdaBoost Architektúra systému Záver

3 Ú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 Stabilný klasifikátor si uchováva nadobudnuté znalosti, ale nie je schopný akumulovať nové Plastický klasifikátor sa dynamicky prispôsobuje novým znalostiam, ale neuchováva si predchádzajúce znalosti

4 Ú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 Štandartne sa pre zavedenie novej informácie do klasifikátora používa metóda kompletného preučenia Princíp učenia dopredných neurónových sietí patrí do spektra stability a stratu všetkých nadobudnutých informácii pred novým učením nazývame – katastrofickým zabúdaním 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 inkr. učenia Dynamická úprava neurónových sietí – prining, growing On-line learning Alternatívne pomenovania – structural learning, lifelong learning, evolutionary learning

5 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í

6 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

7 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

8 Štruktúra konvolučnej siete
KONVOLUCNA Organizovaná do príznakových máp Prepojenie pomocou zväzku váh – konvolučný filter Extrakcia príznaku – miesto zhody korešponduje s miestom aktivovaného neurónu v príznakovej mape Schopnosť mapovať posunutie Charakter prepojenia je pevne definovaný VZORKOVACIA Vzorkovanie = redukcia priestorového rozlíšenia príznakovej mapy Zabezpečujú invariantnosť voči translácii a deformácii obrazov Lokalizácia príznaku detekovaného v konvolučnej vrstve nie je dôležitá, dôležitá je pozícia príznaku voči ostatným príznakom

9 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

10 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

11 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 Boosting – smeruje k všeobecnej a efektívnej metóde vytvárania veľmi presných pravidiel (decision rules) kombinovaním hrubých a mierne nepresných pravidiel.

12 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 volá opakovane „slabý“ klasifikátor (alebo tiež základný učiaci algoritmus) v sérii opakovaní t = 1....T.

13 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 Hlavnou myšlienkou algoritmu je spravovať distribúciu alebo množinu váh nad trénovacou množinou. Váha distribúcie trénovacieho príkladu i v kole t je Dt(i). Na začiatku sú váhy nastavené zhodne, ale každým ďalším kolom, sa váhy nesprávne klasifikovaných vzorov zvyšujú, takže klasifikátor je nútený zamerať sa na ťažšie príklady z trénovacej množiny. Chyba je meraná s ohľadom na distribúciu Dt ,na ktorej bol daný „slabý“ klasifikátor učený. „Slabý“ algoritmus môže využiť tieto váhy distribúcie, ak to však nie je možné trénovacia množina sa trénovacia množina vytvára vzorkovaním s náhradou (resampling with replacement) Po obdržaní hypotézy ht, AdaBoost vypočítava parameter at. Nasleduje úprava váh distribúcie Dt v spomínanom zmysle. Výsledná hypotéza H je väčšinovým hlasovaním (majority vote) T slabých hypotéz, kde at predstavujú váhy hypotéz ht. ZAVER Výhody Jednoduchá implementácia Nekladie vysoké nároky na použitý klasifikátor Dobrá generalizácia Schopnosť identifikovať outliers Nevýhody Výkon algoritmu je závislý na dátach a na použitom klasifikátore Citlivý na šum Suboptimálne riešenie pre at - nevyžaduje apriórnu vedomosť o použitom „slabom“ klasifikátore - voľnosť použitia akéhokoľvek klasifikátora, ktorého jedinou podmienkou je byť lepší ako náhodne prehľadávanie - outliers – napr. nesprávne trénovacie dáta, ktoré sú dvojzmyselné a ťažko klasifikovateľné - boosting môže zlyhať ak nemáme k dispozícii dostatočné množstvo dát, alebo ak sú hypotézy veľmi komplexné alebo ak sú hypotézy veľmi slabé

14 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) Ensemble of classifiers – súbor alebo skupina klasifikátorov V globáli môžeme očakávať výraznejšie zlepšenie ak jednotlivé klasifikátory sú odlišné (rozdielne) a dostatočne presné. Asi najjednoduchšie je pristúpiť k problému tak, že k dosiahnutiu výsledku budeme volať klasifikátor viackrát s rôznymi trénovacími množinami. Bagging – každý z klasifikátorov je trénovaný na časti originálnej trénovacej množiny. Podmnožiny sú vytvorené uniformným prevzorkovaním s náhradou. Jednotlivé množiny sú nezávislé a algoritmus môže fungovať paralelne. Bagging je známy efektivitou aj sú klasifikátory nestabilné.

15 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

16 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 Princíp: každý nový pridaný klasifikátor je trénovaný na množine príkladov vybranej na základe distribúcie, ktorá zabezpečuje, že príklady nesprávne klasifikované aktuálnou distribúciou majú vysokú prioritu výberu. V prípade inkrementálneho učenia, príklady, ktorým prislúcha vysoká pravdepodobnosť, sú pravdepodobne tie, ktoré sú doposiaľ neznáme a neboli ešte použité pri treénovaní klasifikátora.

17 Inkrementálne účenie Vstup Pre k=1,2,...,K Výstup
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 Trénovacie dáta x = vstupy, y = výstupy (triedy) pre i = 1,2,...,m vzoriek náhodne selektovaných z k-tej databázy Dk Tk = tiež špecifikuje počet klasifikátorov, ktoré majú byť nagenerované Väčšina „silných“ klasifikátorov strávi veľa času počas trénovania pri dolaďovaní rozhodovacej hranice. Podmienkou, s ktorou ráta algoritmus je poskytnutie hrubých rysov deliacej hranice v podaní „slabého“ algoritmu. Na každý klasifikátor sa môžeme pozerať, ako na hypotézu h zo vstupného priestoru X do výstupného priestoru Y. Learn++ algoritmus volaním klasifikátorov generuje viacero hypotéz na rôznych podmnožinách trénovacích prikladov Sk. Každá hypotéza pokrýva iba časť celého vstupného príznakového priestoru.

18 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 Distribúcia v kroku t je zostavená normalizáciou množiny váh prislúchajúcich každému príkladu na základe výsledku klasifikácie daného príkladu klasifikátorom (krok 1). Príklady, ktoré sú klasifikované s vyššou chybou (ťažšie) obdržia vyššie váhové ohodnotenie a tým pádom sa zvyšuje aj ich šanca na výber v ďalšom cykle. Zostavenie množín TR TE na základe D (krok 2). Volanie klasifikátora (krok 3) na daných množinách. Získanie hypotézy a výpočet chyby hypotézy, čo vlastne predstavuje sumu distribučných váh zle klasifikovaných príkladov. Ak je chyba väčšia ako ½ hypotéza je zrušená a nasleduje návrat na krok 2. Tu je zohľadnená podmienka slabého klasifikátora predstavujúca 50%. Pri dvojtriednej klasifikácii je to jednoduché kritérium. Problém nastáva s rastúcim počtom tried. Pre N tried, chyba generovaná náhodným klasifikátorom predstavuje (N-1)/N. Tu podmienka minimálnej klasifikácie s úspechom 50% nemusí byť triviálna. Na druhej strane použitie silných klasifikátorov do takého to systému môže viesť k problémom preučenia (overfitting). Ak je chyba menšia ako ½ vypočíta sa normalizovaná chyba.

19 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í Všetky hypotézy vygenerované v predchádzajúcich t krokoch sú skombinované pomocou weighted-majority schémy (krok 5). Hypotéza, ktorá má dobré výsledky na svojej trénovacej a testovacej množine má väčší hlas. Kompozitná hypotéza zahŕňa v sebe sumu získaných hypotéz a predstavuje vlastne zaradenie príkladu do triedy do kroku t (vyhráva ten, kto má najviac hlasov z t hypotéz). Nasleduje výpočet kompozitnej chyby. Výraz v zátvorkách nadobúda hodnoty 1 alebo 0. Ak je kompozitná chyba väčšia ako ½ aktuálna hypotéza je zrušená a vraciame sa na krok 2. K tomuto návratu môže dôjsť vtedy, ak v aktuálnom kroku boli zavedené nové príklady doposiaľ neznáme. V opačnom prípade pokračujeme výpočtom kompozitnej normalizovanej chyby. Nasleduje úprava váh w (ktoré sa použijú v ďalšej iterácii D, v ktorej sa budú vyberať nové TR a TE). Úprava váh je základným kameňom algoritmu. Ak je vzorka xi správne klasifikovaná kompozitnou hypotézou Ht jej váha je vynásobená faktorom Bt (ktorý je podľa definície menší ako 1). Ak nie je správne klasifikovaný váha sa nemení. Ťažký príklad – taký ktorý sa opakovane vyskytuje v TR Ľahký príklad – vyskytuje sa málo v TR Príklady z novej časti príznakového priestoru, ako aj nové príklady z nových tried môžeme nazvať tiež ťažkými príkladmi. AdaBoost nepočíta kompozitné hypotézy. Po Tk hypotézach na rôznych databázach D sa dostávame k záverečnej hypotéze. Inkrementálnosť je zabezpečená vytváraním nových klasifikátorov, doterajšie vedomosti sa uchovávajú v pôvodných klasifikátoroch. Learn++ sa vyznačuje nezávislosťou na použití základného klasifikátora. Algoritmus garantuje konvergenciu na každej trénovacej množine redukovaním chyby s každým pridaným klasifikátorom (je to aj dokázané).

20 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


Download ppt "Inkrementálne učenie na konvolučných neurónových sieťach"

Similar presentations


Ads by Google