rozmyt

 

Połączenie sieci neuronowych z logiką rozmytą daje wiele korzyści szczególnie tam, gdzie tradycyjne metody i rozwiązania nie dają dobrych rezultatów lub wykorzystanie ich w konkretnych zadaniach byłoby zbyt pracochłonne czy kosztowne.

Przykładem połączenia teorii sieci neuronowych z logiką rozmytą są sterowniki rozmyto - neuronowe. 

 

Sterowniki rozmyte  

W wielu zagadnieniach dotyczących sterowania procesami technolo­gicznymi niezbędne jest wyznaczenie modelu rozważanego procesu. Znajomość modelu pozwala dobrać właściwy regulator (sterownik). Jednakże często znalezienie odpowiedniego modelu jest problemem trudnym, niekiedy wymagającym przyjęcia różnego typu założeń upraszczających. Zastosowa­nie teorii zbiorów rozmytych do sterowania procesów technologicznych nie wymaga znajomości modeli tych procesów. Należy jedynie sformułować reguły postępowania w formie rozmytych zdań warunkowych typu IF ... THEN.

Warto podkreślić, że zastosowania zbiorów rozmytych obejmują obecnie całą gamę zagadnień od prostych urządzeń domowego użytku (pralki, lodówki, odkurzacze) do bardziej złożonych systemów, np. nadzorujących wentylację tuneli podziemnych lub wspomagających produkcję... znanego alkoholu japońskiego sake .

  Klasyczny sterownik rozmyty - składa się z następujących elementów: bazy reguł, bloku rozmywania, bloku wnioskowania, bloku wyostrzania.

Sterownik rozmyty

Baza reguł - stanowi zbiór rozmytych reguł
Blok rozmywania - system sterowania z logika rozmytą operuje na zbiorach rozmytych. Dlatego konkretna wartość sygnału wejściowego sterownika rozmytego podlega operacji rozmywania (ang. fuzzification). W wyniku tego wartość wejściowa zostaje odwzorowana w zbiór rozmyty.
Blok wnioskowania - na wyjściu tego bloku otrzymujemy zbiory rozmyte odpowiadające zbiorom wejściowym  a otrzymane zgodnie z regułą wnioskowania.   


Graficzna interpretacja rozmytego wnioskowania.

Blok wyostrzania - w tym bloku następuje wyznaczenie konkretnej wartości wyjściowej. Wartość ta jest wyznaczana za pomocą różnych metod. 

Sterowniki rozmyto-neuronowe.

Połączenie sieci neuronowych z logiką rozmytą doskonale nadaje się do rozwiązywania problemów, z którymi tradycyjne układy regulacji nie najlepiej sobie radzą. Jeżeli natrafiamy na problem sterowania obiektem, który posiada cechy niejednoznaczności, niedokładności lub nieopisywalności prostym modelem matematycznym, zaczynamy szukać rozwiązań alternatywnych do „zwykłych" sterowników, wybierając sieci neuronowe lub układy z logiką rozmytą.
Największą zaletą sieci neuronowych jest możliwość ich uczenia i adaptacji. Nie musimy posiadać szczegółowej wiedzy o procesie (np. znajomości modelu matematycznego). Na podstawie sygnałów wejściowych oraz sygnałów zadanych (wzorcowych) sieć neuronowa jest w stanie nauczyć się, jak danym procesem należy sterować. Sieci neuronowe są niezastąpione w zadaniach rozpoznawania wzorców, aproksymacji, optymalizacji, kwantyzacji wektorowej czy też kla­syfikacji. Z drugiej strony wiedza, która została przez sieć neuronową nabyta, jest w tej sieci rozproszona, przez co zupełnie nieprzydatna dla obserwatora. Wady tej pozbawione są układy sterowania z logiką rozmytą. Jednakże wiedza o sposobie sterowania jest potrzebna już w trakcie projektowania takich sterowników i musi pochodzić od eksperta (nie ma możliwości uczenia). Nie jest jednak wymagana wiedza szczegółowa, opisująca w sposób matematyczny zależność funkcyjną między wyjściem a wejściem sterownika. W odróżnieniu od zwykłych sterowników posługujemy się wiedzą jakościową („jak?"), a nie ilościową („ile?").

