Analýza a optimalizace procesů 3
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Analýza a optimalizace procesů 3Analýza a optimalizace procesů 3

 

Analýza a optimalizace procesů 3

Google       Google       25. 2. 2015       11 375×

V minulých článcích jsme si ukázali, jak připravit datový soubor pro analýzu výrobních procesů, která pak bude zdrojem pro jejich optimalizaci. V tomto článku se již budeme zabývat první fází optimalizace procesů, analýzou připravených dat pomocí neuronových sítí. Ukážeme si nejčastější typy sítí, možnosti jejich využití v průmyslových informačních systémech a popíšeme základní parametry ovlivňující jejich učení.

Nové verze programů

Systém ELTAV, o kterém se zmiňuje tento článek, již není od roku 2015 dodáván. Aktuální informace obsahují mé další články na tomto serveru www.programujte.com v sekci Ostatní. Systém ELTAV byl nahrazen modernějším systémem Opthan, jehož popis je v článku Analýza a optimalizace - software 2  a Analýza a optimalizace - software 3  na serveru www.programujte.com v sekci Ostatní Umělá inteligence a robotika a stáhnout si jej můžete stejně jako další programy naší firmy na adrese http://optiintelligent.cz.

Popis systému ELTAV je zachován pro čtenáře, kteří si jej stáhli již dříve.

Úvod

Pro přiblížení problematiky neuronových sítí budeme opět používat demo verzi systému ELTAV s připravenými typovými úlohami. V této chvíli předpokládáme, že máme k dispozici již kvalitní datový soubor, ve kterém jsou odstraněna odlehlá data, neobsahuje vzájemně závislé vstupní proměnné, všechny údaje jsou vyplněny a všechny proměnné relevantní a můžeme proto přistoupit k vlastní analýze.

Jako ukázkové úlohy budeme pro jednoduchost používat data v adresářích optim1 a optim2, která obsahují náhodná data s funkčními závislostmi ve tvaru polynomů více proměnných. Výhoda popisovaných sítí je ovšem v tom, že dokáží nalézt i daleko složitější souvislosti, které se vyskytují ve skutečných výrobních procesech.

Teoretický základ je obsažen v mých předchozích článcích Inteligentní ekonomické systémy I - IV, zde se budu zabývat pouze praktickými otázkami.

V textu jsou uvedeny jen nejvýznamnější příkazy systému ELTAV. Podrobnější popis ovládání naleznete v nápovědě Nápověda - Témata nápovědy.

Parametry systému

Vlastnosti systému ELTAV definuje řada parametrů, uložených v textových souborech. Tyto soubory nejsou určeny k editování, je to jen řada číselných hodnot bez označení jejich významu, které si ukládá a čte systém ELTAV. Příkazem Parametry - Otevři jméno_souboru.txt jsou načteny do vnitřní paměti a pomocí Parametry - Změň je můžete upravovat. Upravené parametry potvrdíte příkazem Ulož v dolní skupině tlačítek, změny některých parametrů můžete zrušit příkazem Zruš. Změněné parametry si pak uložíte pod jiným jménem příkazem Parametry - Ulož - jiné_jméno_souboru.txt.

Pro typové úlohy jsou již vhodné parametry nastaveny v souborech ctrl.txt, pro vlastní úlohy si vzhledem k jejich velkému množství vyberte parametry některé typové úlohy a jen si je podle potřeby upravte.

Typ a topologie sítě

V levém horním rohu je základní popis sítě - typ sítě a topologie. Tyto parametry mají na systém tak základní vliv, že je nelze vzít zpět tlačítkem Zpět.

Typy sítí

Můžete zvolit jednu z nabídky známých nebo experimentálních sítí:

Standardní sítě

Základem analýzy jsou v ELTAVu nejčastěji sítě popsané v literatuře, některé s určitými modifikacemi, které výpočet přibližují průmyslové praxi.

MADALINE je nejjednodušší, lineární síť. Dokáže nalézt lineární závislost mezi proměnnými. Přestože je jednoduchá, můžeme s ní řešit některé úlohy například v ekonomii. Po naučení můžeme závislost vyjádřit vzorcem. Pro průmyslové aplikace se většinou nehodí, tam jsou zpravidla závislosti mnohem složitější a s lineární sítí nevystačíme.

