• Nie Znaleziono Wyników

Sztuczne sieci neuronowe

W dokumencie Index of /rozprawy2/11256 (Stron 66-71)

6. Podstawy teorii i struktury wybranych regulatorów rozmytych

6.5. Podstawy teoretyczne strojenia regulatora rozmytego

6.5.2. Sztuczne sieci neuronowe

Sztuczne sieci neuronowe (SSN) wywodzą się z badań biologów nad układem nerwowym i mózgiem istot żywych, które zostały zapoczątkowane w połowie XX wieku.

6. Podstawy teorii i struktury wybranych regulatorów rozmytych 67

Rys. 6.19. Ogólny schemat działania algorytmu genetycznego[159]

Sieć neuronowa jest bardzo uproszczonym modelem mózgu [110]. Główną cechą sieci neuronowych jest duża liczba neuronów posiadających dużą liczbę połączeń sieciowych, za pomocą których mogą wymieniać między sobą informacje.

Pierwszy formalny model neuronu w postaci układu arytmetyczno-logicznego przedstawili w 1943 roku McCulloch i Pitss [153].

Zwiększenie mocy obliczeniowej komputerów spowodowało intensywny rozwój badań teoretycznych i aplikacyjnych algorytmów adaptacyjnych. SSN znajdują coraz szersze zastosowania w różnych gałęziach nauki i przemysłu.

Na początku lat siedemdziesiątych rozwój badań nad sztucznymi sieciami neuronowymi został mocno zahamowany, ponieważ na podstawie ówczesnych badań sądzono, że sieci jednowarstwowe mają bardzo ograniczony zakres zastosowań. Po kilkunastu latach nowe badania pokazały, że nieliniowe sieci wielowarstwowe wolne są od wcześniejszych ograniczeń, dzięki wdrażaniu nowych efektywnych metod ich uczenia [110].

Sieci neuronowe mogą być z powodzeniem stosowane tam, gdzie są problemy z tworzeniem modeli matematycznych, odwzorowujące skomplikowane zależności pomiędzy sygnałami wejściowymi, a wybranymi wyjściowymi [110]. Sieci te mają zdolność do uczenia się na podstawie stanów wejścia/wyjścia modelowanego systemu. Używane są jako systemy przetwarzania informacji głównie w [110, 153]:

– analizie badań medycznych, – badaniach statystycznych, – prognozowaniu giełdowym, – kojarzeniu danych,

– klasyfikacji i rozpoznawaniu obrazów, – klasteryzacji,

– aproksymacji funkcji – prognozowaniu,

– poszukiwaniu złóż ropy i gazu,

– optymalizacji statycznej i dynamicznej układów sterowania, – analizie i sterowaniu procesami przemysłowymi,

– przetwarzaniu i filtracji sygnałów.

Sieci neuronowe można dzielić według różnych kryteriów, ale jednym z ważniejszych jest podział na sieci z jednokierunkowymi połączeniami i sieci (rekurencyjne) ze sprzęże-niami zwrotnymi, które są częściej stosowane w pracach badawczych niż w praktyce [110].

W sieci neuronowej ze sprzężeniem zwrotnym sygnały na jej wyjściach zależą od aktualnego stanu wejść i od poprzednich sygnałów wyjściowych. Jednym z ciekawych przykładów zastosowania sieci neuronowych ze sprzężeniem zwrotnym jest kierowanie pojazdem drogowym [153].

Uczenie sieci neuronowej polega na wymuszaniu określonego jej reagowania na zadane sygnały wejściowe. Jak podaje Tadeusiewicz [153] „…uczenie jest konieczne tam, gdzie brak informacji a priori o powiązaniu wejścia z wyjściem lub jest ona niekompletna, co uniemożliwia szczegółowe zaprojektowanie sieci „z góry”. Uczenie może być realizowane, „krok po kroku”, lub poprzez jednorazowy zapis. Jednorazowy zapis ma miejsce występuje, gdy wagi dostrajane są w wyniku jednej sesji treningowej”.

Wyróżnia się dwa główne sposoby uczenia sztucznej sieci neuronowej:

z nauczycielem (nadzorowane). Zadaniem algorytmu uczącego jest takie dostosowanie (nauczenie) sieci, aby jak najwierniej sygnał wyjściowy był odwzorowywaniem żądanej funkcji sygnału wejściowego, statystycznie minimalizującej błąd w wielowymiarowej przestrzeni wag,

