background image

prof. dr hab inż. Wojciech Mitkowski
mgr inż. Marek Długosz
Akademia Górniczo – Hutnicza
im. Stanisława Staszica
Wydział Elektrotechniki, Automatyki,
Informatyki i Elektroniki
KATEDRA AUTOMATYKI

BADANIE WRAŻLIWOŚCI SIECI NEURONOWYCH 

WYKORZYSTYWANYCH DO MODELOWANIA 

SYSTEMÓW DYNAMICZNYCH NA PRZYKŁADZIE 

RUCHU OBIEKTU PŁYWAJĄCEGO.

Streszczenie

W pracy podjęto próbę zamodelowania dynamiki statku za pomocą dwu warstwowej  
sieci neuronowej. Sieć o takiej architekturze jest wykorzystywana w neuroregulatorze  
zaimplementowanym   w   MATLAB-ie.   Opisano   budowę   sieci   neuronowej   użytej   do 
modelowania,   sposób   uczenia   i   generowania   danych   wejściowych.   Przeprowadzono 
szereg eksperymentów numerycznych w celu znalezienia najlepszej architektury sieci.

1. WPROWADZENIE

Obecnie sieci neuronowe znajdują coraz szersze zastosowanie zarówno w nauce, 

jak i w praktyce. Sieci neuronowe są wykorzystywane na przykład do modelowania 
obiektów   fizycznych,   prognozowania   notowań   na   giełdzie   i   klasyfikacji   różnych 
elementów (np. obrazów). Duża moc obliczeniowa komputerów w połączeniu z ich 
coraz niższą ceną spowodowały, że można w efektywny sposób konstruować, uczyć i 
testować   różne   sieci   neuronowe   wykorzystując   domowe   komputery.   Regulatorem 
neuronowym   nazywa   się   urządzenie,   które   przy   generowaniu   wartości   chwilowych 
sterowania wykorzystuje sieć neuronową, przy czym wykorzystanie sieci może być w 
różnym   stopniu.   Jednym   z   ciekawszych   zastosowań   sieci   neuronowych   jest 
wykorzystanie   ich   do   budowy   neuronowych   układów   regulacji.   Czasem   taki   układ 
może być lepszy od klasycznego układu regulacji z regulatorem PID. Sieć neuronowa 
może nauczyć się pewnych zachowań obiektu przez co generowane sterowania mogą 
być „skuteczniejsze”. Model neuronowy obiektu, którym chcemy sterować, powinien 
jak najlepiej modelować dynamikę obiektu. Od jakości modelu neuronowego zależy w 
dużym stopniu jakość działania całego neuronowego układu regulacji. 

background image

2. KONSTRUOWANIE REGULATORÓW NEURONOWYCH

Przy   budowie   neuronowego   układu   regulacji   należy   przestrzegać   pewnej 

kolejności wykonywanych zadań. Do zadań tych należy:

1. Budowa neuronowego modelu obiektu
2. Konstrukcja regulatora neuronowego.

W   tej   pracy   do   budowania,   uczenia   i   testowania   neuronowych   regulatorów 

wykorzystano pakiet Matlab ver. 6.0 wraz z toolboxem- Neural Network. Toolbox ten 
posiada specjalny zestaw bloków, elementów do budowania, uczenia i testowania sieci 
neuronowych.

Rysunek   1przedstawia   blokowy   schemat   układu   regulacji   z   regulatorem 

neuronowym realizowany przez jeden z elementów toolbox-a Neural Network.

Rysunek 1. Model systemu z regulatorem neuronowym

Układ   regulacji   z   regulatorem   neuronowym   zawiera   następujące   elementy 

składowe (przy opisie wykorzystano również nazwy angielskie stosowane w pakiecie 
Matlaba Neural Network):

dokładny (np. matematyczny) model obiektu 

neuronowy model obiektu 

regulator neuronowy

Wejściami do regulatora są: wartość jaką chcemy uzyskać na wyjściu obiektu oraz 

sygnał sprzężenia zwrotnego. Wyjścia z układu to:

Control Error – błąd sterowania (odchyłka od wartości zdanej).

Model Error – błąd modelu neuronowego (sygnał ten 
wykorzystywany jest w procesie uczenia i trenowania regulatora).

Plant Output – wyjście z modelu.

Rysunek 2 przedstawia strukturę sieci neuronowej regulatora oraz modelu 

neuronowego obiektu.

background image

Rysunek 2. Model sieci neuronowej regulatora i obiektu (Model Reference 

Control)

