Výukový systém ELTAV DEMO Hybridní inteligentní systém pro analýzu a optimalizaci jakosti technologických procesů Funkce systému Systém ELTAV DEMO je demo verze software ELTAV - hybridního optimalizačního systému na bázi umělé inteligence. Tento systém používají technologové k analýze rozsáhlých souborů dat získaných z technologických procesů a při návrhu opatření k optimalizaci jakosti a dalších ekonomických parametrů výroby. Pomocí rozhodnutí učiněných s pomocí tohoto systému se podařilo dosáhnout podstatného zvýšení kvality u sledovaných procesů s výrazným ekonomickým efektem. ELTAV DEMO představuje s určitým omezením jádro tohoto inteligentního systému. Program je možné šířit a používat zdarma bez záruky pro nekomerční účely, výuku a samostatné studium. Systém byl rovněž použit pro zpracování již dvou diplomových prací. Pro studium, bakalářskou nebo diplomovou práci nebo ověření rentability tohoto systému na konkrétním pracovišti je možné si vyžádat plnou verzi funkční pro jeden zpracovávaný soubor. Původní motivace Při tavení vznikaly v určitých okamžicích problémy s jakostí a následným značným finančním ztrátám. Nebylo možné exaktně odvodit důvody takových problémů. Proto bylo zvoleno řešení metodou umělé inteligence, které se ukázalo velmi perspektivní. Uvedený systém předpovídá rizika jakostních problémů, analyzuje jejich důvody a navrhuje takové zásahy, aby se jakostním problémům předešlo. Systém je řešen obecně a ověřuje se možnost jeho použití pro další technologické procesy. Funkce systému Systém ELTAV dokáže: • Posoudit shromážděná data, indikovat možné odchylky a nekonzistence. • Podle pravidel zadaných interaktivně uživatelem posoudit kvalitu tavby případně stanovit další technologické a ekonomické ukazatele. • Naučit se zákonitosti technologického procesu ze shromážděných dat. • Specifikovat takové veličiny, které ovlivňují jakost nebo jiné parametry procesu. • Z naměřených hodnot předpovědět průběh a možná rizika jakostních problémů. • Na základě naučených závislostí v procesu navrhnout optimální hodnoty jeho volitelných veličin tak, aby riziko nejakosti bylo co nejmenší, při respektování interaktivně zadaných technologických pravidel a požadavků ekonomického provozu. Struktura systému Systém využívá kombinaci statistických metod a metod umělé inteligence: • Statistické metody pro předzpracování dat, statistickou analýzu vstupních dat a zjištění odlehlých dat • Neuronové sítě pro analýzu neznámých zákonitosti technologických procesů metodou učení se z naměřených dat • Evoluční genetický algoritmus k nalezení takového řešení, při kterém je pravděpodobnost kvality technologického procesu maximální • Expertní pravidlový systém
• • •
k objektivnímu hodnocení kvality procesu podle technologických podmínek k zadání technologických a ekonomických podmínek, které je nutno dodržet při optimalizaci k rozšíření vstupních dat o další vypočtené proměnné
Výsledky analýzy poskytuje v přehledné grafické podobě. Omezení demo verze Demoverze obsahuje proti plné verzi některá omezení: • Počet sledovaných proměnných maximálně 5 • Počet vzorů pro zpracování neuronovou sítí maximálně 20 • Počet pravidel pro hodnocení procesu maximálně 5 • Počet podmínek a cílů pro pravidla maximálně 10 • Počet geometrických oblastí pro pravidla maximálně 3 Omezení neplatí pro zpracování datových souborů v adresářích příkladů systému ELTAV, u vygenerované studijní verze také pro zpracování jednoho souboru pro studijní účely nebo ověření rentability systému. Stažení, instalace a start programu Soubory ze staženého archivu rozbalte do nového adresáře na svém disku a odstartujte v něm program Eltav.exe. Objeví se úvodní obrazovka s následující nabídkou funkcí: • • • • • • •
Parametry – definice parametrů neuronové sítě Data – čtení a úprava datových souborů Analýza – analýza dat buď statistickými metodami nebo pomocí výsledků zpracování neuronovou sítí Zpracování – zpracování dat neuronovou sítí, ovládání průběhu výpočtu Optimalizace – využití naučené neuronové sítě k doporučení nejlepších hodnot volitelných technologických parametrů evoluční metodou tak, aby pravděpodobnost jakostní výroby byla při respektování zadaných podmínek co největší Rozhodování – pravidlový expertní subsystém hodnocení kvality pro jednotlivé případy s možností výpočtu dalších proměnných, s interaktivním zadáváním pravidel Nápověda – podrobná nápověda k obsluze programu, informace o problematice umělé inteligence a o firmě VÍTKOVICE ITS a.s. s dalšími demo a výukovými programy umělé inteligence
Informace o průběhu výpočtu se zapisují standardně do souboru protokolu s názvem prot.txt, tento soubor je při každém dalším zpracování přepsán novou verzí. Obsluha programu včetně návodu k přípravě souborů s trénovací množinou je popsána v nápovědě, v tomto přehledu si předvedeme základní funkce programu na připravených příkladech. Úvodní příklad - lineární síť Zvolte v menu položku Parametry Otevři, vyberte podadresář data_lin a otevřete soubor parametrů CTRL.TXT. Pak obdobně pomocí Data Soubor otevřete tamtéž soubor DATA.TXT. Program vám oznámí, že přečetl správně 20 řádků. Pokud by se v souboru
vyskytovaly chyby, tj. nevyplněné údaje nebo nesprávný počet položek v řádku, program vypíše seznam identifikátorů řádků s chybami. Chybné vzory nebudou do trénovací množiny zahrnuty. Když nyní zvolíte funkci Zpracování Učení, program se naučí vztahy mezi daty v trénovací množině, ve skutečnosti jde o lineární funkci, a poté provede srovnání skutečných a vypočtených hodnot na kontrolním vzorku. O výsledku srovnání podá zprávu. Po odsouhlašení tlačítkem OK se zhodnotí výsledek. Vidíte, že v tomto případě, kdy jsou údaje v trénovací množině přesné, je chyba odhadu již po krátkém výpočtu menší než 1/10000. Struktura dat Podívejte se nyní, jak vypadá množina trénovacích dat pro tento příklad. Importujte si do Excelu nebo otevřete v Notepadu soubor DATA.TXT v podadresáři data_lin. Vidíte, že se jedná o export jednoduché excelovské tabulky do textového souboru odděleného tabulátory příkazem Soubor Uložit jako Text (oddělený tabulátory). Struktura vstupních souborů je následující: • • • • •
každý řádek kromě prvního obsahuje jeden vzor pro učení každý sloupec kromě prvního obsahuje jednu proměnnou první řádek obsahuje názvy proměnných první sloupec obsahuje identifikaci řádku pro výpis chyb, např. číslo řádku hodnoty proměnných jsou v řádku odděleny tabulátory
Parametry sítě Soubor CTRL.TXT obsahuje parametry sítě. Data jsou zapsána programem a protože se jedná o vnitřní informaci systému, nejsou na rozdíl od trénovací množiny určena k editaci. Pro definování nebo úpravu parametrů slouží funkce Parametry Změň a po úpravě se parametry uloží do souboru příkazem Parametry Ulož. Vlevo nahoře se definuje topologie sítě – počet vrstev a počet neuronů v každé vrstvě. Oprava se provádí zapsáním údaje do okénka a tlačítkem Změň. Měníme-li počet neuronů ve vrstvě, označíme nejprve myší řádek seznamu definující vrstvu. Vlevo uprostřed je rozbalovací okénko určující typ sítě. Lineární síť MADALINE se dokáže naučit neznámý lineární vztah, pokud v trénovací množině existuje. Přitom stačí, aby závislost byla lineární pouze mezi vstupem a výstupem neuronové sítě, na vstupu může být libovolná funkce. Například ve funkci a * x2 + b * x + c budou hledané koeficienty a, b, c nalezeny, protože hodnota této funkce je lineárně závislá na proměnných x2 a x. BACKPROP je označena vícevrstvá síť s aktivační funkcí sigmoida a metodou učení backpropagation. Dokáže naučit složitější závislosti, jak logické tak i funkční. Dokáže také aproximovat neznámé funkce a může se použít k odhalení nelineárních vlivů faktorů na výsledek. Váhy se upravují po každém vzoru. KOMPET je Kohonenova síť soutěžní strategie. Vyhledá k danému vektoru takový prvek z množiny reprezentantů, který se mu nejbližší v eukleidovské metrice. KUMUL BP je stejně jako BACKPROP vícevrstvá síť s aktivační funkcí sigmoida a metodou učení backpropagation. Na rozdíl od sitě BACKPROP se chyba sítě kumuluje a
váhy se upravují až po vyčerpání všech vzorů trénovací množiny. Z toho vyplývá, že je mnohem rychlejší, ale vzhledem ke kumulaci vah je nutno snížit koeficienty učení. AUTO INP je síť, která si dokáže vybrat automaticky z trénovací množiny takové proměnné, které nejvíce ovlivňují výslednou hodnotu. EXTENDED je experimentální síť. Dosud realizované testy prokázaly, že je sice pomalejší ale zato přesnější. Vlevo dole jsou na obrazovce tlačítka, která upřesňují vlastnosti učení neuronové sítě, tj. zda se má u lineární sítě doplnit jednotkový vstup pro reprezentaci absolutního členu a u sigmoidální sítě učit práh a strmost. Vedle nich je skupina tlačítek modifikujících trénovací množinu. Normalizace dat umožňuje před výpočtem transformovat data sigmoidální sítě. Náhodné uspořádání lze použít v případě, že chceme ověřit, že výsledky nezávisí na pořadí vzorů. Ve sloupci vpravo jsou parametry, které ovlivňují způsob učení sítě. Především jsou to koeficienty učení a momenty (vliv starých změn), které řídí rychlost učení a stabilitu sítě, dále počet iterací, který musí být dostatečně velký v závislosti na požadované přesnosti a koeficient inicializace vah, který má být minimálně tak velký jako počet neuronů ve vrstvě s největším počtem neuronů. Velký význam má počet testovacích řádků. Účelem neuronové sítě není naučit se rozpoznávat vzory, které se v trénovací množině již vyskytly, ale naučit se vztahy a rozpoznat neznámé vzory. Zadáme-li počet testovacích řádků n, pak n posledních vzorů se nepoužije pro učení, ale po naučení se na nich kontroluje přesnost prognózy a o výsledku se podá zpráva. Neplatí to jen pro analýzu vlivů faktorů, kde se učíme z dat celé množiny, v tom případě zadáme počet testovacích řádků 0. Síť perceptronů Vícevrstvá síť perceptronů s aktivační funkcí sigmoida dokáže nalézt složitější nelineární vztahy mezi veličinami výrobního procesu a prognózovat jeho budoucí vývoj. Pokud má dostatek relevantních údajů a proces není zcela náhodný, dokáže s určitou mírou pravděpodobnosti odhadnout, že dojde k nekvalitnímu zpracování, k problémům v průběhu procesu, technologickým odchylkám nebo nebezpečí poruchy na zařízení. Výsledky pak lze použít k analýze faktorů, které takový stav mohou způsobovat. Jednoduché logické vztahy V podadresářích data_and a data_or jsou připraveny trénovací množiny pro dvě jednoduché logické funkce. Otevřete obdobným způsobem jako v úvodním příkladu příslušné soubory CTRL.TXT a DATA.TXT a zvolte funkci Zpracování Učení. Uvidíte, že se síť tyto základní logické vztahy dokáže poměrně rychle naučit. Jistě jste si všimli, že výsledky nejsou úplně přesné. Jistou nepřesností platíme za schopnost sítě analyzovat neznámé vztahy. V praxi je však uvedená nepřesnost přijatelná, případně se dá snížit zvýšením počtu iterací a snížením koeficientu učení. Použití neuronové sítě je samozřejmě nutno vždy pečlivě zvážit, tam kde existuje možnost nalézt exaktní algoritmus řešení, s neuronovou sítí a přibližným řešením zřejmě neuspějeme. Složitější logická závislost V podadresáři data_sig2 je připravena jednoduchá síť řešící známou úlohu neekvivalence, kterou nelze naučit jedním neuronem. Opět stejným způsobem ověřte, že
zadaná síť se dokáže neekvivalenci naučit. Adaptace v tomto případě trvá delší dobu. Příklad složitější sítě, která řeší tento problém, je v adresáři lambda_prah_sig3. Srovnejte, jak se liší parametry obou sítí – upravují se nejen váhy, ale také strmost a práh (podle [2]). Obdobným způsobem můžeme použít síť k aproximaci neznámé funkce. Topologie sítě pak bude např. 1–20–10–1, tj. 1 vstup – hodnoty proměnné x, 20 a 10 neuronů ve skrytých vrstvách a jeden výstup – odpovídající funkční hodnoty y. Datová analýza Vícevrstvé neuronové sítě se dokážou naučit složité zákonitosti zkoumaného výrobního procesu, pokud není zcela náhodný a jsou k dispozici potřebná data, a z neznámých vstupních hodnot vypočítat odpovídající hodnotu výstupní proměnné, ale na rozdíl od lineárních sítí, není tento vztah zřejmý z konfigurace sítě. Přesto často potřebujeme znát nejen prognózu výsledku, ale i další okolnosti: • která data vybočují z očekávaných hodnot a jsou pravděpodobně naměřena s chybou • zda zkoumaný výsledek závisí nebo nezávisí na určitém faktoru a do jaké míry • zda změna vstupní hodnoty ovlivňuje výstup v kladném nebo záporném směru Systém ELTAV obsahuje proto jak statistickou analýzu dat, která se používá před učením a zrychluje a zkvalitňuje proces učení, tak i následnou analýzu dat s použitím výsledku učení. Statistická analýza dat Statistická analýza slouží k předzpracování datového souboru a očistění dat od zjevných chyb měření před procesem učení. Ve funkci hlavního menu Analýza se jedná o první tři položky shora. Přehled – vypíše do souboru přehled základních statistických charakteristik vstupního souboru, průměry, směrodatné odchylky, variační koeficienty pro každou proměnnou a korelační koeficienty pro každou dvojici proměnných. Korelace – pro označené proměnné vypíše na obrazovku a do souboru seznam takových proměnných, na kterých každá ze zvolených proměnných v určené výši závisí, t.j. pro které je koeficient korelace vyšší něž zadaná hodnota. Odchylky – očistí data od takových vzorů, které se příliš liší od průměrných hodnot a je podezření, že jsou naměřeny chybně. V případě demo verze, kde je maximálně 20 vzorů, mohou být výsledky nepřesné. Analýza dat pomocí neuronové sítě Tuto analýzu lze použít, až je neuronová síť naučena. Uvedená metoda dává zejména u složitějších vztahů výsledky přesnější. Zkuste si například analyzovat data v adresáři data_sig2, která představují neekvivalenci. Korelační koeficient je blízký 0, pokud zadáte minimální korelaci 0, nebo závislost není nalezena v případě minimálního korelačního koeficientu. 0.50. Naproti tomu funkce Analýza Závislosti odhalí 50% vliv proměnné x i y. Kontrola odlehlých dat Ukázka využití datové analýzy k odstranění odlehlých dat ze vstupního souboru je v adresáři redukce. Trénovací množina obsahuje chyby v 8 vzorech. Statistikou analýzou ve funkci Analýza Odchylky se dají nalézt a dostranit čtyři vzory obsahující závažné chyby, v konkrétním případě hodnoty 10 jsou pro neekvivalenci zcela nepřípustné. Další 4 vzory obsahující logické chyby se po naučení dají odstranit pomocí Analýza Nekonzistence. Srovnejte si kvalitu učení v jednotlivých fázích procesu hledání odlehlých dat.
Optimalizace procesu Neuronová síť představuje po naučení zjednodušený model výrobního procesu. Proto ji můžeme využít nejen k odhadu, zda za daných podmínek dojde k jakostnímu problému a které veličina jej ovlivní, ale systém nám může také doporučit, při jakých volitelných parametrech procesu je riziko nejakostní výroby minimální. Systém proto obsahuje evoluční optimalizační model, který s využitím naučené neuronové sítě dokáže v rámci zadaných mezí navrhnout optimální řešení pro zlepšení kvality procesu. Pro ukázku jsou připraveny řídicí soubory a trénovací množiny v adresářích Optim1 a Optim2. Předpokládejme například, že chybová funkce, kterou chceme minimalizovat je f(x,y)=(x-2)2+(y+3)2 (trénovací množina této funkce je v Optim1). Jakmile se neuronová síť naučí data s dostatečnou přesností, zvolte funkci Optimalizace, Vzory. Označte některý řádek v horní tabulce vzorů a postupně obě vstupní proměnné. U vstupních proměnných vždy stiskněte tlačítka Meze, Zapiš. Nyní stiskněte tlačítko Optimalizuj. V pravém horním rohu dialogového okénka se zobrazuje probíhající iterace a po dokončení text Nalezené řešení. V seznamu pod ním jsou doporučené hodnoty jednotlivých parametrů a pravděpodobný výsledek při jejich dodržení. Je vidět, že systém skutečně nalezl minimum pro hodnoty přibližně v bodech x = 2 a y = −3. Rovněž hodnota funkce je přibližná, jako v jiných podobných příkladech platíme určitou nepřesností za „inteligenci“ systému. Obdobně ve funkci Optimalizace, Komplexní můžeme nalézt řešení, které je platné pro všechny vzory trénovací množiny. V levém dolním seznamu se pak objeví pravděpodobné výsledky pro všechny vzory. Doba výpočtu trvá samozřejmě déle a jednotlivé výsledky nemusí být tak dobré jako u optimalizace jednotlivých procesů. Expertní subsystém V rozsáhlém souboru vstupních dat by bylo obtížné zadávat kvalitu taveb nebo jiných technologických procesů ručně, navíc by takto definovaná kvalita mohla být subjektivní. Proto byl vyvinut expertní pravidlový subsystém pro hodnocení taveb pomocí produkčních pravidel. Pro ukázku jsou připraveny příklady v adresářích Exps1 a Exps2. V Exps1 je ukázka vytvoření nové proměnné Hodnocení, která má hodnotu 1 (úspěch) v případě že výsledek je v intervalu <3 ,10) a 0 (chyba) pokud je výsledek mimo tento interval. Načtěte si v programu ELTAV řídicí a datový soubor a zvolte funkci Rozhodování Pravidla. Stiskněte tlačítko Načti, na obrazovce se objeví pravidla pro uvedenou situaci. V horním seznamu jsou produkční pravidla, v dolním podmínky a cíle. Jakmile stisknete tlačítko Potvrzení, provede se kompilace pravidel a po dotazu, zda doplnit proměnnou Hodnocení se také vypočte nová proměnná. Výpočet si můžete ověřit ve funkci Data, Ulož prohlédnutím vytvořeného souboru v Notepadu nebo po importu do Excelu. V Exps2 je ukázka zadání pravidel ve formě 2D oblastí. Ve funkci Rozhodování, Oblasti si tlačítkem Načti vložíte do vnitřní paměti geometrický popis dvou oblastí ve tvaru do sebe vložených obdélníků P1 a P2. Po stisknutí OK jsou oblasti k dispozici pro pravidlový subsystém Rozhodování Pravidla, který opět vložíte tlačítkem Načti. Pravidla definují úspěch 1 v případě, že bod o souřadnicích [x,y] leží vně oblasti P1 a uvnitř oblasti P2, přičemž operátory > a < mají význam po řadě: bod leží a bod neleží v dané oblasti a oblasti jsou od proměnných odlišeny znakem #. V obou případech je nutné pro učení označit novou proměnnou jako výstupní (Data, Výstup).
Grafika Výsledky optimalizace se dají zobrazit graficky. Ve funkci Optimalizace Komplexní si můžete označit položku myší, definovat rozsah zobrazení na ose x a y tlačítky Meze a zobrazit graf tlačítkem Graf. Prohlížení ukončíte obvyklým způsobem stisknutím Alt a F4 nebo tlačítka x. Závěr Hybridní systémy na bázi umělé inteligence mohou s výhodou řešit celou škálu problémů výrobních i nevýrobních procesů. Jsou vhodné zejména tam, kde proces není zcela náhodný, existují v něm závislosti, které neznáme, máme možnost snadného pořizování velkého množství dat, např. z čidel na technologických zařízeních, a jiné prostředky, jak zákonitosti odhalit, selhaly. Přestože uvedená demoverze obsahuje určitá omezení, domnívám se, že je možné ji s úspěchem použít pro první seznámení s problematikou, počáteční pokusy a výuku. Případnou další spolupráci je možno dohodnout na adresách na firemní stránce. Literatura [1] Šíma, J., Neruda, R.: Teoretické otázky neuronových sítí, Praha, MATFYZPRESS, 1996 [2] Vondrák, I. : Umělá inteligence a neuronové sítě, Ostrava, VŠB TU, 1994 web stránky [3] www.vitkovice-its.cz [4] www.volny.cz/jaroslav.teda [5] www.programujte.com – Vědní obory, Umělá inteligence, seriály Inteligentní ekonomické systémy, Evoluční optimalizační systémy a další články.