Omówić sztuczne sieci neuronowe typu perceptron wielowarstwowy.
Jednokierunkowe, wielowarstwowe sieci neuronowe, czyli inaczej sieci typu MLP (ang. Multi-Layered Perceptron - wielowarstwowy perceptron), są najczęściej opisywaną i najchętniej wykorzystywaną w zastosowaniach praktycznych architekturą neuronową. Ich upowszechnienie związane jest z opracowaniem algorytmu wstecznej propagacji błędu (ang. Error Back Propagation), który umożliwił skuteczne trenowanie tego rodzaju sieci w stosunkowo prosty sposób. Oczywiście, od momentu opracowania, algorytm doczekał się licznych modyfikacji i ulepszeń, nie podważających jednak skuteczności pierwowzoru i stanowiących większe lub mniejsze modyfikacje jego podstawowej postaci.
Wielowarstwowa sieć neuronowa jest w stanie przybliżać dowolnie złożone i skomplikowane odwzorowanie. Przy czym użytkownik nie musi znać lub zakładać z góry żadnej formy występujących w poszukiwanym modelu zależności, nie musi nawet zadawać sobie pytania czy jakiekolwiek możliwe do matematycznego modelowania zależności w ogóle występują. Cecha ta w połączeniu z samodzielną metoda uczenia się sieci neuronowej, czyni z niej niezwykle użyteczne i wygodne narzędzie do wszelkiego rodzaju zastosowań związanych z prognozowaniem, klasyfikacją lub automatycznym sterowaniem. Dodatkową zaletą jest duża tolerancja systemu neuronowego na uszkodzenia poszczególnych jej elementów, co podnosi niezawodność w sposób praktycznie niemożliwy do osiągnięcia w przypadku tradycyjnego oprogramowania, np. klasycznych systemów ekspertowych. Na tym nie kończy się lista zalet, równoległy model przetwarzania sygnałów wejściowych i stosunkowo prosta struktura nauczonej sieci neuronowej pozwala osiągnąć bardzo szybki czas reakcji, pozwalający na wykorzystywanie jej w zadaniach wymagających reagowania w czasie rzeczywistym.1
Opis sieci typu perceptron wielowarstwowy
Perceptron – był jednym z pierwszych modeli neuronu, który potrafił się uczyć.2
Perceptron wielowarstwowy składa się z wielu neuronów, ułożonych warstwami, będących połączonymi jednokierunkowo. Wszystkie neurony w warstwie poprzedniej są bezpośrednio połączone z neuronami w warstwie następnej. Siła połączenia określana jest wagą wij . 3
Rys. 1. Schemat sieci typu MLP4
Architektura sieci MLP o d wejściach (warstwa zerowa) i 2 warstwach ukrytych, z których druga stanowi warstwę wyjściową. Podawanie informacji następuje tylko wprzód, tzn. od lewej (wejście) poprzez przetwarzanie najpierw przez neurony warstwy ukrytej pierwszej (o H neuronach). Wyniki przetwarzania w pierwszej warstwie s , a podawane jako dane wejściowe do następnej warstwy, gdzie s , a ponownie przetwarzane poprzez zadeklarowaną funkcję aktywacji. Wynik tego drugiego przetworzenia jest podawany na wyjście sieci.
Algorytm wstecznej propagacji błędów
Jest to podstawowy algorytm uczenia nadzorowanego wielowarstwowych jednokierunkowych sieci neuronowych. Podaje on przepis na zmianę wag wij dowolnych połączeń elementów przetwarzających rozmieszczonych w sąsiednich warstwach sieci. Oparty jest on na minimalizacji sumy kwadratów błędów uczenia z wykorzystaniem optymalizacyjnej metody największego spadku. Dzięki zastosowaniu specyficznego sposobu propagowania błędów uczenia sieci powstałych na jej wyjściu, tj. przesyłania ich od warstwy wyjściowej do wejściowej, algorytm propagacji wstecznej stał się jednym z najskuteczniejszych algorytmów uczenia sieci.5
Ogólnie algorytm propagacji wstecznej wymaga dla każdego wzorca uczącego wykonania następujących działań:
Podaj wektor uczący um na wejście sieci.
Wyznacz wartości wyjść ujmm każdego elementu dla kolejnych warstw przetwarzania neuronowego, od pierwszej warstwy ukrytej do warstwy wyjściowej.
Oblicz wartości błędów djMm dla warstwy wyjściowej.
Oblicz wartość sumy kwadratów błędów xm.
Dokonaj propagacji wstecznej błędu wyjściowego djMm do poszczególnych elementów warstw ukrytych wyznaczając djmm
Dokonaj aktualizacji wag kolejno pomiędzy warstwą wyjściową i ukrytą, a następnie pomiędzy warstwami ukrytymi przesuwając się w kierunku warstwy wejściowej.
1 http://www.rosczak.com/mlp/mlp.html
2 Wieczorek T. „Neuronowe modelowanie procesów technologicznych”, s. 35
3 Wieczorek T. „Neuronowe modelowanie procesów technologicznych”, s. 50
4 http://www.ii.uni.wroc.pl/~aba/teach/NN/wk2.pdf
5 http://www.neuron.kylos.pl/pliki/jednokier/jednokier4.html