Sieć neuronowa modelująca obiekt zbudowana jest z dwóch warstw. Wejściami 

sieci  modelującej  obiekt są sygnał  z regulatora  (w fazie uczenia sieci są to losowo 
wygenerowane próbki sterowań z dopuszczalnego przedziału) a także wyjście z samej 
sieci.   Istnieje   możliwość   określenia,   jak   wiele   wartości   wejść   „wstecz”   będzie 
podawane na wejście. Tak samo można określić liczbę sterowań „wstecz”, które będą 
podawana na wejście sieci. Struktura sieci regulatora neuronowego jest bardzo podobna 
do   sieci   modelującej   obiekt.   Różnica   polega   tylko   na   sposobie   określenia   liczby 
wartości sterowań „wstecz” podawanych na wejście regulatora. 

3. OPIS MODELU STATKU

Jako model odniesienia przyjęto prosty model matematyczny (zob.  Fossen T. I. 

1994  s. 172), w którym dynamikę statku modeluje się obiektem inercyjnym drugiego 
rzędu. Jest to najprostszy z modeli matematycznych statków, który można uzyskać przy 
wielu założeniach ograniczających. Dla przykładu pomija się czynniki zewnętrzne takie 
jak wiatr, prądy morskie oraz wysokie fale. Praktycznie, przy tych założeniach można 
powiedzieć,   że   statek   płynie   po   spokojnym   morzu.   Dodatkowo   zakładamy,   że   ster 
wychyla się w przedziale od -20

°

 do +20

°

.

Dokładniej   przyjmujemy,   że   równania   stanu   opisujące   dynamikę   obiektu 

pływającego mają następującą postać:

˙x

t

=

Ax

t

Bu

t

y

t

=

Cx

t

Du

t

,

(1)

gdzie:

r – prędkość kątowa (obracającego się statku),

ψ

–   kąt   kursowy   statku,   czyli   kąt   o   jaki   kurs   statku   odbiega   od   kierunku 

północnego,

u(t) – kąt wychylenia steru.

Model (1) określa tylko zmiany prędkości kątowej oraz zmiany kursu statku. Jeśli 

są spełnione wszystkie przykładowe warunki ograniczające, to zmiany prędkości statku 
nie są tak znaczące, by miały duży wpływ na ruch jednostki. Wobec tego zakłada się, że 
prędkość statku jest stała przez cały czasu trwanie ruchu. Do symulacji komputerowej 

background image

przyjmujemy parametry statku typu kontenerowiec, wykorzystując  dane literaturowe 
(zobacz Fossen T.I.,1994 s.174),:

K = 0.185,
T=18.5

4. PRÓBY   ZAMODELOWANIA   DYNAMIKI   STATKU   ZA 

POMOCĄ SIECI NEURONOWEJ

 przedstawia strukturę sieci neuronowej użytej do zamodelowania dynamiki statku.

Rysunek 3. Struktura sieci neuronowej wykorzystanej do modelowania dynamiki 

statku.

Jest to sieć dwu warstwowa. Wejściem do sieci są:

y(t) – wyjście z modelu dokładnego

u(t)  –   sterowania   dopuszczalne   (zwykle   generowane   losowo   z 
uwzględnieniem ograniczeń modelu)

Wyjściem z sieci y(t+1) jest stan modelu w chwili t+1. Funkcje przejścia w warstwach 
są funkcjami typu: f

1

 – tansig i f

2

 – purelin. Bloki oznaczone jako TDL są elementami, 

za pomocą których można wprowadzić opóźnienia na wejścia sieci.

Procedura   nauczania   sieci   neuronowej   rozpoczyna   się   od   określenia   kilku 

parametrów, do których zaliczamy:

liczbę neuronów w warstwie wejściowej,

liczbę opóźnień wejścia y(t),

liczbę opóźnień wyjścia u(t),

krok czasowy.

Dodatkowo   można   również   znormalizować   dane   uczące.   Następnie   należy   określi 
kryteria jakie powinny spełniać dane uczące wykorzystując:

liczbę danych uczących,

wartość minimalną i maksymalną danych uczących,

wartość   minimalną   i   maksymalną   czasu   trwania   określonej   wartości 
uczącej.

Można   również   zadać   ograniczenia   na   wyjście   z   sieci.   Po   zdefiniowaniu   tych 
parametrów należy wskazać plik w simulinku, który zawiera nasz model dokładny. 

T
D
L

b

1

LW

1

T
D
L

LW

2

f

1

b

3

LW

3

f

2

y