bez nauczyciela (nienadzorowane), gdy nie jest znana podczas uczenia SSN wymagana odpowiedź wyjścia. Jak stwierdzono w pracy [153] „Wobec braku informacji o poprawności czy niepoprawności odpowiedzi sieć musi się uczyć

6. Podstawy teorii i struktury wybranych regulatorów rozmytych 69 poprzez analizę reakcji na pobudzenia, o których naturze wie mało lub nic”. Wszelkie regularności, linie podziału, ogólne charakterystyki danych wejściowych sieć musi wykryć sama. W trakcie wykrywania tych zależności, parametry sieci podlegają zmianom, co nazywa się samoorganizacją”.

Struktura popularnej wielowarstwowej jednokierunkowej sieci neuronowej jest przedstawiona na rysunku 6.20.

Rys. 6.20. Struktura sztucznej sieci neuronowej [110]

Wszystkie warstwy pomiędzy warstwą wejściową, a wyjściową nazywa się warstwami ukrytymi. Neurony warstwy wejściowej rozprowadzają sygnały do warstwy ukrytej. Istnieją bezpośrednie połączenia pomiędzy każdym neuronem sąsiadujących ze sobą warstw. Teoretycznie ilość warstw może być dowolna, ale w praktyce stosuje się jedną, maksymalnie dwie warstwy ukryte. Większa ilość warstw powoduje większą ilość neuronów i wydłużenie czasu uczenia się sieci. Jedna warstwa ukryta zazwyczaj jest wystarczająca, aby odpowiednio dokładnie modelować wiele systemów rzeczywistych [110].

Najczęściej stosowanymi SSN są wielowarstwowe sieci perceptronowe (WSP) oraz sieci z neuronami zawierającymi radialne funkcje bazowe, zwane sieciami RBF. Neuron przedstawiony na rysunku 6.21 jest głównym elementem sieci perceptronowej [110].

Funkcja propagacji (rys. 6.21) oblicza ważoną sumę s wszystkich wejść neuronu i wprowadza ją na nieliniowy element z funkcją aktywacji f(s), generującą wyjściowy sygnał neuronu. Większa wartość współczynnika W0 (progu) dla małej wartości wejść x1 – xp pobudzają neuron do wygenerowania sygnału wyjściowego. Natomiast przy małej wartości W0 potrzebne są większe wartości wejść [110].

Rys. 6.21. Schemat sztucznego neuronu stosowanego w wielowarstwowych sieciach perceptronowych [110]

6. Podstawy teorii i struktury wybranych regulatorów rozmytych 71 Uczenie sieci neuronowej polega na stopniowej zmianie jej wag w, v, c, tak, aby doprowadzić do minimalizacji kryterium nauczania, za które uznaje się najczęściej średni lub sumaryczny błąd kwadratowy wyjścia sieci y względem wyjścia modelowanego systemu y* [110]. Wyjście sieci y jest funkcją jej wejść i nauczanych parametrów. Sumaryczny błąd sieci jest funkcją parametrów , , , które w procesie uczenia są zmiennymi i są nazywane stopniami swobody sieci, których ilość jest zwykle wysoka [110].

Prostym sposobem uniknięcia zatrzymania się w lokalnym minimum jest kilkakrotnie powtarzanie procesów uczenia, z różnymi wartościami początkowych wag [153].

Strojenie parametrów sieci odbywa się najczęściej według zasady wstecznej propagacji błędu i metod gradientowych. Zadaniem procesu strojenia SSN jest aproksymacja powierzchni odwzorowania wejścia/wyjścia modelowanego systemu za pomocą danych pomiarowych opisujących ten system i zawierających informacje o jego działaniu [110]. Ze wzrostem komplikacji kształtu powierzchni odwzorowania wejścia/wyjścia wzrasta ilość neuronów w warstwie ukrytej potrzebnych do jej zamodelowania.

W celu prawidłowego, a szczególnie optymalnego doboru parametrów regulacji (strojenia) rozmytego układu sterowania, niektórzy autorzy, na przykład Piegat [110] zalecają, aby mając do dyspozycji algorytmy genetyczne i SSN, preferować te pierwsze.

W dokumencie Index of /rozprawy2/11256 (Stron 66-71)