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]