V minulé kapitole jsme se seznámili s využitím lineární neuronové sítě pro ekonomické prognózování a faktorovou analýzu. Nyní si probereme další typy sítí a jejich využití v ekonomických úlohách.
4. kapitola
Další typy neuronových sítí
Vícevrstvá síť perceptronů a metoda backpropagation
Vícevrstvá neuronová síť s algoritmem zpětného šíření chyby – backpropagation – je nejznámější a nejpoužívanější model sítě a využívá se v 80 % aplikací. Síť neuronů má zpravidla n vstupních neuronů, m výstupních neuronů a jednu nebo dvě skryté vrstvy. Neurony ve skrytých a výstupní vrstvě jsou spojité perceptrony. Aktivační funkce spojitého perceptronu je sigmoida definovaná vzorcem:
Stav tohoto neuronu se pohybuje v rozmezí od 0 do 1. Pokud se hodnota na vstupu neuronu blíží k +∞, blíží se výstupní hodnota k 1. Pokud se hodnota vstupu blíží k −∞, výstup se blíží k 0. Spoj od neuronu i k neuronu j je ohodnocen váhou wji, přičemž wj0 = −h je bias odpovídající jednotkovému vstupu.
Učení sítě metodou backpropagation spočívá v minimalizaci celkové chyby pro všechny vzory trénovací množiny, přičemž chyba vzoru k představuje střední kvadratickou odchylku vektoru požadovaných a vypočtených hodnot, tj. matematicky
Váhy upravujeme tak, že od váhy v předešlém kroku odečteme určitý díl derivace chyby podle této váhy reprezentovaný koeficientem učení. Přitom postupujeme od horních vrstev ke spodním – od toho byl odvozen název metoda zpětného šíření chyby. Opět matematicky:
Podrobné matematické odvození je provedeno v literatuře [1] a [3].
Význam neuronových sítí s aktivační funkcí sigmoida
Ekonomické nebo výrobní procesy jsou zpravidla složitější, než je možné popsat lineární neuronovou sítí. Tak v příkladu kurz.top programu TNeuron není možné předpokládat, že cena valut se mění v čase lineárně. Má na ni vliv celá řada dalších faktorů, v uvedeném příkladu je tento problém schématicky řešen intuitivním definováním proměnné Situace. Vícevrstvá síť spojitých neuronů dokáže složitější zákonitosti postihnout přesněji než lineární síť. V literatuře [1] je dokázáno, že perceptronové sítě se dvěma skrytými vrstvami mají univerzální aproximační schopnost.
Příklad
Příklady ekviv.top a neekv.top programu TNeuron obsahují trénovací množiny pro funkce ekvivalence a neekvivalence. Neekvivalence je známý příklad funkce, kterou nelze počítat pomocí jednoho neuronu. Přesvědčte se, že sigmoidální síť se dokáže obě funkce naučit.
Asociativní síť
Lineární asociativní síť se používá zejména jako asociativní paměť. Na rozdíl od klasických metod vyhledávání v paměti, kdy klíčem je adresa, u asociativní paměti probíhá vybavení informace na základě její částečné znalosti. Asociativní paměti se dělí na autoasociativní, kdy se jedná o upřesnění nebo doplnění vstupní informace, a heteroasociativní, kdy se jedná o vybavení sdružené informace.
Topologie i způsob výpočtu výstupní hodnoty lineární asociativní sítě jsou obdobné jako u MADALINE s tou výjimkou, že chybí jednotkový vstup a odpovídající práh je nulový. Při adaptaci je však podstatný rozdíl: požadovaný výstup odpovídá vstupu.
Jeden z možných způsobů adaptace, adaptace podle Hebbova zákona, je zajímavý tím, že modeluje podmíněný reflex v živé přírodě: současná aktivita nebo pasivita neuronu odpovídajícího podmínkce a neuronu vyvolávajícího reflex posiluje synaptickou váhu od prvního neuronu k druhému a naopak nesouhlasná aktivita ji oslabuje.
Hopfieldova síť
Organizační dynamika Hopfieldovy síťě představuje úplnou topologii cyklické sítě s n neurony, ve které je každý neuron propojen se všemi ostatními. Všechny neurony v síti jsou zároveň vstupní i výstupní.
Adaptivní dynamika se řídí Hebbovým zákonem. Požadovaná funkce je určena tréninkovou množinou p vzorů, z nichž každý je zadán vektorem n bipolárních stavů vstupních a zároveň výstupních neuronů. Tréninkové vzory jsou postupně předkládány síti, jejíž synaptické váhy se podle nich adaptují. Tuto dynamiku lze interpretovat jako hlasování vzorů o vzájemných vazbách, váha wji = wij představuje rozdíl mezi počtem souhlasných a rozdílných stavů neuronů.
Použití v ekonomických úlohách
Cyklickou síť neuronů vzájemně propojených je možné použít k modelování vztahů mezi objekty, například v personalistice k modelování vzájemné spolupráce při tvorbě týmů apod.
Samoorganizace
Principem modelů, využívajících soutěžní strategie, je princip soutěže výstupních neuronů o to, který z nich bude aktivní. Přitom v každém okamžiku je aktivní pouze jeden neuron. Cílem učícího procesu je vytvoření množiny reprezentantů majících stejné pravděpodobnosti výběru. Rozeznáváme učení bez učitele a učení s učitelem.
Úkolem je aproximovat reálné vstupní vektory pomocí konečného počtu reprezentantů. Nejčastěji se používá algoritmus nazývaný Kohonenovo učení.
Organizační dynamika je tvořena dvouvrstvou sítí s úplným propojením jednotek mezi vrstvami. Spodní vrstvu tvoří n neuronů, které přenáší vstupní vektor x. Jednotky ve výstupní vrstvě představují jednotlivé reprezentanty, přičemž váhy wj = (wj1, wj2, … , wjn), j = 1, 2, … , h určují polohu reprezentanta h ve vstupním prostoru.
Aktivní dynamika je založena na principu „vítěz bere vše“, to znamená, že výstup každého neuronu se stanoví podle vzorce
Adaptivní dynamika spočívá v procházení celé tréninkové množiny a úpravě vah vždy po předložení jednoho vzoru. Nejjednodušší varianta LVQ1 vychází z myšlenky posílit správnou klasifikaci posunutím neuronu ve směru vstupu a odsunutím neuronu při nesprávné klasifikaci od vstupu, a to o poměrnou část vzdálenosti od vstupního vzoru. Předkládáme postupně síti všechny tréninkové vzory. Ke vzoru (x(t), d(t)) se nalezne nejbližší neuron c, pro který platí
a poté provedeme úpravu vah u tohoto neuronu:
Příklad
V TNeuronu si vyhledejte příklad obraz.top. Při prohlížení dat vždy klikněte na tlačítko Obrázek. Vidíte, že jsou navedeny 4 jednoduché obrázky – Domek, Loďka, Počítač a Stůl. Zapamatujte si, ve kterých políčkách je nakreslen např. domek, a síť naučte vzory připravené v trénovací množině. V Dotazu opět klikněte na Obrázek a pomocí myši vytvořte obrázek domku, tak, jak byl ve vzoru. Stiskněte Ok a pak Výpočet. Uvidíte, že TNeuron domek rozpozná.
To však není jediná vlastnost neuronové sítě tohoto druhu. Nyní opět klikněte na Obrázek a opětovným kliknutím myši zrušte některé body v obrázku domku, například udělejte děravou střechu. Uvidíte, že i takový domek síť rozpozná, někdy i v případě, že domek je tak „chatrný“, že by jej nepoznal ani člověk. Vysvětlení je jednoduché – z naučených obrázků je tomu, co jsme nakreslili, nejblíže domek.
Poznámky
- V tomto ukázkovém příkladě musí být rozpoznávaný obrázek stejné velikosti a ve stejném místě jako vzor. V obecném případě budeme požadovat, aby rozpoznávaný obraz byl na libovolném místě a v libovolné velikosti. Tento úkol však patří spíše do problematiky grafických metod.
- Stejně jako při přidělování zakázek, kdy v případě plnění více úkolů bylo nutno uvažovat poměrnou dobu, po kterou pracovník pracoval na každém úkolu, bylo by i zde vhodnější před učením jednotlivé vektory normovat, tj. místo jednotkové n-rozměrné krychle uvažovat n-rozměrnou jednotkovou kouli.
Použití v ekonomických úlohách
Uvedený typ sítě se dá použít k rozpoznávání nejen grafických tvarů, ale také dalších jevů, například pravděpodobných příčin poruch podle příznaků, rizik podle symptomů apod., přitom výhodou je, že se dokáže učit z příkladů.
Závěr
V tomto seriálu jsem vás chtěl seznámit se základními metodami použití neuronových sítí v ekonomických úlohách a celou problematiku dokreslit několika typovými úlohami. V současné době se zabývám řešením prognostických úloh pomocí složitějších perceptronových sítí a vývojem dalšího optimalizačního softwaru na bázi genetických algoritmů. Dosažené výsledky budu publikovat v příštích článcích.
Literatura
- Šíma, J., Neruda, R.: Teoretické otázky neuronových sítí, Praha, MATFYZPRESS, 1996
- Teda, J.: Uplatnění umělé inteligence v ekonomickém řízení údržby, časopis Automatizace č. 10, říjen 2001, str. 624–626
- Vondrák, I.: Umělá inteligence a neuronové sítě, Ostrava, VŠB TU, 1994