GENETICKÉ UČENÍ NEURONOVÝCH SÍTÍ GENETIC LEARNING OF NEURAL NETWORKS Roman Bisup, Anna Čermáová Anotace: Příspěve se zabývá prezentací principů učení jednoho onrétního typu neuronových sítí. Cílem práce je představení méně známé metody trénování umělých neuronových sítí, terá je založena na geneticých algoritmech. Klíčová slova: neuronové sítě, formální neuron, vícevrstvý perceptron, geneticé učení Abstract: This article presents principles of learning one particular neural networ type. Initially text describes model of simple artificial neuron and his connection to a net. The aim of this text is a presentation less well-nown learning method of the neural networs, which is based on Genetic Algorithms. Keywords: neural networs, formal neuron, multilayer perceptron, genetic learning ÚVOD Stále častěji je možno se setat s různými podpůrnými systémy řízení podniů, teré umožňují efetivně využívat dostupné zdroje. V současné době se díy změnám souvisejících nejen se vstupem Česé republiy do EU mění podmíny, za nichž se jednotlivé firmy uplatňují na trhu. Za poměrně nestabilního prostředí stoupá na ceně práce expertů schopných podchytit důležité indiátory, na jejichž záladě mohou valifiovaně navrhnout řešení. Při tvorbě expertního systému, jež by substituoval práci experta, je často problémem čas a neschopnost toho daného experta popsat svoje rozhodování pomocí logicých úvah snadno převeditelných do If-than-else jazya vhodného pro implementaci. Řešení nabízí expertní systém založený na neuronových sítích. Pro tvorbu taovéhoto expertního systému není nutná precizně popsaná rozhodovací strutura experta, stačí jen shromáždit data, podle nichž se expert (supina expertů) rozhoduje a nim příslušná rozhodnutí, jež byly učiněna. Řene-li se slovní spojení umělá neuronová síť většině lidí, teří o neuronových sítích něco málo slyšeli, se oamžitě vybaví jeden onrétní typ sítě a tou je vícevrstvá dopředná síť. Tito lidé znalí problematiy si vzpomenou na nejběžnější způsob, jaým se do prostoru sítě dá umístit informace. Neběžnějším a poměrně osvědčeným způsobem je učení vícevrstvé dopředné sítě s využitím algoritmu se zpětným šířením chyby, známým jao Bacpropagation. Tento algoritmus vša není jediným způsobem ja vhodně nastavit parametry sítě a v tomto příspěvu je pojednáno o alternativním způsobu ja neuronovou sít natrénovat. Tedy nastavit váhy, prahy a parametry přenosových funcí vícevrstvé dopředné sítě bude probíhat pomocí geneticých algoritmů. Aby bylo možno uvedený algoritmus prezentovat je přece jen nutné nejprve alespoň zevrubně popsat topologii sítě.
TOPOLOGIE VÍCEVRSTÉ DOPŘEDNÉ SÍTĚ Formální neuron Formální neuron, jaožto zjednodušený model biologicého neuronu, je složen z výonného těla, obecně n různých vstupů a pouze jednoho výstupu. Na vstupy neuronu přicházejí informace obecně charaterizovány reálnými čísly x, K, xn, z nichž neuron spočte váženou sumu, od níž ještě odečte prahovou hodnotu běžně nazývanou bias Θ : n ξ = w i x i Θ. ( ) i= Následně transformuje hodnotu ξ přenosovou funcí σ na výstupní hodnotu neuronu y = σ ( ξ ). Doplňme, že hodnotě ξ se říá vnitřní potenciál neuronu a váhám w, K, wn synapticé. Přenosová funce je do modelu zahrnuta z důvodů orece výstupu daného váhy neuronu a právě v součinnosti s biasem modeluje lasicou ativační hodnotu biologicého neuronu. Přenosová funce bývá volena s ohledem na učící algoritmus. Výběr je vša obvyle prováděn z množiny sigmoidních funcí zobrazujících reálnou osu na omezený interval. Při zobrazení modelu formálního neuronu si představujeme váženou sumu vstupů ta, že jednotlivé vstupy ohodnocujeme jim příslušnými synapticými váhami, jež určují míru propustnosti jednotlivých vstupů. Záporná hodna synapticých vah pa zřejmě představuje inhibiční charater daného vstupu. Vše názorně zobrazuje následující obráze (Obr.). Θ x x 2 M x n w w 2 w n ξ σ y x, w,. K,w n synapticé váhy ξ vnitřní potenciál y výstup σ přenosová funce, K x n vstupy OBR.: FORMÁLNÍ NEURON Právě popsaný neuron je třeba zapojit do sítě, neboť vlastnosti formálního neuronu nejsou z hledisa přínosu řešení reálných úloh příliš oslnivé. Napřílad formální neuron, ja publioval M. L. Miny a S. A. Papert v roce 969 [2], nedoáže řešit již jednoduchou logicou funci XOR 2. VÍCEVRSTVÁ DOPŘEDNÁ SÍŤ Různé typy sítí vzniají na záladě zvoleného propojení neuronů. Dopředná vícevrstvá síť vzniá spojením neuronů, jež jsou rozděleny do něolia funčních vrstev - vrstva vstupní, vrstvy sryté, či mezilehlé a vrstva výstupní. Každá vrstva je od předcházející a následující vrstvy, včetně vrstvy vstupní a výstupní, vymezena následujícím pravidly. Neurony jedné vrstvy se navzájem neovlivňují, čímž rozumíme neexistenci spoje mezi neurony. Všechny výstupy neuronů jedné vrstvy jsou vstupy pouze pro aždý neuron vrstvy následující. Obdobně vstupy neuronu dané vrstvy jsou výstupy právě všech neuronů vrstvy předcházející. Označíme-li počet vrstev p+, pa vstupní (nultou) vrstvu tvoří tzv. vstupní neurony. Na aždý z nich je přiveden pouze jeden vstup odpovídající vstupu z oolí sítě. Je-li tedy problém charaterizován n 0 vstupními hodnotami x = ( x, xn 0 ), má vstupní vrstva právě n 0 neuronů. Vstupní neurony mají jen formální funci a slouží distribuci vstupních hodnot další vrstvě sítě. Každý vstupní neuron přivádí data na vstup všech neuronů v první vrstvě. První OBR.2: ARCHITEKTURA DOPŘEDNÉ VÍCEVRSTVÉ NEURONOVÉ SÍTĚ 3-4-3-2 např.: saturovaná lineární funce, logisticá sigmoida, hyperbolicý tangens, 2 exlusive OR vylučovací disjunce
až p- vrstva je označována za srytou vrstvu a společně tvoří hlavní výpočetní sílu neuronové sítě. Výstupní p-tou vrstvou označujeme neurony, jež mají za vstupy všechny výstupy neuronů předcházející p- vrstvy a samy tvoří výstup celé neuronové sítě. Je-li tedy problém charaterizován n p výstupními hodnotami y = ( y, y n ), má výstupní vrstva p právě n p neuronů. Výstupním neuronům obvyle přiřazujeme jen lineární přenosovou funci. Bude-li mít vícevrstvá dopředná síť tři vstupy, dvě sryté vrstvy, jednu s čtyřmi, druhou se třemi neurony, a výstupní vrstvu s dvěmi neurony, pa jí můžeme graficy znázornit následujícím způsobem (Obr.2). Právě zobrazená neuronová síť může za určitého nastavení topologie obsahovat 46 volných parametrů, jež je třeba v procesu učení najít. Z nich 9 připadá na hodnoty biasů neuronů ve srytých vrstvách a výstupní vrstvě, 7 na parametr sigmoidní přenosové funce srytých neuronů a 3 4, 4 3 a 3 2 tedy dohromady 30 parametrů připadá na hodnoty synapticých vah. Zvolíme-li tedy typy přenosových funcí, architeturu sítě a způsob učení, zvolili jsme celou topologii neuronové sítě. Této části procesu tvorby neuronové sítě se říá organizační dynamia. Vzhledem tréninové metodě není nutné precizně zavádět značení, ta jao napřílad pro metodu bacpropagation. UČENÍ NEURONOVÝCH SÍTÍ AKTIVNÍ A ADAPTAČNÍ DYNAMIKA Neuronovou síť můžeme chápat jao naučitelné zobrazení F, jehož výstup y je závislý na váhách příslušných aždému neuronu sítě, vstupních hodnotách a biasech tedy ( w, x θ) y = F,, de w je vetor všech synapticých vah celé neuronové sítě, x je vetor reprezentující vstup sítě a θ je vetor biasů. Z hledisa práce neuronové sítě s již určenou topologií, rozlišujeme dvě dynamiy, v nichž neuronová síť pracuje. Jednou z nich je dynamia ativní. V ativní dynamice se na vstupní neurony sítě přivádí vstupní informace a po vrstvách jsou počítány jednotlivé výstupní hodnoty všech neuronů. Pro uživatele využívajícího již adaptovanou neuronovou síť je samozřejmě podstatný pouze celový výstup sítě y. Druhou, adaptivní dynamiou rozumíme modifiaci volných parametrů neuronové sítě. Tato modifiace není jednoznačně dána a záleží jen na rozhodnutí, jaá metoda bude pro vhodné nastavení vah zvolena. Tedy již slibovanému hledání optimálního nastavení volných parametrů neuronové sítě pomocí geneticých algoritmů. GENETICKÉ ALGORITMY Myšlena geneticých algoritmů je založena na záladě biologicé genetiy a Darwinovy evoluční teorie. Postupně jsou tvořeny generace jedinců jež se předem daným způsobem vyvíjí z generace předchozí. Při matematicém popisu geneticých algoritmů bývá používána terminologie, jež je známá z biologicých oborů 3 viz tabula (levý sloupec biologicý význam, prvý pa matematicé paralela): Populace sled generací vývojově uspořádaná množina generací GENERACE supina jedinců, na níž je apliována teorie o vývoji druhů (selece) Jedinec nositel geneticé informace množina jedinců na níž je prováděn výběr pro vytvoření nové generace reprezentant vetoru genotypu Genotyp geneticý popis organismu Gen elementární jednota geneticé informace celový vetor, jež óduje řešený problém jedna určitá složa chromozomu, onrétní symbol 3 jaoliv se jeví oblast informatiy a genetiy vzdálená
Fenotyp fyzicý popis genotypu Př.: Je-li u člověa příslušný chromozom typu XY (= genotyp) je daný člově mužem 4 (= fenotyp) Chromozom část moleuly DNA, Alela určité místo (pozice) v chromozómu, jedna z onrétních forem genu Fitness síla jedince v generaci, od ní se odvozuje šance přežití výslede transformace zaódování Př.: binární vyjádření 0 (= genotyp) odpovídá číslu 5 v deadicém, tedy pro člověa běžném zápisu (= fenotyp) vetor obsahující jednu či více slože celového vetoru, jež óduje řešený problém, např. sevence symbolů z nějaé abecedy (mohou to být čísla, znay nebo jejich ombinace) množina jistých hodnot, terých mohou geny nabývat síla jedince v generaci, odvozuje se riteriální funce Princip geneticých algoritmů je v souvislosti s Darwinovou evoluční teorií následující: Vybrat optimálního jedince (algoritmus), terý se nejlépe hodí pro dané prostředí (daný úol). Na počátu je tedy z parametricého prostoru, jež je určen alelami, náhodně vygenerována množina jedinců určená svými genotypy (. generace). Pro jednotlivé jedince se spočte tzv. riteriální funce, což je funce, jež charaterizuje vhodnost jedince (v případě neuronových sítí je to globální chyba sítě). Následující generace je pa tvořena z té předcházející předem daným způsobem. Jedním z nejomplexnějších přístupů je tento postup, vycházející ze sutečných principů přírody. Část jedinců postupuje rovnou do další generace na záladě nejvyšší vhodnosti, princip tzv. elitářství (). Druhá část nově vzniající generace je z té předchozí náhodně vybrána, což představuje princip nepohlavního rozmnožování (2). Třetí část vzniá zombinováním genotypů dvou rodičů s výsledem dvou potomů, u nichž je genotyp vytvořen náhodnou záměnou něterých sobě odpovídajících genů (3). Záměna genů může být přesně dána, nebo je volena náhodně. Poslední supina je odvozena od těch předchozích, nově vzninuvších, pomocí mutace náhodné změny genu (4). V modelech geneticých algoritmů bývá mutace řešena pomocí generátorů náhodných čísel a určený gen je buďto zaměněn náhodným číslem, nebo je gen původní změněn v závislosti na vygenerovaném čísle. GENETICKÉ UČENÍ NEURONOVÝCH SÍTÍ Předpoládejme tréninovou datovou množinu o s prvcích, aždý ve tvaru ( x, d ) pro =, s, de d je vetor požadovaného výsledu, jež chceme síť naučit přiřadit vstupu x. Pro vyhodnocení nastavení parametrů vícevrstvé dopředné neuronové sítě vzhledem datové množině se standardně používá celové chyby sítě: s E = E, de E ( )( ) T = y d y d,de E je tzv. parciální chyba sítě, 2 = Parciální chyba sítě je odchyla výstupu sítě od požadovaného výsledu pro daný -tý vzor. Celová chyba sítě se navíc stává v geneticém algoritmu riteriální funcí pro hodnocení vhodnosti jedince. V prvním rou je náhodně vygenerováno dostatečné množství (m) jedinců (=neuronových sítí s různým nastavením volných parametrů), jejichž genotypem jsou hodnoty volných parametrů trénované sítě. Pro aždého z nich je vypočtena hodnota riteriální funce, E l, de l =, m, jenž slouží uončení geneticého učení, respetive ohodnocení, aždého z jedinců. Z hodnoty riteriální funce E l l, je dále spočtena vhodnost v. Vhodnost je transformovaná hodnota riteriální funce do intervalu [ 0,], terá umožňuje vybrat do další generace zástupce s možností zvýhodňovat lepší jedince a při tom zachovat princip náhody. Za vhodnostní transformaci se nabízí zvolit: 4 nutno dodat, že jsou v historii známy případy dy genotyp neodpovídá fenotypu v souvislosti příladem může být jedinec genotypicy žena a fenotypicy muž
l v l v, E = nebo l, max{e }, = m i= l m l, i, l,, de l,, E l = C, pro l =, m a C R je maximální chyba sítě či její odhad. Prvý vzorec může být s výhodou použit při turnajovém výběru jedinců, dy proti sobě soupeří dva jednici. Výslede jejich soupeření závisí pouze na náhodě a vhodnosti. Tedy aždému jedinci je vygenerováno náhodně číslo jež je váženo vhodností, jedinec s vyšším číslem vítězí. Tímto způsobem jsou přímo vybráni elitní jedinci princip () tj. ti, jenž měli nejvíce vítězství a dále pa andidáti e řížení princip (2). Náhodně bez ohledu na vhodnost jsou zařazeni další jedinci princip (3). Na onec je na náhodně vybraných jedincích provedena mutace a to buď na jedincích nově vzninuvších nebo jsou vybraní jedinci zdvojeni a mutace je provedena na opii. Druhý vzorec bývá volen při postupu, jenž je všeobecně nazýván ruletová selece. Nejprve jsou vybráni elitní jedinci podle absolutní veliosti vhodnosti. Výběr pro řížení pa probíhá ta, že aždému jedinci je přiřazena výseč dle vhodnosti a tím šance postoupit do další generace. Principy náhodnosti a mutace jsou obdobné postupu popsanému výše. Již popsanými principy je vytvořena nová generace, jež zdrojem pro generaci následující. Výběr a modifiace jedinců probíhá opět podle pravidel () (4), uvedené vzorce zůstávají v platnosti jen index se změní na příslušný index generace. Proces generování nových generací je uončen v oamžiu dosažení předepsané celové chyby sítě, nebo po předepsaném počtu roů. ZÁVĚR Tento postup je formálně méně složitý než bacpropagation. Při výběru přenosové funce není nutné omezení na její dvojnásobnou diferencovatelnost nutnou pro gradientní metodu, jež je podstatou učení se zpětným šířením chyby. Geneticý algoritmus 3 prohledávající parametricý prostor s m jedinci v populaci, pracuje zhruba ta rychle jao m izolovaných hledačů (viz [3]). Mechanismus geneticého algoritmu v němž jedinci prochází parametricý prostor a navzájem se ovlivňují pomocí předem daných pravidel geneticých operátorů, bývá označován jao implicitní paralelismus. Tím je dosahováno synergeticého efetu, díy němuž populace jedinců dosáhne ýženého řešení rychleji. Dále řížení a mutace zabraňuje uvíznutí algoritmu v loálních minimech celové chyby sítě. Literatura: [] Holeňa, M. Matematicé zálady umělých neuronových sítí. Praha 996, ČVUT studijní text [2] Miny, M. L. Papert. S. A. Perceptrons. MIT Press Cambridge M, 969. [3] Šíma, J. Neruda, R. Teoreticé otázy neuronových sítí. Praha 996, ISBN 80-85863-8-9. Kontatní adresa: Mgr. Roman Bisup, bisup@zf.jcu.cz Prof. RNDr. Anna Čermáová, CSc., annacer@zf.jcu.cz Jihočesá univerzita v Česých Budějovicích, Zemědělsá faulta, Katedra apliované matematiy a informatiy, Studentsá 3, 387 05 Česé Budějovice