BACKPROP je zkratka pro neuronovou síť s aktivační funkcí sigmoida a metodou učení Backpropagation, čili metodou zpětného šíření chyby. Učení probíhá v této síti vždy po předložení každého vzoru. Dokáže se naučit i složité vazby ve výrobních procesech. Nevýhodou je, že závislost veličin můžeme znázornit pouze graficky. Při větší nepřesnosti vstupních dat se může rozkmitat.

AKUMUL BP je modifikace předchozí sítě, kdy učení probíhá až po předložení celé množiny v jednom kroku. Síť může být stabilnější zvláště v případě, když jsou data zatížena značnou chybou měření.

KOMPET představuje Kohonenovu síť soutěžní strategie s učitelem. Naučí se identifikovat předložený vzor a zařadit jej do kategorie určené nejbližším reprezentantem. V popisovaných aplikacích nemá takový význam, využívá se například v rozpoznávání obrazců.

Experimentální sítě

Tyto sítě jsem navrhl při řešení praktických problémů a budu je dále vyvíjet.

AUTO INP je experimentální síť, která se pokouší automaticky nalézt relevantní data. Nalezená množina relevantních parametrů je zatím spíše orientační, přesnější metodou je postupné odstraňování nerelevantních dat. Ve vývoji budu dále pokračovat s cílem zvýšit přesnost a zkrátit dobu výpočtu.

EXTENDED je dvoufázová síť. V první fázi se heuristicky nalezne přibližné řešení, v druhé fázi se síť doučí metodou Backpropagation. Výsledky jsou zatím nadějné, bude však nutné tuto síť ověřit na větším množství úloh.

Lineární sítí a sítí soutěžní strategie jsem se zabýval ve svých předchozích článcích, v tomto seriálu se zaměřím především na sítě, které mají význam v analýze průmyslových procesů.

Topologie sítě

V závislosti na typu sítě musíme definovat její topologii.

Počet vrstev

Neurony se v sítích řadí do vrstev, vstupy každého neuronu z vyšší vrstvy jsou propojeny s výstupy všech neuronů nižší vrstvy. Topologie definuje vstupní vrstvu, jejíž neurony pouze přenášejí vstupní hodnoty do sítě, žádnou až zpravidla maximálně dvě střední vrstvy a jednu výstupní vrstvu. Počet neuronů vstupní vrstvy je pevně dán počtem vstupů, políčko je pouze pro čtení, počet neuronů výstupní vrstvy je v našem systému standardně 1.

Lineární a Kohonenova síť může mít pouze vstupní a výstupní vrstvu, u ostatních můžete počet vrstev mimo vstupní měnit. Při změně počtu vrstev se vždy implicitně nastaví v každé vrstvě 1 neuron, počty si pak můžete upravit. Nemá smysl zadat větší počet než dvě vnitřní vrstvy, nedosáhne se zpravidla lepší výsledek a výpočet se zbytečně prodlouží.

Počty neuronů ve vrstvách

Počty neuronů ve vrstvách si můžete změnit kliknutím myší na příslušný řádek seznamu. Objeví se okénko, kde můžete zapsat svůj požadovaný počet neuronů. Hodnotu potvrdíte tlačítkem Změň v dialogu vlevo dole.

Počet neuronů první vnitřní vrstvy se doporučuje zadat zhruba jako počet vstupních veličin, v druhé vrstvě zhruba polovinu. Záleží to ovšem na složitosti úlohy.

Příklad 1

Otevřete si příklad v adresáři optim1: Parametry, Otevři, optim1, ctrl.txt a Data, Soubor, data.txt. Naučte síť: Parametry, Učení. Jakmile se chyba přestane snižovat, můžete učení přerušit. Všimněte si, že síť rozpoznala dobře všech 20 kontrolních vzorků.

Změňte nyní topologii sítě: počet vrstev 2 Změň, vnitřní vrstva 2 Změň a Ulož. Nyní znovu naučte síť a všimněte si, že z 20 kontrolních vzorů rozpoznala pouze 5. Chybně rozpoznané vzory jsou ve výsledcích zvýrazněny.

Je vidět, že nedostatečná topologie sítě může vést k chybným výsledkům analýzy.

