PRZYBORNIK MODELOWANIA NEURONOWEGO GMDH XII
Transkrypt
PRZYBORNIK MODELOWANIA NEURONOWEGO GMDH XII
XII International PhD Workshop OWD 2010, 23–26 October 2010 \ PRZYBORNIK MODELOWANIA NEURONOWEGO GMDH Marcel Luzar, Uniwersytet Zielonogórski Abstract In this application paper a GMDH toolbox is presented. First, a theoretical regarding such a kind of networks is provided. Subsequently, design steps, tests and experimental results are presented. Moreover, the selection methods used in GMDH are discussed. The final part of the paper, exhibits practical applications of the developed toolbox. Streszczenie Niniejszy referat opisuje przybornik modelowania neuronowego GMDH. Na wstępie pokazane jest tło teoretyczne zagadnienia. Przedstawione są w nim etapy projektowania aplikacji, testy oraz ich wyniki. Omówione są metody selekcji wykorzystane w metodzie grupowej obróbki danych. Przedstawione jest praktyczne zastosowanie zaprojektowanego przybornika. 1. Wstęp teoretyczny GMDH (ang. Group Method of Data Handling) [1] jest specyficznym przykładem sztucznej sieci neuronowej. Metoda ta została opracowana przez Ivachnienkę [2]. Właściwości tej metody znajdują szczególne zastosowanie w zadaniach identyfikacji systemów wielowejściowych. Ponieważ dokładność modelu neuronowego w dużym stopniu zależy od poprawnego wyboru struktury sieci neuronowej, a wyznaczenie odpowiedniej struktury jest złożonym zadaniem, idea GMDH polega na zastąpieniu jednego złożonego modelu strukturą składającą się z modeli cząstkowych [3]. Struktura ta ewoluuje podczas syntezy sieci. Modele cząstkowe sieci GMDH dzielimy na liniowe, nieliniowe i dynamiczne [4]. W przyborniku zastosowano modele dynamiczne, które w łatwy sposób można zamienić na liniowe, podając zerowy rząd dynamiki. Aby struktura sieci GMDH nie rozrastała się w nieskończoność, potrzebne są metody selekcji, które będą odrzucały neurony o słabej zdolności identyfikacji. Zaimplementowane metody to [5]: - metoda stałych populacji, - metoda ruletki, 85 - metoda rankingowa, - metoda turniejowa. Również aby synteza sieci nie odbywała się w nieskończoność potrzebny jest warunek stopu [6]. W przyborniku jako warunek stopu przyjęto minimalny błąd estymacji oraz maksymalną liczbę warstw, po której osiągnięciu synteza jest kończona (rys. 1). Rys. 1. Ostateczna struktura sieci GMDH. Fig. 1. Final structure GMDH Network. 2. Założenia projektowe Przed przystąpieniem do prac przyjęto następujące założenia: • przybornik będzie umożliwiał identyfikację systemu liniowego, nieliniowego oraz dynamicznego o wielu wejściach i wielu wyjściach (MIMO), • identyfikacja będzie odbywać się dla modelu neuronowego szeregowo-równoległego a testowanie dla modelu neuronowego równoległego, • umożliwienie ustawiania parametrów do modelowania sieci GMDH takich jak: warunek stopu (minimalny błąd estymacji, maksymalna ilość warstw), rząd dynamiki, wybór metody selekcji modeli cząstkowych, wybór kryterium oceny modeli cząstkowych, wektor parametrów początkowych, opóźnienia na wejściach i wyjściu z modeli cząstkowych, określenie wymiaru wektora stanu dla modelu neuronu. • możliwość importu danych uczących i testujących z pliku oraz z przestrzeni roboczej, • graficzny interfejs użytkownika, • obsługa błędów, • pomoc. Jako metody estymacji parametrów modeli cząstkowych przyjęto: • estymację przy ograniczonych wartościach błędów [7], • estymację algorytmem adaptacyjnego przeszukiwania losowego [8], • estymację metodą podprzestrzeni [9]. 3. Przybornik modelowania neuronowego GMDH Cała implementacja została wykonana z zastosowaniem środowiska Matlab. Wykorzystano edytor graficznego interfejsu użytkownika, tzw. guide. Na przybornik modelowania neuronowego GMDH składają się dwa okna, okno główne (GMDH Network Toolbox) oraz okno importu danych (Import Data). Ergonomiczne ułożenie przycisków oraz list osiągnięto wzorując się na dostępnym w środowisku Matlab przyborniku Neural Network Toolbox. Na oknie do importu danych (rys. 1) znajdują się trzy panele: panel na którym dokonuje się wyboru źródła danych, panel wyboru zmiennej oraz panel jej przypisania jako zmiennej uczącej wejściowej, testującej wejściowej, uczącej wyjściowej lub testującej wejściowej. Dane można wczytać z istniejącego pliku o rozszerzeniu *.mat lub z przestrzeni roboczej programu Matlab. Po przypisaniu zmiennych z listy jako odpowiednich danych (poprzez zatwierdzenie wyboru przyciskiem Set) okno importu danych jest zamykane. Okno główne (rys. 2) wyposażone jest w narzędzia do wyboru metod selekcji modelów cząstkowych, metod estymacji parametrów powyższych modeli oraz ustawiania warunków początkowych oraz warunków zatrzymania syntezy sieci. W głównym oknie dostępny jest pasek menu, składający się z dwóch przycisków: Menu oraz Help. Po naciśnięciu na odpowiedni przycisk następuje otwarcie przypisanego mu menu rozwijalnego. Do wyboru w rozwijalnym menu przycisku Menu mamy opcję otwarcia okna importu, zbudowania sieci oraz zamknięcia całej aplikacji. Pod przyciskiem Help znajdują się przyciski About toolbox (po naciśnięciu którego otwiera się okno z informacjami o wersji oraz autorze przybornika), Help (plik pomocy) oraz Show GMDH structure (pokazujący poglądowy schemat struktury sieci GMDH). Wybór metody estymacji dokonywany jest poprzez zaznaczenie odpowiedniej opcji z panelu Estimation metod. Do wyboru są wcześniej wymienione metody estymacji, a mianowicie: estymacja przy ograniczonych wartościach błędów (ang. boundederror estimation [7]), estymacja algorytmem adaptacyjnego przeszukiwania losowego (ang, Adaptive Random Search, ARS [8]) oraz estymacja metodą podprzestrzeni (sub-space identification [9]). W zależności od dokonanego wyboru dostępne są odpowiednie dla danej metody parametry. W przypadku wyboru estymacji przy ograniczonych wartościach błędów użytkownik może określić maksymalną liczbę warstw, po uzyskaniu której synteza sieci GMDH jest kończona (pierwszy warunek stopu). Określany jest też drugi warunek stopu, którym jest minimalny błąd estymacji. Poza powyższymi warunkami stopu użytkownik jest zobowiązany wybrać stopień dynamiki systemu. Określa je poprzez ustawienie maksymalnego opóźnienia na wyjściu z modelu cząstkowego oraz na wejściach. Rys. 2. Okno importu danych. Fig. 2. Import data window 86 W przypadku, gdy dane nie zostały wcześniej zaimportowane, lub gdy dana zmienna nie została przypisana jako dana ucząca wejściowa, wyjściowa, testująca wejściowa lub wyjściowa, aplikacja zasygnalizuje to odpowiednim komunikatem (rys.4). Wyniki oraz wykresy uzyskane podczas budowania sieci zostaną omówione w punkcie 4. Żeby obsługa przybornika była dla użytkownika zrozumiała, przygotowano plik pomocy, dostępny z paska menu, pod przyciskiem Help (rys. 5). W pliku pomocy umieszczony wszystkie niezbędne informacje potrzebne do obsługi przybornika oraz zrozumieniu idei GMDH. Rys. 3. Okno główne. Fig. 3. Main window Jeżeli chcemy, aby modele cząstkowe nie były dynamiczne, w polach opóźnień należy podać wartość zero. Kolejnymi polami, które są dostępne po wybraniu metody estymacji przy ograniczonych wartościach błędów jest górna i dolna granica błędu, która nie może zostać przekroczona w trakcie identyfikacji systemu. Drugą dostępną metodą estymacji parametrów modeli cząstkowych jest estymacja algorytmem adaptacyjnego przeszukiwania losowego. Po zaznaczeniu tej metody podobnie jak w metodzie estymacji przy ograniczonych wartościach błędów do ustawienia są warunki stopu syntezy sieci GMDH. Ponadto, dostępne są z menu rozwijalnego kryteria selekcji, a mianowicie: • kryterium zbieżności • bezwzględne kryterium zbieżności • błąd średniokwadratowy • średni błąd bezwzględny Przy wyborze ARS należy również określić wektor parametrów początkowych, który oznacza wymiar wektora stanu. Ostatnią metodą estymacji parametrów jest metoda podprzestrzeni. W jej przypadku wybrać należy, poza oczywistymi warunkami stopu, rząd modelu. Jeżeli dane są zaimportowane może nastąpić budowanie sieci GMDH, do tego celu służy przycisk Build network. Rys. 4. Okno ostrzegające o błędzie w danych. Fig. 4. Window warning message. 87 Rys. 5. Plik pomocy. Fig. 5. Help file. W pliku pomocy znajdują się również informacje w jaki sposób liczone są kryteria selekcji oraz w jaki sposób interpretować wykresy wynikowe. 4. Wyniki eksperymentów Po uruchomieniu algorytmu budującego sieć przyciskiem Build network następuje synteza sieci GMDH w oparciu o zaimportowane wcześniej dane. Po jej utworzeniu otwierają się okna z wykresami, pokazującymi, w jakim stopniu sieć neuronowa odzwierciedla rzeczywisty, identyfikowany system. Wykresy różnią się od siebie w zależności od wybranej metody estymacji. Skuteczność metod estymacji pokazano na przykładzie wybranego elementu stacji wyparnej Cukrowni Lublin S.A. [10]. Pierwszy wykres ilustruje wyniki eksperymentu przeprowadzone z użyciem metody estymacji przy ograniczonych wartościach błędów. Pierwszy z góry wykres przedstawia wyniki modelowania neuronowego GMDH dla danych uczących. Zieloną linią oznaczono wyjście z systemu, niebieska wyjście z modelu. Łatwo zauważyć, że dla ponad ośmiuset próbek obie linie w znacznej części swojego przebiegu są do siebie zbliżona. Oznacza to, że sieć neuronowa doskonale zidentyfikowała system, a co za tym idzie model matematyczny odzwierciedla rzeczywisty system. Wyniki modelowania neuronowego dla danych testujących przedstawione są na wykresie (rys. 6). Rys. 6. Wyjścia z systemu i modelu dla danych uczących oraz testujących z Cukrowni Lublin S.A. otrzymane przy użyciu metody estymacji przy ograniczonych wartościach błędów. Fig. 6. System and model outputs for training and validation data from Sugar Factory Lublin S.A. obtained using zonotope method. Porównanie wyjść z systemu oraz modelu dla danych testujących nasuwa wniosek, że modelowanie neuronowe w takim przypadku jest obarczone niepewnością. Jednakże błąd identyfikacji dla danych testujących jest dopuszczalny [11]. Trzeci wykres ograniczone obustronnie wyjście z systemu, dzięki czemu użytkownik może określić, czy ustawiony przedział pomiędzy granicą górną i dolną błędu jest wystarczająco wąski, aby identyfikacja była jak najdokładniejsza. Porównując wykres drugi i trzeci zauważyć można, że w momentach największej różnicy pomiędzy wyjściem z systemu a wyjściem z modelu granicę błędu są przekraczane. W po wykonaniu modelowania neuronowego zostaje wygenerowana jeszcze jedna figura poglądowa, z której możemy odczytać, w której warstwie sieci neuronowej błąd identyfikacji był najmniejszy. Rys. 7. Optymalna ilość warstw w strukturze GMDH. Fig. 7. Optimal number of layers In GMDH structure Z wykresu nr 7 wynika, że najmniejszy błąd dla danych testujących był w warstwie drugiej, w kolejnych warstwach zaczął rosnąć, co oznacza, że 88 nie potrzebna jest większa ilość warstw sieci aby dobrze zidentyfikować system. Kolejny eksperyment przeprowadzono wykorzystując metodę estymacji algorytmem adaptacyjnego przeszukiwania losowego (ARS). Budowanie struktury sieci GMDH w tym przypadku trwa dłużej, ponieważ potrzebna jest większa ilość iteracji algorytmu. W przypadku danych z Cukrowni Lublin S.A. modelowanie tą metodą daje gorsze rezultaty niż w przypadku metody poprzedniej. Na rys. 8. zauważyć można, że linie odzwierciedlające wyjścia z systemu oraz modelu nie pokrywają się tak idealnie jak w przypadku metody estymacji przy ograniczonych wartościach błędów. Nie oznacza to jednak tego, że metoda estymacji algorytmem przeszukiwania losowego będzie gorsza w każdym przypadku. Przeprowadzone symulacje dla danych pochodzących z pieca tunelowego dostępnego w laboratorium Uniwersytetu Zielonogórskiego udowadniają, że metoda ARS dla tego przypadku jest bardziej odpowiednia. Wyniki tego eksperymentu nie zostały uwzględnione w tym referacie. Ostatnim przeprowadzonym eksperymentem była estymacja metodą podprzestrzeni. Podobnie jak w przypadku metody ARS dała ona gorsze rezultaty identyfikacyjne w porównaniu do metody estymacji przy ograniczonych wartościach błędów (rys. 9) podobnie nie musi to oznaczać, że będzie dawała gorsze rezultaty dla każdych danych. Również optymalna liczba warstw była większa niż w przypadku pierwszej testowanej metody. Synteza zakończyła się na trzeciej warstwie. Rys. 8. Wyjścia z systemu i modelu dla danych uczących oraz testujących z Cukrowni Lublin S.A. otrzymane przy użyciu metody estymacji algorytmem adaptacyjnego przeszukiwania losowego (ARS). Fig. 8. System and model outputs for training and validation data from Sugar Factory Lublin S.A. obtained using estimation with adaptive random search (ARS) algorithm. Rys. 9. Wyjścia z systemu i modelu dla danych uczących oraz testujących z Cukrowni Lublin S.A. otrzymane przy użyciu metody podprzestrzeni. Fig. 9. System and model outputs for training and validation data from Sugar Factory Lublin S.A. obtained using sub-space method. 89 5. Wnioski W referacie został zaprezentowany przybornik modelowania neuronowego GMDH. Został on zaprojektowany z myślą o alternatywnym podejściu do identyfikacji systemów, różnym od typowych sieci neuronowych. Zaimplementowane w nim trzy metody estymacji parametrów pozwalają na wybór odpowiedniej w zależności od rozpatrywanego przypadku. Przybornik znajduje zastosowanie jako doskonały środek dydaktyczny do zrozumienia idei GMDH. Dołączony plik pomocy oraz pełna obsługa błędów ułatwiają pracę z przybornikiem i czynią ją bardziej komfortową. 9. Demuth H., Beale M., Hagan M., Neural Network Toolbox 6 Users Guide. The MathWorks, Inc. 1992-2010. 10. Kościelny J.M., Bartyś M., Syfert M., Pawlak M., Zastosowania przemysłowe. Diagnostyka procesów. Modele, metody sztucznej inteligencji, zastosowania. Warszawa WNT 2002. 11. Aubrun C., Sauter D., Yame J., Fault diagnosis of networked control systems. International Journal of Applied Mathematics and Computer Science, Vol 18. No. 4. 2008. Adres służbowy autora 5. Conclusions In this paper a GMDH toolbox is presented. It was designed for an alternative approach to system identification, different from typical neural networks. Obtained from its use results do not deviate from accepted norms. The implemented three methods for estimating the parameters allow the selection of an appropriate identification scenario. Toolbox is used as an excellent way to understand idea of GMDH. The help file included with full error handling facilitates the work with toolbox and make it more comfortable. 1. 2. 3. 4. 5. 6. 7. 8. 6. Literatura Farlow S. J., Self-organizing Methods in Modeling – GMDH Type Algorithms – New York 1984. Ivakhenko A. G., Mueller J. A., Self-organizing of nets of active neurons. System analysis modeling simulation. Vol. 20, s. 93-106. 1995. Patan K., Witczak M., Korbicz J., Towards robustness in neural network based fault diagnosis. International Journal of Applied Mathematics and Computer Science, Vol. 18., No. 4. 2008. Mrugalski M., Neuronowe modelowanie systemów nieliniowych w układach detekcji uszkodzeń, Rozprawa doktorska, Zielona Góra 2003. Koza J. R., Genetic Programming: On The Programming of Computers by Means of Natural Selection. MIT Press, 1992. Duch W., Korbicz J., Rutkowski L., Tadeusiewicz R., Sieci neuronowe, Biocybernetyka i Inżynieria Biomedyczna 2000, Tom 6, 2000. Jaulin L., Walter E., Nonlinear bounded-error parameter estimation using interval computation. Physica-Verlag, 2001. Prudius A. A., Adaptive Random Search Methods for Simulation Optymalization. Georgia Institute of Technology, 2007. 90 Mgr inż. Marcel Luzar Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Kampus A, Budynek A-2, pokój 326. ul. Podgórna 50 65-246 Zielona Góra Tel: 068 328 4733 e-mail: [email protected] Opiekun naukowy Dr hab. inż. Marcin Witczak, prof. UZ Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Kampus A, Budynek A2, pokój 104. ul. Podgórna 50 65-246 Zielona Góra Tel: 068 328 2511 e-mail: [email protected]