(t)

u(t)

y(t+1)

background image

Kolejnym krokiem jest wygenerowanie danych uczący. Odbywa się to automatycznie, z 
uwzględnieniem   ograniczeń   na   dane   wejściowe.   Dane   uczące   można   także 
zaimportować bezpośrednio z MATLAB-a.
Standardowy błąd uczenia sieci zdefiniowany jest następująco:

( )

( )

(

)

=

=

Q

k

sym

zad

k

y

k

y

Q

e

1

2

1

(2)

gdzie y

zad

 jest zadaną wartością wyjścia, y

sym

 jest wartością wyjścia z sieci neuronowej, 

Q jest liczbą próbek

.

Mając zdefiniowaną strukturę sieci oraz dane uczące można przystąpić do uczenia 

sieci.   Sieć   neuronowa   o   konfiguracji   zawartej   w  Tabela   1  najlepiej   symulowała 
dynamikę statku. Strukturę sieci uzyskano na drodze eksperymentalnej.

Tabela 1

Rozmiar warstwy wejściowej

20

Ilość opóźnionych wejść

1

Ilość opóźnionych wyjść

3

Rozmiar próbki uczącej

10000

Interwał czasowy

1 [s]

Rysunek 4 przedstawia porównanie wyjścia z sieci (linia przerywana) i wyjścia z 

modelu statku (linia ciągła).

0

100

200

300

400

500

600

700

800

900

1000

-140

-120

-100

-80

-60

-40

-20

0

20

Czas [s]

K

u

rs

Rysunek 4. Wyjście z sieci (linia przerywania) i wyjście z modelu (linia ciągła)

Rysunek 5 przedstawia odpowiedz modelu neuronowego i modelu dokładnego na 

skok jednostkowy.

background image

0

200

400

600

800

1000

1200

1400

1600

1800

2000

-200

0

200

400

600

800

1000

1200

1400

1600

1800

Czas [s]

K

u

rs

Rysunek 5. Odpowiedz na skok jednostkowy 5°.

Bardzo   ważne   jest   dobranie   parametrów   budowy   samej   sieci.  Rysunek   6 

przedstawia wyjście z sieci  (linia przerywana),  która zawierała  19 neuronów (jeden 
mniej niż poprzednia sieć).

0

100

200

300

400

500

600

700

800

900

1000

-150

-100

-50

0

50

100

Czas [s]

K

u

rs

Rysunek 6. Wyjście z sieci (linia przerywania) i wyjście z modelu (linia ciągła)

Sieć   z   19   neuronami   przestaje   dobrze   modelować   dynamikę   obiektu   i   można 
powiedzieć,   że   jest   ona   bezużyteczna   w   dalszym   procesie   poszukiwania   regulatora 
neuronowego.

W naszym przypadku za duża liczba neuronów także nie poprawia jakości sieci 

neuronowej.  Rysunek   7  przedstawia   wyjście   z   sieci   neuronowej   (linia   przerywana) 
która zawierała 21 neuronów (jeden neuron więcej niż sieć przedstawiona w tabeli (1)).

background image

0

100

200

300

400

500

600

700

800

900

1000

-1200

-1000

-800

-600

-400

-200

0

Czas [s]

K

u

rs

Rysunek 7. Wyjście z sieci (linia przerywania) i wyjście z modelu (linia ciągła)

Dodanie tylko jednego neuronu spowodowało, że sieć gorzej modeluje dynamikę 

statku. Zauważmy również, że pod koniec symulacji pojawiają się „dziwne oscylacje” 
oscylacje.

5. WNIOSKI

Podczas   projektowania   regulatora   neuronowego   wykorzystywany   jest   model 

neuronowy   obiektu  regulacji.   Od   jakości   tego   modelu  zależy   skuteczność   działania 
regulatora   neuronowego.   Znalezienie   właściwiej   struktury   sieci   neuronowej   nie   jest 
zadaniem   łatwym.   W   pracy   przebadano   wiele   różne   konfiguracje   sieci   neuronowej 
wykorzystywanej   później   w   procesie   uczenia   regulatora   neuronowego.   Model 
neuronowy obiektu okazał się bardzo wrażliwy na zmianę parametrów,  opisujących 
strukturę   sieci.   Zmiana   liczby   neuronów   w   warstwie   o   jeden   powodował   „dziwne 
zachowania” pokazane na rysunkach 6 i 7. Za mała liczba neuronów powodowała duże 
niedokładności   w   modelowaniu   dynamiki   (rysunek   6).   Zbyt   duża   liczba   neuronów 
powodowała powstanie „dziwnych oscylacji” (rysunek 7). Ze względu na dużą liczbę 
neuronów (elementów nieliniowych) badania analityczne prowadzące do wyjaśnienia 
dziwnych  zachowań  są   praktycznie  niemożliwe.   Pozostają  liczne   i   żmudne  badania 
symulacyjne, które jednak nie wyjaśniają do końca zauważonych zjawisk. 