Základní parametry sítí

Parametry sítě zadáváme v pravé část obrazovky. V tomto článku si probereme společné parametry.

Počet testovacích řádků

Účelem neuronové sítě není jen naučit se vzory, které jsou obsaženy v trénovací množině, to bychom mohli řešit uložením a výběrem z databáze. My chceme, aby síť dokázala zobecnit vztahy obsažené v datech a správně reagovala na data, která v trénovací množině obsažena nejsou. Navíc data jsou zpravidla zatížena určitými chybami a příliš rozsáhlá síť by se mohla naučit závislosti v datech i s jejich chybami, byla by tzv. přeučená. Proto část vstupních dat vyčleníme, síť naučíme ze zbytku a vyčleněná data použijeme na kontrolu úspěšnosti učení.

Počet kontrolních vzorů se zadá ve zmíněném políčku. Musí být podstatně menší než množina pro učení. Speciální význam má hodnota 0 = učení z celé množiny. To však můžeme použít jen pro orientační analýzu, výsledky nemusí být spolehlivé.

Počet iterací

Jak jsem již uváděl v předchozích článcích, neuronová síť pracuje po krocích, postupně prohlíží vždy celý datový soubor a zpřesňuje řešení od zcela náhodného k dostatečné přesnému. Maximální počet takových kroků můžete zadat v tomto políčku. Malý počet iterací může znamenat nižší kvalitu analýzy, příliš velký zase prodlužuje výpočet.

V literatuře se uvádí také ukončení při dosažení určité zadané chyby, v systému ELTAV se chyba zobrazuje při výpočtu a je ponecháno na uživateli, kdy výpočet ukončí. Můžete si také prohlédnout výsledek a ve výpočtu pokračovat.

Koeficient učení

Koeficient učení je nejdůležitější koeficient, který ovlivňuje průběh učení. Souvisí opět s postupným zpřesňováním řešení. Definuje, jak rychle se řešení zpřesňuje v jednom kroku. Na začátku je síť nastavena náhodně, provede se výpočet, zjistí chyba a o jistou část způsobené chyby se upraví konfigurace sítě. O jakou část, to určí koeficient učení.

Malý koeficient učení prodlužuje délku výpočtu, velký může způsobit, že se síť rozkmitá. U jednoduchých úloh se koeficient volí maximálně 0.2, u složitějších je nutno jej snížit na setiny případně tisíciny.

Příklad 2

V adresářích optim1 a optim2 jsou uloženy soubory koeficientů a data pro učení polynomů. Zkuste si měnit popsané koeficienty a porovnejte výsledek.

Grafické zobrazení výsledků

Pro grafickou reprezentaci můžete použít následující postup (tento postup se více používá při optimalizaci):

Příkaz Optimalizace - Komplexní, v dialogu označte proměnnou myší a stiskněte tlačítko Meze pod seznamem proměnných. Do políček se vám vloží minimální a maximální hodnoty zvolené proměnné. Poté stiskněte Meze uprostřed obrazovky u výsledku, vloží se vám rozsah hodnot funkce. Po stisknutí tlačítka Graf se vám zobrazí závislost graficky: plná čára vypočtená funkce, přerušovaná zobrazuje vliv ostatních proměnných, křížky jsou znázorněny zadané body.

Cvičení

Vytvořte si v Excelu náhodnou veličinu x a její jednoduchou funkci f(x) - max. 20 vzorů. Zkopírujte si soubor ctrl.txt a upravte si jej. Vzhledem k omezení demo verze zvolte jednoduchou funkci, např. f(x)=x*x a zadejte počet kontrolních řádků 0. Zjistěte, zda se síť naučí vašemu vzorci. Zobrazte graf funkce.

Závěr

V tomto článku jsme si předvedli základní analýzu pomocí neuronové sítě. V dalších článcích se budeme věnovat speciálnějším metodám, které pomohou dosáhnout lepších výsledků a zvýšit přesnost analýzy.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
3 hlasy
Google
(fotka) Jaroslav TedaAutor se zabývá vývojem inteligentních softwarových systémů ve firmě OPTI Intelligent s.r.o. Publikoval na seminářích včetně mezinárodních i zahraničních a v časopise Automatizace.
Web    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý