Manuál k programu ERANN Ing. Adam Karaba DN: email=adam.
[email protected] Location: Prague Date: 2012.04.02 13:21:00 +02'00'
1 Obsah 1 2 3 4
Obsah.................................................................................................................................. 2 Licence ............................................................................................................................... 3 Úvod ................................................................................................................................... 4 Implementovaný aparát ...................................................................................................... 5 4.1 Model neuronu ........................................................................................................... 5 4.2 Přechodové funkce ..................................................................................................... 6 4.2.1 Prosté předání hodnoty....................................................................................... 6 Sigmoidální funkce ............................................................................................................ 6 Hyperbolický tangens......................................................................................................... 6 Radiální báze ...................................................................................................................... 6 Signum ............................................................................................................................... 6 4.3 Model sítě................................................................................................................... 7 4.4 Proces učení................................................................................................................ 8 4.4.1 Účelové funkce................................................................................................... 8 4.4.2 Optimalizované parametry ................................................................................. 8 4.4.3 Náhodné prohledávání........................................................................................ 8 4.4.4 Metoda největšího spádu.................................................................................... 8 4.4.5 Simulované žíhání .............................................................................................. 9 5 Ovládání programu........................................................................................................... 10 5.1 Základní parametry sítě............................................................................................ 10 5.2 Návrh struktury ........................................................................................................ 10 5.3 Zadávání dat a učení sítě .......................................................................................... 11 5.4 Výpočty pomocí sítě................................................................................................. 11 5.5 Citlivostní analýza.................................................................................................... 12 5.6 Parametrické studie .................................................................................................. 12 6 Příklady práce s programem............................................................................................. 13 6.1 Viskozita plynů ........................................................................................................ 13 6.2 Rovnovážný extraktor .............................................................................................. 15 6.3 Predikce časových řad.............................................................................................. 18 6.4 Klasifikační problém ................................................................................................ 19 7 Literatura .......................................................................................................................... 20
2 Licence Program ERANN v1.0, jehož autorem je Adam Karaba podléhá licenci Creative Commons Uveďte autora-Neužívejte dílo komerčně-Nezasahujte do díla 3.0 Česká republika. Tento manuál je autorem, Adamem Karabou, uveden pod licencí Creative Commons Uveďte autora-Neužívejte dílo komerčně-Nezasahujte do díla 3.0 Česká republika. Podrobnosti o licenci kompatibilní s právním řádem ČR lze nalézt na http://creativecommons.org/licenses/by-nc-nd/3.0/cz/ a plný text licenčního ujednání na stránce http://creativecommons.org/licenses/by-nc-nd/3.0/cz/legalcode
3 Úvod Umělé neuronové sítě jsou mocným nástrojem k řešení mnoha problémů ať už se jedná o klasifikační problémy, regrese nebo matematické modelování. Program ERANN (Easy Regression by Artificial Neural Network) je určen k použití neuronových sítí k regresi i když jej lze použít i k řešení některých klasifikačních problémů. Umožňuje návrh struktury dopředné neuronové sítě libovolného typu, např. i zcela neznámých typů sítě jen pro testovací účely. Uživatel může nechat síť vygenerovat podle základních kriterií nebo síť může ručně postavit sám pomocí implementovaného grafického rozhraní. Vytvořenou síť je možno učit na předložené skupině dat a dále síť používat k výpočtům příp. parametrickým studiím, citlivostním analýzám apod. Profesionální využívání umělých neuronových sítí je samozřejmě možné s použitím výpočetních systémů typu MATLAB, STATISTICA, apod. Takový software je ale relativně drahý. Účelem programu ERANN je také zpřístupnění umělých neuronových sítí širší veřejnosti. Je proto koncipován převážně v duchu jednoduchosti pro většinu rutinních aplikací nikoliv pro speciální aplikace. Krom obecného použití programu k jeho účelu jej lze použít také k demonstračním a ilustrativním účelům, např. ke studijním nebo výukovým účelům (dodržujte však požadavek licence na nekomerční využívání). Tento materiál neposkytuje základní pojmový a poznatkový aparát v oblasti umělých neuronových sítí. Mohu však čtenáře odkázat na příslušnou literaturu.
4 Implementovaný aparát 4.1 Model neuronu Model neuronu, který byl implementován je std. modelem ilustrovaným na obrázku. Vstupy neuronu jsou váženě sečteny. K výsledku součtu je přičtena hodnota prahu neuronu a výsledek je přepočten aktivační funkcí neuronu. Hodnota aktivační funkce je považována za postsynaptický potenciál, tedy buď přenesena na vstupy neuronů v následujících vrstvách nebo je konečným výstupem neuronové sítě.
⎛ ⎞ f ⎜ ∑ wi xi + T ⎟ ⎝ i ⎠
Obrázek 1: Model neuronu
Hodnoty prahu i jednotlivých vah bývají na počátku inicializovány nějakými počátečními odhady (např. náhodnými čísly) a jsou v průběhu procesu učení optimalizovány pro každý neuron zvlášť.
4.2 Přechodové funkce Software podporuje použití nejčastěji využívaných přechodových funkcí.
1 sigmoid hyp. tan. radial base
0.5
0
-0.5
-1 -10
-5
0
5
10
Obrázek 2: Grafy obvyklých přechodových funkcí
4.2.1 Prosté předání hodnoty Tato přechodová funkce se může uplatnit především u vstupů do neuronové sítě. Takové neurony tedy realizují přímou distribuci vstupní hodnoty na požadované neurony v první skryté vrstvě.
Sigmoidální funkce f (x ) =
1 1 + e −x
Hyperbolický tangens f (x ) = tanh(x )
Radiální báze f (x ) = e − x
Signum
2
f ( x ) = sign( x )
4.3 Model sítě Software je omezen jen na dopředené neuronové sítě. Umožňuje sice libovolnou stavbu struktury sítě, ale žádná vazba nesmí směřovat zpět. S tímto jediným omezením lze zkonstruovat libovolné sítě. Neurony je třeba vždy seskupit do vrstev, což je jen formální omezení.
4.4 Proces učení 4.4.1 Účelové funkce Jak je při regresi obvyklé, byla zvolena „klasická“ účelová funkce – součet čtverců reziduálních odchylek v jejím minimu se nachází optimální nastavení sítě.
4.4.2 Optimalizované parametry Software byl implementován tak, aby umožňoval optimalizaci parametrů buď všech neuronů nebo jen zvolených. Za parametry lze zvolit váhy vstupů neuronu a jeho práh.
4.4.3 Náhodné prohledávání Metoda náhodného prohledávání je implementována jako náhodné prohledávání prostoru parametrů sítě. Hodnoty parametrů jsou náhodně vybírány a metodou pokusu a omylu je hledáno nejlepší řešení. Pokud daná množina parametrů dosáhne lepšího výsledku, je automaticky přijata a další prohledávání vychází z ní. Jednotlivé složky vektoru parametrů jsou navrhovány relativně v zadaném rozsahu. Lze stanovit minimální práh. Pokud parametr nabývá nulové (příp. velmi nízké hodnoty), je jako výchozí hodnota pro relativní posunutí hodnoty uvažován zadaný minimální práh. To umožňuje, aby parametry snadno přecházeli přes hranici (nulu) mezi kladnými a zápornými hodnotami. Metoda umožňuje zadat podíl parametrů, které jsou měněny v jednom kroku, resp. pravděpodobnost se kterou bude každý z nich měněn. Tato metoda je velmi robustní a velmi spolehlivá, její hlavní nevýhodou je veliká výpočetní náročnost. Optimalizační proces proto může trvat poměrně dlouho.
4.4.4 Metoda největšího spádu Software podporuje použití jednoduché gradientní metody. Parciální derivace účelové funkce podle jednotlivých parametrů sítě jsou vypočteny robustnější i když méně přesnou numerickou metodou kdy jsou jednotlivé derivace vypočteny z dvoubodové diferenční formule s postupným krácením vzdálenosti mezi body a s použitím Richardsonovy extrapolace ke kontrole chyby (absolutní i relativní) a dalšími úpravami. Počáteční vzdálenost mezi body je volena relativně s použitím pevně minimálního prahu. Pokud je výchozí vektor r r parametrů p 0 , a gradient účelové funkce v tomto bodě ∇f p 0 , pak jsou generovány odhady nových parametrů podle formule
( )
r r pi = p0 +
λi
( )
r0 r 0 ⋅ ∇f p ∇f p
( )
kde jsou první tři počáteční body λi voleny programem a následné jsou voleny pomocí dílčí optimalizace a to tak, že jsou regresí nalezeny vhodné koeficienty a, b, c funkce kvadratické funkce g (λ ) = aλ2 + bλ + c
r tak, aby platilo g (λi ) → f ( p i ) pomocí metody nejmenších čtverců. Takové koeficienty lze jednoduše nalézt přímým řešením podmínky metody nejmenších čtverců, která v daném případě představuje soustavu 3 lineárních rovnic. Pomocí této dílčí optimalizace je nalezeno r optimální λi , tedy optimum ve směru ∇f p 0 . Pro nalezení optima je provedeno celkem max. 7 iterací. Nejlepší z navrhovaných řešení je porovnáno s dosud známým nejlepším, tj. r poslední přijatý vektor parametrů p 0 a pokud je takto nalezené řešení lepší, je přijato. Celý proces pokračuje znovu od vyčíslení gradientu účelové funkce.
( )
4.4.5 Simulované žíhání Známé též pod pojmy simulované chladnutí, příp. Metropolisův algoritmus. Je taktéž stochastická metoda, podobně jako náhodné prohledávání. Tato metoda navrhuje řadu po sobě jdoucích řešení optimalizačního problému (vektorů parametrů). Hlavní rozdíl oproti metodě náhodného prohledávání je ten, že tato metoda s určitou pravděpodobností přijímá i horší řešení než bylo poslední známé řešení. Pravděpodobnost, že nahradíme poslední přijaté řešení r r p 0 jiným p i je dána Metropolisovým kriteriem: r r 1 pro f p i ≤ f p 0
( )
( )
( )
( )
π= ( ) ( )
e
r r f pi − f p 0 T
r r pro f p i < f p 0
Tento algoritmus se opakuje pro každou teplotu T právě k max -krát. Výsledný stav se použije jako počáteční odhad pro teplotu následující, přičemž je nutné aby teplota v průběhu optimalizace klesala. „Plán chladnutí“ je právě nejzajímavější oblastí této metody. Naneštěstí se ukazuje, že je ve většině případů nutné, aby tento plán přizpůsoboval člověk. Chladnutí lze naplánovat pomocí nastavené hodnoty k max a dále multiplikátoru α . Po uplynutí k max iterací se provede snížení teploty rekurentním vzorcem T ← αT , kde se doporučuje udržovat multiplikátor v mezích 0,8 – 0,99. Logicky jsou totální meze dány samotnou myšlenkou 0 << α < 1 . Parametr k max je taktéž typickýu pro danou optimalizaci, ale doporučuje se udržovat jej mezi hranicemi 103 a 106. Počáteční teplota simulovaného žíhání Tmax má zásadní vliv na efektivnost metody. Doporučuje se ji určit tak, aby byla v počátku řešení přijímána přibližně polovina náhodně vybraných vektorů.
5 Ovládání programu 5.1 Základní parametry sítě Na kartě „General“ lze zvolit základní parametry sítě. Strukturu sítě lze měnit i později, ale jak bude dále uvedeno, některé z těchto parametrů již měnit nelze. Základním požadavkem je počet vstupů a výstupů sítě, počet skrytých vrstev. Tyto parametry nelze již při návrhu struktury změnit a je třeba je proto dobře rozvážit. Jedinou možností změny je vrátit se na kartu „General“ a vytvořit nový návrh což ovšem způsobí ztrátu informací, které mezi tím mohly být dále zadány. Tato karta dále umožňuje specifikovat počet neuronů ve skrytých vrstvách. A dále zaškrtnutím možnosti „Connect all to all at all layers“ bude již v rámci přípravy návrhu propojen každý neuron se všemi neurony následující vrstvy. Již na této kartě lze specifikovat přechodové funkce a parametry skupin neuronů (vstupů, skrytých neuronů a výstupů). Stisknutím tlačítka „Create design base“ se provede vygenerování základního návrhu a uživatel může pokračovat v práci na kartě „Structure design“.
5.2 Návrh struktury Na kartě „Structure design“ lze provést podrobný návrh struktury sítě.
Přidání/odebrání neuronu do/z vrstvy Změna přechodové funkce a parametrů
se všemi v následující vrstvě pro celou sít a pro odstranění všech vazeb v síti
Obrázek 3: Návrh struktury sítě na kartě „Structure design“
Obnoví zobrazení návrhu
Jednotlivé neurony jsou označeny zkratkou použité přechodové funkce
Vytvoří neuronovou sít podle návrhu
Provede kontrolu struktury
Nástroje pro propojení každého neuronu
Nástroje pro propojování neuronů samostatně i ve skupinách
Nástroje umožňují efektivní propojení neuronů po vrstvách v celé síti, příp. propojovat jednotlivé neurony nebo jeden neuron s celou následující či předcházející vrstvou. Ať je spoj vytvořen kterýmkoliv směrem, síť je vždy považována za dopřednou. Lze přidávat neurony do vrstev a odebírat je, zde je však třeba upozornit, že tato akce se týká vždy posledního místa ve vrstvě. Vstupy a výstupy přidávat nelze. Další nástroje umožňují nastavení přechodové funkce nebo hodnot parametrů konkr. neuronu. Kontrola struktury sítě prověří zda jsou všechny neurony připojeny, zda jsou možné cesty od všech vstupů ke všem výstupům a zda každý výstup je dostupný z alespoň jednoho vstupu. Pokud některá z podmínek není splněna, je tato skutečnost ohlášena. Stiskem tlačítka „Build now“ dojde k vytvoření sítě v paměti počítače. Uživatel může pokračovat na další kartě. Opětovným stiskem tohoto tlačítka dojde k novému vytvoření sítě a všechny předchozí změny v síti provedené dříve budou ztraceny.
5.3 Zadávání dat a učení sítě Množina dat k učení sítě musí být zadána na záložce „Data“. Data lze zadat ručně v režimu editace nebo je lze přenést např. z MS Excel pomocí schránky v režimu manipulace s bloky dat. V tomto režimu lze rovněž mazat či přemísťovat označené bloky dat. Zadaná data je třeba potvrdit stiskem tlačítka „Retrieve data“. Na kartě „Optimization“ je možné provádět učení sítě. Zde se optimalizací myslí optimalizace vah a prahů neuronů tak, aby síť co nejlépe kopírovala chování dat předložených k učení. Lze použít obvyklou gradientní metodu nebo metodu náhodného prohledávání a nebo metodu simulovaného žíhání. Výsledky dosažené stochastickými metodami na neuronových sítí jsou poněkud odlišné od „klasických“ algoritmů učení, ale pro některé účely využití jsou tyto výsledky velmi zajímavé. Na záložce „parameters“ lze zvolit typ parametrů, které mají být optimalizovány. Karta „Metod“ umožňuje nastavení podrobností optimalizační metody. Umožňuje omezit počet iterací nebo nechat proces optimalizace běžet nepřetržitě až do zastavení uživatelem. Lze zvolit jednu z jmenovaných metod. V případě náhodného prohledávání a simulovaného žíhání je zapotřebí stanovit střed a poloměr okolí aktuální hodnoty parametru, které bude prověřováno. Obě hodnoty jsou zadávány relativně. Aktuální hodnota parametru se v průběhu optimalizace postupně mění. Lze také stanovit minimální práh, tj. práh, který bude považován za hodnotu parametru pro účely optimalizace pokud jeho skutečná hodnota bude nižší, aby se zabránilo uváznutí parametru na nule. V případě metody simulovaného žíhání je navíc zapotřebí nastavit teplotní program. Teplotu lze řídit manuálně v průběhu optimalizace nebo ji nechat automaticky měnit. V tom případě je zapotřebí nastavit hodnoty maximální a minimální teploty, multiplikátor (alpha), který bude považován za faktor pro redukci teploty po dosažení maximálního počtu iterací (k_max). Napravo jsou průběžně předváděny výsledky optimalizace, je vynášena zadaná hodnota výstupu proti hodnotě spočtené pro dané kombinace vstupů neuronovou sítí při aktuálním nastavení. Tento diagram lze změnit do režimu zobrazení reziduí, příp. relativních reziduí (v %).
5.4 Výpočty pomocí sítě Na kartě „Calculation“ lze provést výpočty s použitím optimalizované sítě. Stejně tak, jako při zadávání dat k učení i zde je možné použít k přenosu dat schránku nebo data vpisovat ručně (viz oddíl 5.3). Výpočet je spuštěn stiskem tlačítka „Recalculate outputs by net“.
5.5 Citlivostní analýza Na záložce „Sensitivity“ podzáložka „sensitive analysis“ lze rovést analýzu citlivosti účelové funkce na jednotlivé parametry sítě. Procedura spočte gradient funkce, zobrazí jeho absolutní hodnotu a dále parciální derivace účelové funkce podle jednotlivých parametrů. Tyto hodnoty jsou taktéž vyjádřeny relativně vzhledem k hodnotě účelové funkce a relativně vzhledem ke svému podílu na velikosti gradientu.
5.6 Parametrické studie Na záložce „sensitivity“, podzáložce „parametric study“ lze provádět různé parametrické studie na síti, které byla optimalizována. Lze zvolit kterýkoliv vstup jako nezávisle proměnnou, procedura provede vyšetření chování funkce na zadaném intervalu (spočte zadaný počet bodů v tomto intervalu“. Lze přidat i parametrickou proměnnou. Výsledky výpočtu jsou převedeny do tabulky, ze které je lze exportovat s použitím schránky. Dále je umožněno, zaškrtnutím příslušného checkboxu shlédnout graf právě provedené parametrické studie.
6 Příklady práce s programem 6.1 Viskozita plynů Tento příklad ukazuje použití regresních schopností neuronové funkce. V tabulce jsou ukázány dynamické viskozity methanu, ethanu, propanu a butanu v plynném stavu. Tabulka 1: Závislost viskozity nižších alkanů na teplotě za std. tlaku η, Pa⋅s Methan Ethan Propan Butan T, °C 200 1,63E-05 1,41E-05 1,27E-05 1,17E-05 260 1,78E-05 1,56E-05 1,42E-05 1,31E-05 320 1,93E-05 1,71E-05 1,56E-05 1,44E-05 380 2,07E-05 1,85E-05 1,70E-05 1,58E-05 440 2,21E-05 1,98E-05 1,84E-05 1,71E-05 500 2,34E-05 2,11E-05 1,97E-05 1,83E-05
Neuronové sítě generované programem jsou schopny pracovat jen v rozsahu výstupů 0-1, což ale není nijak na překážku, postačí hodnoty relativizovat v tomto rozsahu. Konkr. v tomto případě postačí honodty viskozity podělit maximem. Získáme tak bezrozměrnou veličinu relativní viskozitu vztaženou k maximu, kterým je viskozita methanu při teplotě 500 °C. Jako informaci o složení můžeme použít např. molekulovou hmotnost plynu, získáme tak následující tabulku dat pro učení sítě. Tabulka 2: Transformovaná množina dat Mw, g/mol ηr T, °C Vstup1 Vstup2 Výstup1 200 16,0428 6,97E-01 260 16,0428 7,61E-01 320 16,0428 8,25E-01 380 16,0428 8,85E-01 440 16,0428 9,44E-01 500 16,0428 1,00E+00 200 30,0696 6,03E-01 260 30,0696 6,67E-01 320 30,0696 7,31E-01 380 30,0696 7,91E-01 440 30,0696 8,46E-01 500 30,0696 9,02E-01 200 44,0965 5,43E-01 260 44,0965 6,07E-01 320 44,0965 6,67E-01 380 44,0965 7,26E-01 440 44,0965 7,86E-01 500 44,0965 8,42E-01 200 58,1234 5,00E-01 260 58,1234 5,60E-01 320 58,1234 6,15E-01 380 58,1234 6,75E-01 440 58,1234 7,31E-01 500 58,1234 7,82E-01
Pro tyto účely postačí síť se dvěma vstupy, jedním výstupem, dvěma skrytými vrstvami v nichž bude po třech neuronech. Za přechodovou funkci skrytých i výstupních neuronů byla zvolena radiální báze. Na vstupech bylo ponecháno prosté předání hodnoty sumy. Takto vytvořenou síť můžeme optimalizovat např. metodou simulovaného žíhání tak jak je přednastavena, nebo i s nižší počáteční teplotou. Optimalizaci můžeme dokončit poměrně krátkým počtem iterací metody náhodného prohledávání.
Obrázek 4: Program při učení neuronové sítě, ukázka shody zadaných a spočtených hodnot
Obrázek 5: Graf relativních reziduí (%) po dokončení učení neuronové sítě
Síť lze nyní využít k výpočtu hodnot viskozity na popsaném intervalu. Komentář: Již z podstaty problému se neuronové sítě obecně nehodí k extrapolaci (krom spec. případů časových řad). Při použití empirických modelů k extrapolaci totiž neexistuje žádný relevantní způsob jak alespoň přibližně odhadnout jaké chyby se model dopustí při použití mimo oblast popsanou daty k učení sítě. K extrapolaci se doporučuje používat modely mechanistické, resp. rigorózní. Jejich tvorba i řešení je však v mnoha oblastech stále předmětem výzkumu, k použití takových modelů bývá zapotřebí kontakt s expertem.
6.2 Rovnovážný extraktor Namísto velmi složitých rigorózních modelů lze k popisu rovnovážných nebo i reálných zařízení použít neuronové sítě. I v tomto případě však stále platí stejné upozornění, které bylo uvedeno v závěru odstavce 6.1! V tomto případě použijeme dopřednou neuronovou síť o 2 skrytých vrstvách (každá po 5-ti neuronech) s 3 vstupy a dvěma výstupy k popisu protiproudého extraktoru s pěti rovnovážnými patry, konkr. se jedná o extrakci methanolu vodou ze směsi methanolu a methyl-methakrylátu se stopami vody. Vstupy budou tvořeny tokem extrakčního činidla (tok suroviny je považován za konstantní) a teplotami obou vstupních proudů (extrakčního činidla a suroviny). Výstup bude tvořen výtěžkem methanolu v extraktu a výtěžkem methylmethakrylátu v rafinátu. rafinát voda
směs
extrakt Obrázek 6: Ilustrativní blokové schéma extraktoru
Ve skrytých a výstupních neuronech může být použita jako přechodová funkce radiální báze. Tabulka shrnuje data, která lze použít k učení sítě.
Tabulka 3: Výtěžky klíčových složek při různých režimech provozu rovnovážného extraktoru
mF t/h 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 3,25 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50
TF °C 1 1 1 1 1 5 5 5 5 5 15 15 15 15 25 25 25 25 25 35 35 35 35 35 1 1 1 1 1 5 5 5 5 5 15 15 15 15 15 25 25 25 25 25 35 35 35 35 35 1 1 1 1 1 5 5 5 5 5 15 15 15
TE °C 1 5 15 25 35 1 5 15 25 35 1 5 15 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15
YMeOL 0,9968 0,9968 0,9965 0,9963 0,9960 0,9966 0,9965 0,9963 0,9960 0,9958 0,9961 0,9960 0,9957 0,9952 0,9959 0,9957 0,9954 0,9952 0,9949 0,9964 0,9963 0,9960 0,9957 0,9955 0,9999 0,9999 0,9998 0,9998 0,9997 0,9999 0,9999 0,9998 0,9998 0,9997 0,9998 0,9998 0,9998 0,9997 0,9996 0,9998 0,9998 0,9997 0,9997 0,9996 0,9998 0,9997 0,9997 0,9996 0,9995 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000
YEst 0,5948 0,5934 0,5921 0,5898 0,5864 0,5789 0,5777 0,5757 0,5748 0,5719 0,5389 0,5381 0,5358 0,5338 0,4912 0,4911 0,4887 0,4840 0,4820 0,4422 0,4414 0,4395 0,4358 0,4325 0,8968 0,8964 0,8954 0,8943 0,8933 0,8942 0,8938 0,8927 0,8917 0,8906 0,8875 0,8871 0,8860 0,8849 0,8838 0,8805 0,8800 0,8789 0,8777 0,8765 0,8730 0,8726 0,8714 0,8702 0,8690 0,9299 0,9292 0,9274 0,9256 0,9238 0,9283 0,9276 0,9259 0,9240 0,9222 0,9243 0,9236 0,9218
mF kg/h 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 5,50 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 7,75 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00
TF °C
TE °C 15 15 25 25 25 25 25 35 35 35 35 35 1 1 1 1 1 5 5 5 5 5 15 15 15 15 15 25 25 25 25 25 35 35 35 35 35 1 1 1 1 1 5 5 5 5 5 15 15 15 15 15 25 25 25 25 25 35 35 35 35 35
25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35 1 5 15 25 35
YMeOL 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000 1,0000
YEst 0,9199 0,9180 0,9201 0,9194 0,9175 0,9156 0,9136 0,9158 0,9150 0,9131 0,9111 0,9091 0,9402 0,9392 0,9369 0,9345 0,9320 0,9390 0,9380 0,9357 0,9333 0,9307 0,9360 0,9351 0,9326 0,9302 0,9276 0,9329 0,9319 0,9294 0,9268 0,9243 0,9297 0,9287 0,9261 0,9235 0,9208 0,9440 0,9428 0,9400 0,9370 0,9340 0,9430 0,9419 0,9390 0,9360 0,9329 0,9405 0,9394 0,9365 0,9334 0,9303 0,9380 0,9369 0,9338 0,9307 0,9276 0,9354 0,9342 0,9311 0,9279 0,9247
I takto jednoduchá sít je schopna popsat uvedené závislosti velmi dobře s konečnou hodnou účelové funkce < 0,00087. Na tomto příkladu lze dobře ilustrovat možnosti parametrických studií:
Obrázek 7: Ukázka nastavení a výsledků parametrické studie vytvořené neuronové sítě
Obrázek 8: Ukázka grafu sestaveného z výsledků parametrické studie
6.3 Predikce časových řad K predikci časových řad lze přistupovat více způsoby, zde bude předveden nejjednodušší způsob – pomocí tzv. časového okna. V časové řadě je nutné vymezit časové okno, které bude zahrnovat několik po sobě následujících hodnot časové řady, hodnoty časového okna představují vstupy sítě. Jedna z hodnot následujících za tímto okénkem (obvykle přímo následující hodnota), resp. více hodnot bude představovat výstup, resp. výstupy sítě. Situace je listrována na obrázku. 2
Y
1,5
1
0,5
0 0
1
2
3
4
5
6
7
8
9
10
-0,5
-1
-1,5
Orig. data t
Predic. data
Obrázek 9: Učení neuronové sítě k predikci časové řady s ukázkou několika předikovaných hodnot
Posunem časového okna podél časové řady vzniká množina dat k učení sítě. Jistě je vhodné ponechat část dat mimo množinu učících dat a to jednak pro validaci sítě a jednak pro účely testování sítě. Tyto tři množiny se mohou vzájemně částečně překrývat. Při použití tohoto způsobu predikce časových řad, který je v principu velmi jednoduchý, se objevuje netriviální problém volby vzorkovací frekvence, resp. vzdálenosti bodů, které mají být sítí zpracovány a s tím související délka použitého okna. Řešení tohoto problému není jednoduché, a proto čtenáře odkazuji na příslušnou literaturu.
6.4 Klasifikační problém Klasifikační problém je sám o sobě velmi rozsáhlým předmětem, zde může být pouze nastíněn velmi zjednodušený příklad. Jedná se opět o provozní problém, konkr. o destilaci lihu na rektifikační koloně. Ukazatele jsou tentokrát diskrétní povahy, zajímá nás zda za zadaných podmínek bude výtěžek ethanolu dostatečný (tj. > 98 %) a zda bude čistota destilátu dostatečná (tj. > 90 hm. %). Vstupy do neuronové sítě jsou v tomto případě tvořeny těmito veličinami: • složení vstupní směsi (hmotnostní zastoupení ethanolu v surovině) • refluxní poměr (tj. hmotnostní poměr zpětného toku do hlavy kolony k toku destilátu) • odtah destilátu (poměr hmotnostního toku odtahovaného destilátu k toku nástřiku) Oba výstupy jsou diskrétní povahy. Aby bylo možné takové výstupy v programu ERANN vytvořit, je nutné v případě výstupních neuronů použít funkci skokové změny signum. Síť použitá k řešení obsahovala dvě skryté vrstvy po 5 neuronech. V každé z těchto vrstev byla u 3 elementů použita přechodová funkce radiální báze a u zbylých dvou hyperbolický tangens. V tomto bodě je vhodné poznamenat, že kombinace více přechodových funkcí je typická pro řešení některých klasifikačních problémů. Na vstupních neuronech (3) bylo použito prosté předání hodnoty vstupu, jedná se tedy o elementy jejichž funkcí je pouze distribuovat hodnoty zadaných vstupních veličin na neurony ve skrytých vrstvách.
7 Literatura
Na této kapitole se pracuje