LITERATURA

1. Borel-Plater B., 1999, Rozmyte sterowanie powolnym ruchem jednostki pływającej.  

VII Krajowa Konferencja Naukowo-Dydaktyczna „Automatyzacja i Eksploatacja 
Systemów Sterowania”
, AMW, 13-15.10.1999,Mat. Konf.Gdynia,s. 367-374.

2. Fossen T. I, 1994, Guidance and Control of Ocean Vehicles John Wiley & Sons, 

West Sussex, England

3. Gorczyca   P.,   Kołek   K.,   Mitkowski   W.,   1999,  Neurosterownik   stabilizujący 

położenie „helikoptera” (Neurocontroler using for stabilization of „helikopter”)
Materiały VII Krajowej  Konferencji Naukowo – Dydaktycznej Automatyzacja i 
Eksploatacja   Systemów   Sterowania,   Akademia   Marynarki   Wojennej,   Gdynia, 
13-15.10.1999, s. 357-366.

4. Demuth, H., Beale, M., 2002, Neural Network Toolbox.

background image

5. Kasprzyk, J. (red.), 2002, Identyfikacja procesów, Wyd. Pol. Śląskiej, Gliwice.
6. Kautz T., Kalinowski A., 1999, Identyfikacja parametrów liniowego modelu okrętu 

za   pomocą   rekurencyjnej   sieci   Hopfielda.  Materiały   VII   Krajowej   Konferencji 
Naukowo   -   Dydaktycznej   Automatyzacja   i   Eksploatacja   Systemów   Sterowania, 
Akademia Marynarki Wojennej, Gdynia, 13-15.10.1999, s. 403-410.

7. Garus J., Malecki J., Zak B., 1999, Zastosowanie sieci Hopfielda do modelowania 

ruchu okrętu, Mat. Konferencyjne XIII Krajowej Konferencji Automatyki (pod red. 
Z.   Bubnickiego   i   J.   Józefczyka),   Opole   21-24.09.1999,   Oficyna   Wyd.   Pol. 
Opolskiej, Opole 1999, tom 1, s. 211-214.

8. Kołek K., Mitkowski W., 2001,  Dobór struktury sieci neuronowych w układach 

sterowania czasu rzeczywistego (Selection of neural network structure in real time  
control systems)
, Informatyka w Technologii Materiałów, tom 1, numer 1, 2001, 
Wydawnictwo Naukowe AKAPIT (Kraków), ss. 23-34.

9. Kołek K., Mitkowski W., 2001, Praktyczna realizacja sterowania i analiza pracy 

węzła   cieplnego   z   wykorzystaniem   sieci   neuronowych   (Application   of   neural  
networks to practical implementation of control and analysis of energetic node)

Informatyka w Technologii Materiałów, tom 1, numer 3-4, 2001, Wydawnictwo 
Naukowe AKAPIT (Kraków), ss. 181-188.

10. Korbicz,   J.,   Obuchowicz,   A.,   Uciński,   D.,   1994,  Sztuczne   sieci   neuronowe

Akademicka Oficyna Wydawnicza PLJ, Warszawa.

11. Smierzchalski   R.,   1998,  Synteza   metod   i   algorytmów   wspomagania   decyzji  

nawigatora w sytuacji kolizyjnej na morzu, Wyższa Szkoła Morska w Gdyni

12. Tadeusiewicz, R., 1993, Sieci Neuronowe, Akademicka Oficyna Wydawnicza RM, 

Warszawa.

13. Zalewski, A., Cegieła, R., 1997, Matlab, obliczenia numeryczne i ich zastosowania

Wyd. Nakom, Poznań.

STUDY OF SENSITIVITY NEURAL NETWORK USED 

TO MODELING DYNAMIC SYSTEM FOR EXAMPLE 

SWIMMING OBJECT

Abstrac

The paper presents neural network modeling ship dynamic. Describes also structure of 
this   neural   network   and   method   learning   it.   Presented   neural   network   is   used   in 
MATLAB in neuroregulator. Results of experiments and conclusions are placed in this  
paper.


Document Outline