badanie wrazliwosci sieci neuronowych Automatyka

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


Wyszukiwarka

Podobne podstrony:
badania operacyjne, badania operacyjne - skrypt z PUTINF, Sieci neuronowe
MSI-program-stacjonarne-15h-2011, logistyka, semestr IV, sieci neuronowe w log (metody sztucznej int
Ontogeniczne sieci neuronowe skrypt(1)
04 Wyklad4 predykcja sieci neuronoweid 523 (2)
Pytania egz AGiSN, SiMR - st. mgr, Alg. i Sieci Neuronowe
MSI-ściaga, SiMR - st. mgr, Alg. i Sieci Neuronowe
32 Sieci neuronowe
Identyfikacja Procesów Technologicznych, Identyfikacja charakterystyki statycznej obiektu dynamiczne
sieci neuronowe, Sieci NeuronoweKolos
sztuczne sieci neuronowe sciaga
Identyfikacja Procesów Technologicznych, Identyfikacja charakterystyk statycznych obiektu dynamiczne
Projekt I Sztuczna Inteligencja, Sprawozdanie, Techniczne zastosowanie sieci neuronowych
Prognozowanie z zastosowaniem metod regresji krokowej, sieci neuronowych i modeli ARIMA
Sztuczne sieci neuronowe podstawy zagadnienia

więcej podobnych podstron