1 / 33

Umělé neuronové sítě

Umělé neuronové sítě. Funkci umělé neuronové sítě můžeme chápat jako transformaci T vstupního signálu X na výstupní signál. Umělé neuronové sítě.

prince
Télécharger la présentation

Umělé neuronové sítě

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Umělé neuronové sítě • Funkci umělé neuronové sítě můžeme chápat jako transformaci T vstupního signálu X na výstupní signál

  2. Umělé neuronové sítě • Za umělou neuronovou síť se obecně považuje taková struktura pro distribuované paralelní zpracování dat, která se skládá z jistého, obvykle velmi vysokého, počtu vzájemně propojených výkonných prvků. Každý z nich může současně přijímat libovolný konečný počet různých vstupních dat. Na další výkonné prvky může předávat libovolný konečný počet shodných informací o stavu svého jediného, avšak velmi rozvětveného výstupu. Každý výkonný prvek transformuje vstupní data na výstupní podle jisté přenosové funkce. Přitom se též může uplatnit obsah jeho lokální paměti.

  3. Umělé neuronové sítě • Úvahy o tom, jaké transformace je možno pomocí neuronových sítí realizovat, jsou předmětem zájmu již od počátku rozvoje jejich poznání. Poznatky o míře obecnosti transformačních funkcí, uskutečňovaných tím či oním druhem neuronové sítě, byly však chybně přenášeny i na jejich další typy. To vedlo k řadě omylů a nedorozumění. • Snad nejzávažnější byl ten, který se váže k dnes již proslulé práci M. Minského a S. Paperta věnované perceptronům. Oba autoři matematicky dokázali, že se tato neuronová síť nehodí pro implementaci jednoduché logické funkce typu XOR. Oba však svůj správný poznatek neoprávněně zobecnili na neuronové sítě vůbec. Jak se dnes s odstupem let často konstatuje, nesou díky tomu vinu za pozdržení vývoje, které nastalo od konce šedesátých až do poloviny let osmdesátých.

  4. Umělé neuronové sítě • Matematický důkaz o vlastnostech transformační funkce T obecněji uspořádané neuronové sítě nebyl však dlouhá léta k dispozici. Teprve R. Hecht-Nielsen a K. Horník ukázali cestu k obecnějšímu poznání. Ta vede ke Kolmogorově teorému o řešení tzv. třináctého Hilbertova problému. Třináctý Hilbertův problém se týká možnosti reprezentace spojitých funkcí n proměnných pomocí konečného součtu a superpozice spojitých funkcí jedné proměnné. Hilbert vyslovil domněnku, že kořeny rovnice • nelze vyjádřit jako funkce koeficientů a, b, c konečnými součty spojitých funkcí pouze dvou proměnných. Teprve po 57 létech dokázal Kolmogorov, že tato domněnka nebyla správná.

  5. Kolmogorovův teorém • Každou reálnou spojitou funkci f mající n proměnných definovanou v n-rozměrné krychli o hranách (0,1) lze vyjádřit jako • kde Ψi a Φi jsou spojité funkce jedné proměnné a p = 1, ... ,n a q =1, ... ,(2n+1)

  6. Kolmogorovův teorém • Přitom pro danou funkci f jsou specifické pouze funkce Ψi, zatímco funkce Φijsou pro dané n a f nezávislé. Hecht-Nielsen ukázal, že tuto univerzální vlastnost funkcí Φpg lze využít též pro reprezentaci funkcí s hodnotami v prostoru vyšších rozměrů. • Kolmogorovův teorém doplňovali v pozdějších letech někteří další autoři, např. Lorenz, který dokázal, že je možno vystačit pouze s jedinou funkcí Ψa D.A. Sprecher, který našel podmínky pro to, aby funkce Ψq měly tvar λpΦp, kde λpjsou konstanty. • Aplikace Kolmogorovova teorému na problematiku neuronových sítí vede k poznatku, že k tomu, aby bylo transformační funkcí T neuronové sítě možno aproximovat libovolnou funkci f postačí, aby příslušná neuronová síť měla alespoň tři vrstvy o odpovídajících počtech neuronů (výkonných prvků) v jednotlivých vrstvách. • Funkci T lze tedy implementovat jako transformační funkci neuronové sítě, která má nejméně tři vrstvy s dopřednou vzájemnou vazbou, nepočítaje v to vstupní, distribuční vrstvu.

  7. Perceptron • Výkonným prvkem umělé neuronové sítě perceptronovského typuje formální neuron. Ten zpracovává vstupní údaje podle vztahu vpravo. • Na obrázku - základní model jednoduchého neuronu tj. McCulloch-Pittsův perceptron • Perceptron – jeden výstup, pouze v jedné vrstvě můžeme nastavovat váhy – zde nejjednodušší perceptron

  8. Perceptron • Výraz v závorce někdy označujeme termínem vnitřní potenciál neuronu. • Podle povahy vstupních dat rozlišujeme neurony binární zpracovávající data dvouhodnotová a neurony vicehodnotové, kterým budeme říkat spojité. Ty si poradí i s daty nesoucími vícebitovou informaci o hodnotě, například o amplitudě výstupního signálu nějakého čidla. To, že o nich mluvíme jako o neuronech spojitých, nemá žádnou souvislost s vlastním způsobem jejich činnosti, s jejich implementací. Ta bývá nejčastěji digitální v podobě programu nějakého procesoru, nebo jako speciální VLSI obvod. Jiná, hlavně v dřívější době používaná, je implementace analogová tvořená operačními zesilovači a proměnnými odpory. V poslední době vzrůstá význam implementací optických. • Poznámka. Problémům s formální nesymetrií vztahu definujícího aktivitu McCulloch-Pittsova neuronu se můžeme vyhnout změnou dolní meze sčítacího indexu (rovnice nahoře). • Na dalších přednáškách se seznámíme i s neurony jinými. Neperceptronovskou neuronovou sítí je například síť Kohonenova, ART i Neocognitron. Měli byste být schopni říci, jak se od McCulloch-Pittsova perceptronu liší perceptron Rosenblattův a v čem jsou jiné neurony Hopfieldovy sítě a sítě Back-propagation.

  9. Pracovní fáze umělé neuronové sítě • Umělá neuronová síť pracuje v zásadě ve dvou fázích - adaptivní a aktivní. V adaptivní fázi se síť učí, v aktivní vykonává naučenou činnost, vybavuje. Paměť je nejčastěji reprezentována hodnotami synaptických vah na jednotlivých vstupech neuronů.

  10. Učení, resp. trénování a jeho typy • Při učení dochází v neuronové síti ke změnám, kterými se síť adaptuje na řešení daného problému. Učení se v umělé neuronové síti realizuje nastavováním synaptických vah a prahů. Až na jeden případ (síť GMDH) nedochází při učení ke změnám v jejich topologii (propojení, počtu vrstev, apod.). • V praxi se před učením váhám přisoudí počáteční hodnoty, které mohou být buďto náhodně zvolené, nebo vybrané podle nějakého podobného případu. Pak se do sítě přivede trénovací vstup. Síť poskytne výstup, odezvu.Jsou dva typy učení: s učitelem a bez učitele.

  11. Učení s učitelem • Při učení s učitelem existuje nějaké vnější kritérium určující, který výstup je správný a v síti se nastavují váhy pomocí zpětné vazby podle toho, jak blízko je výstup kritériu. Vypočítává se rozdíl mezi žádaným a skutečným výstupem. Váhy se modifikují podle nějakého algoritmu, který zabezpečuje snižování chyby mezi skutečným a žádaným výstupem. Velikost změn vah v jednom kroku učení je obvykle malá. Pak se síti předloží nový vstup a celý proces se zopakuje. Po provedení velkého počtu pokusů se síť naučí vydávat stabilní výstup jako reakci na vstupy, které přijímá. Odvozena a dokázána byla celá řada teorémů o konvergenci a stabilitě učících algoritmů. Bez nich by totiž učení nemělo žádný smysl. • Při učení s učitelem se umělá neuronová síť učí srovnáváním aktuálního výstupu s výstupem požadovaným a přestavováním synaptických vah tak, aby se propříště snížil rozdíl mezi skutečným a žádaným výstupem. Metodika snižování rozdílu je určena učicím algoritmem. • Mezi metody učení s učitelem patří například: posilované učení, stochastické učení a zpětné šíření chyby (Back-propagation).

  12. Učení bez učitele • Učení bez učitele nemá žádné vnější kritérium správnosti. Algoritmus učení je navržen tak, že hledá ve vstupních datech určité vzorky se společnými vlastnostmi. Učení bez učitele je samoorganizací. • Do učení bez učitele není zapojen žádný vnější arbitr a celé učení je založeno pouze na informacích, které samotná síť během celého procesu učení získala. • Mezi metody učení bez učitele patří: Hebbovské učení a kompetice.

  13. Učící proces • Učící proces probíhá většinou v živých organismech opakovaně, než se dosáhne požadovaného stavu. Existuje ale také učení jednorázové, při němž síť si hned napoprvé předložený vzor zapamatuje. Takovou schopnost mají ale jen některé umělé neuronové sítě, např. Hopfieldova síť a jedna varianta Neocognitronu.

  14. Vybavování • Vybavování je aktivní fází umělé neuronové sítě. Následuje za fází adaptivní a zpracovávají se v ní vstupní data. • Naší každodenní zkušeností jsou, aniž si to často uvědomujeme, asociace. Většina lidí je okamžitě schopna ke známým tvářím přiřazovat jména, poznávat lidi ze svého okolí, atd. Vytváříme si spojení mezi lidmi, událostmi a místy, mezi tvary a objekty. To nám dává schopnost vytvářet si naši vlastní reprezentaci vnějšího světa.

  15. Vybavování • Vstupy našich smyslů spouštějí kaskádu asociací, každá vyvolává následující. Z uvedeného je vidět, že lidské myšlení pracuje asociativním způsobem. Obecněji můžeme výše řečené formulovat takto: asociativní paměť je takový systém, který ke vstupu vyvolává asociovanou odezvu. • Umělá neuronová síť je ve skutečnosti právě takovou asociativní pamětí, ve které jsou uloženy různé vzory a která si tyto vzory vybavuje. Možné jsou prostorové (jednoduché statické) vzory a časoprostorové (posloupnosti statických obrazů) vzory. I vybavování může mít jednu ze dvou variant: • autoasociativní • heteroasociativní

  16. Autoasociativní vybavováni • Při autoasociativním vybavováni se z paměti čtou vektory Xx ,...,Xm • Na první pohled snad může vzniknout pochybnost o tom, je-li autoasociativní neuronová síť vůbec využitelná. Vstup a výstup systému s tímto chováním je totiž stejný. Význam autoasociace však okamžitě vysvitne v případě, kdy není vstupní vektor kompletní (viz následující obrázek)

  17. Autoasociativní vybavováni

  18. Heteroasociativní vybavování • Umělá neuronová síť je heteroasociativní, pokud jsou v ní uloženy páry vzor-obraz (X1,Y1),..., (Xm,Ym) • Podle konkrétní úlohy ještě rozlišujeme, zda má heteroasociativní síť odpovídat vybavením nejbližšího souseda, nebo zda má interpolovat

  19. Heteroasociativní vybavování Vybavení nejbližšího souseda • Sledujme síť, která umí vybavit tři nálady z výrazu tváře. Při vybavení nejbližšího souseda poskytne neuronová síť ten ze všech uložených obrazů, který je vstupnímu vzoru nejblíže

  20. Heteroasociativní vybavování Vybavení nejbližšího souseda

  21. Heteroasociativní vybavování Interpolace • Při interpolaci vybavuje neuronová síť interpolovaný výstupní obraz z těch, které jsou v ní uloženy, což je v našem případě neexistující nálada

  22. Metody vyhodnocování podobnosti dvou vektorů • Jak uvidíme při studiu tohoto předmětu dále, často budeme potřebovat vyhodnotit vzdálenost, nebo řekněme míru podobnosti, mezi dvěma či více vektory, nebo mezi předloženým vzorem a neurony, které například představují jisté třídy vektorů podobných. Na jejím základě bude totiž naše umělá neuronová síť rozhodovat, kam právě předkládaný vzor patří. Všechny metody, které dále popíšeme, vycházejí z geometrické představy. • Často se používá metoda určení podobnosti na základě Eukleidovské vzdálenosti. V N -rozměrném kartézském souřadném systému RN můžeme každý vektor Xizapsat takto • přičemž horní index T znamená maticovou transpozici (v tomto případě sloupcový vektor). Eukleidovskou vzdálenost dvojice vektorů z tohoto prostoru určíme ze vztahu

  23. Metody vyhodnocování podobnosti dvou vektorů • Geometrický význam Eukleidovské vzdálenosti i způsob jejího výpočtu je jistě každému dostatečně zřejmý. Podobností dvojice vektorů se obvykle míní převrácená hodnota Eukleidovské vzdálenosti. • Jiným měřítkem podobnosti je tzv. vnitřní součin (inner product). I tento pojem jsme si vypůjčili z maticové algebry a tam se definuje takto: jsou-li dány dva vektory (s indexy i a j), pak jejich vnitřní součin určíme vyčíslením vztahu (dole) • Vydělíme-li takto vypočtenou hodnotu číslem vzniklým násobením velikostí vektorů Xi a Xj, (|Xi |. |Xj|) dostaneme kosinus úhlu, který spolu oba vektory svírají. Dva vektory, které spolu svírají malý úhel, jsou si podobné. Tentokrát jde o podobnost směrovou. • Při studiu předmětu dále uvidíme, že perceptrony vyhodnocují podobnost na základě vnitřního součinu, zatímco ART, RBF a Kohonenovy neurony používají Eukleidovskou vzdálenost. • Některé jiné neurony pracují se vzdáleností Hammingovou (součet absolutních hodnot rozdílů sobě odpovídajících vektorových souřadnic), s blokovou vzdáleností (obdoba Euklidovské vzdálenosti, avšak bez umocňování a odmocňování), popřípadě se vzdáleností definovanou jinak.

  24. Učící, resp. trénovací množina • Všechny platné vstupní vektory, které síti předkládáme, tvoří vstupní množinu. Ta je v některých případech malá, nebo alespoň spočetná, jindy může dokonce mít nekonečný počet prvků. Pro proces učení má, pochopitel­ně, velikost vstupní množiny rozhodující význam. Nelze-li síti předložit vstupní množinu celou musíme z ní vybrat takovou podmnožinu, která reprezentativním způsobem prostor vstupních dat vystihuje. Té obvykle říkáme učicí nebo trénovací množina. Požadavek na to, aby učicí množina vystihovala množinu vstupní reprezentativním způsobem, je jedním z největších oříšků, se kterým se v aplikaci neuronových sítí setkáme. • Výběr vzorů u učicí množiny nemusí být jen sekvenční. Často se používá i náhodný výběr. Strategie učení patří do kategorie „umění učit" neuronové sítě. Některé vzory se mohou síti předkládat častěji než jiné, atd. Časovému intervalu, během kterého síti předložíme každý vzor učicí množiny alespoň jednou, říkáme epocha. K. naučení sítě obvykle potřebujeme stovky až tisíce epoch. Vhodnou strategií můžeme rychlost a úspěšnost učení ovlivnit.

  25. Kdy je síť naučena? • Síť je naučená, je-li splněna předem zadaná podmínka. Tou může být například dosažení předepsaného počtu trénavacích epoch. Mnohem lepší podmínkou samozřejmě je dosažení velké shody chování sítě s nějakým exaktně zadaným kritériem, kterým může například být pokles globální chyby pod předem stanovenou mez. • Velmi zajímavou informaci o stavu naučenosti sítě poskytuje časový průběh globální chyby. Nezávisle proměnnou v něm může být, namísto času, i počet epoch učení sítě. Obvyklý je průběh, v němž okamžitá hodnota globální chyby klesá. Pokles však nebývá s konstantní strmostí. Často jsou v jeho průběhu prodlevy, během nichž se globální chyba poměrně dlouho nemění. Odpovídá to oblastem, ve kterých se neuronová síť nachází poblíž lokálních minim. Z nich někdy není úniku a pak prodlužování učení nemá smysl. Pomůže jedině aplikace některé z technik odstranění takového uváznutí („natřásání" sítě, simulované žíhání, atp.). Z průběhu globální sítě v čase můžete zjistit přeučení sítě. To se projeví trvalým zvyšováním hodnoty globální chyby následujícím za jejím počátečním poklesem. V takovém případě je třeba učení ukončit a, lze-li, vrátit se k minulým hodnotám parametrů sítě, k těm, které dávaly nejlepší výsledky (nejmenší globální chybu). • V případě, že jsme nemohli při učení využít celou množinu vstupních vektorů a museli jsme ji nahradit podmnožinou učicí, kontrolujeme kvalitu naučení testem na množině testovací. Pro výběr vektorů do této množiny platí totéž, co bylo řečeno výše: musí být reprezentativní. Pro počet jejích prvků není žádný kvantitativní předpis. Bývá jich ale několikrát méně, něž prvků množiny učicí.

  26. Základní aplikační oblasti neuronových sítí • Umělé neuronové sítě mají některé výhodné vlastnosti. Jsou schopné realizovat nad vstupními daty libovolnou transformaci, jsou tedy univerzální. Neuropočítač postavený na bázi neuronové sítě tedy není zapotřebí programovat, protože se správnému chování naučí pomocí předkládaných příkladů. Neuronové sítě jsou díky velkému množství neuronů a spojů (synapsí) a díky tomu, že informace je v celé síti rozprostřena, robustní. Poruchy neuronů vedou jen k postupné degradaci sítě. Mají schopnost zobecnění (generalizace), schopnost abstrakce, tj. schopnost stejně reagovat na jistou množinu vstupních dat, nikoli jen na prvky z této množiny. • Počet neuronů v sítích pro praktické aplikace nebo pro modelování funkcí nervové soustavy čítá řádově stovky až tisíce. Sítě navrhované pro studium umělé inteligence, tedy pro perspektivní oblast, do které se vkládá mnoho nadějí, by měly mít řádově 106 neuronů. I tento počet je však ve srovnání s počtem neuronů a synapsí v lidském mozku nepatrný.

  27. Základní aplikační oblasti neuronových sítí • Predikce • Rozpoznávání (klasifikace), • Aproximace • Asociace • Filtrace • Shlukové analýzy • Optimalizace • Komprese dat • popřípadě další

  28. Predikce • Predikce znamená předpovídání výstupní hodnoty jisté veličiny na základě jejího průběhu v minulosti. Při predikci jde o to, abychom v průběhu nějaké známé číselné řady, jejíž hodnoty se mění v závislosti na některém nezávisle proměnném parametru sledovaného jevu (tím může být kterákoliv fyzikální veličina, ale i čas) nalezli co nejpravděpodobnější průběh nezávislé proměnné. Predikce je vlastně speciálním případem extrapolace; tou se rozumí způsob odvození, nebo závěr plynoucí z chování funkce uvnitř známého oboru pro její chování mimo tento obor.

  29. Aproximace • Aproximace spočívá v přibližném určení hodnoty, kterou není možné nebo výhodné určit, přesným způsobem

  30. Klasifikace • Rozpoznávání je rozhodováním na základě vstupního vektoru o tom, do které třídy (kategorie) předmět, daným vektorem popsaný, zařadit. Někdy se místo o rozpoznávání mluví o klasifikaci.

  31. Filtrace • Filtrace vyhlazuje průběh vstupního signálu. Podstatou filtrace je získání úplného, šumem nezatíženého (nezkresleného) výstupního signálu ze signálu vstupního. Ten produkují vstupní senzory, čidla. Jejich technické řešení a funkce závisí na konkrétní aplikaci, pro kterou jsou určeny. Mohou to být například optické snímače (při zpracování obrazové informace) nebo ultrazvukové detektory (ve zpracování dat ze sonaru).

  32. Asociace (přesněji autoasociace) • Asociace (přesněji autoasociace) je filtraci hodně podobná. Umělá neuronová síť se ale v tomto případě učí na bezchybných datech a zpracovává data poškozená. Asociací (tentokrát heteroasociací) se ale také může mít na mysli klasifikace.

  33. Optimalizace • Optimalizace slouží k určení optimální hodnoty nějaké proměnné, např. k minimalizaci délky cesty.

More Related