Połączenie obu podejść dało zdolność uczenia i moc obliczeniową sieci neuronowych do układów z logiką rozmytą, jak i sposób „myślenia" na wzór rozumowania ludzkiego układów z logiką rozmytą do sieci neuronowych. Próby dokonania takiego powiązania stały się w ciągu ostatnich kilku lat przedmiotem bardzo intensywnych badań. W ten sposób powstały konstrukcje wykorzystujące ideę rozumowania rozmytego wraz ze zdolnością uczenia przejętą od sieci neuronowych.

Sterownik rozmyty o strukturze wyznaczonej przez operację wyostrzania

Konstrukcja sterownika

 


Powyższy sterownik opisany jest wyrażeniem, które stanowi jeden z bardziej znanych i stosowanych sposobów realizacji systemów rozmytych:

Każdy z elementów występujących w tym wzorze można przedstawić w postaci funkcjonalnego bloku ( suma, iloczyn, funkcja gaussowska ) tworząc - w efekcie odpowiedniego połączenia - sieć wielowarstwową.

 

Sterownik rozmyty z wykorzystaniem sieci neuronowej do realizacji operacji wyostrzania

 

W strukturze pokazanej na rysunku wydzielono dwa funkcjonalne moduły: pierwszy ( warstwy L1 do L3 ) i drugi ( warstwy L4 do L6 ). Zadaniem pierwszego jest wyznaczenie stopnia dopasowania danych wejściowych do przesłanek reguł oraz ustalenie stopnia aktywności reguł i przeprowadzenia rozmytego wnioskowania. Moduł drugi to sieć neuronowa w roli bloku wyostrzania.

Warstwa L1 - stanowi warstwę wejściową.

Warstwa L2 - jest realizacją bloku wnioskowania.

Warstwa L3 – zadaniem każdego z elementów tej warstwy jest połączenie tych reguł, które maja identyczne części dotyczące wniosków.

Warstwa L4 – jest to warstwa wejściowa sieci neuronowej.

Warstwa L5 – jest to warstwa ukryta sieci neuronowej. W rozważanym przykładzie jest to pojedyncza warstwa, ale takich warstw może być więcej.

Warstwa L6 – jest to warstwa wyjściowa. W ogólnym przypadku neurony tej warstwy na swym wyjściu wyznaczają liczbowe wartości sterowania, które są wyostrzonymi wartościami wyników rozmytych otrzymanych na podstawie wnioskowania.

Przy projektowaniu tego typu sterowników rozmytych, podobnie jak w przypadku sieci neuronowych, konieczne jest przeprowadzenie dużej liczby doświadczeń symulacyjnych. Zaletą takiego rozwiązania jest możliwość nauczenia sterownika najlepszej metody odwzorowania wyjściowych zbiorów rozmytych w wartość sygnału wyjściowego, a wadą – brak możliwości ustalenia tej zależności przez obserwatora.

Neuronowa realizacja funkcji przynależności  

 

Na rysunku pokazany jest przykład realizacji pojedynczej funkcji przynależności w postaci dwuwarstwowej sieci neuronowej. Efektem działania takiej sieci jest wyznaczenie stopnia przynależności sygnału wejściowego do zbioru rozmytego.

Warstwa L1 – złożona jest z dwóch neuronów o funkcji aktywacji w postaci sigmoidy.

Warstwa L2 – w warstwie tej znajduje się jeden neuron o liniowej funkcji aktywacji. Dokonuje on złożenia funkcji sigmoidalnych uzyskanych w poprzedniej warstwie w funkcję przynależności zbioru rozmytego.

 

Sieci neuronowe realizujące wnioskowanie rozmyte

 

   

Warstwa L1 – jej zadaniem jest podział danych wejściowych na N klas, gdzie każda z nich stanowi przesłankę do osobnej reguły.  Zaletą takiego rozwiązania jest fakt, iż sieć ta może zostać nauczona takiego podziału na podstawie zbioru uczącego, przy użyciu standardowego algorytmu wstecznej propagacji błędów.

Warstwa L2 – bloki tej warstwy, oznaczone symbolami od SN1 do SNN , mają za zadanie realizację części wniosków każdej z reguł.

Zalety powyższego rozwiązania to:

·    Automatyczny podział na reguły rozmyte i wybór funkcji przynależności,

·    Automatyczne dopasowanie funkcji przynależności w przypadku zmian środowiska, osiągnięte dzięki możliwością uczenia sieci neuronowych,

Wada – przesłanki są zakodowane w sieci Snklas, natomiast wnioski – w sieciach SNk, nie można więc wydzielić ani rozmieszczenia funkcji przynależności, ani bazy reguł, ani też funkcji opisującej wniosek danej reguły.