330 likes | 498 Views
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe. Uczenie sieci wielowarstwowowych – reguła propagacji wstecznej. Sieci wielowarstwowe jednokierunkowe . Wskaźnik jakości uczenia.
E N D
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe Uczenie sieci wielowarstwowowych – reguła propagacji wstecznej
Sieci wielowarstwowe jednokierunkowe Wskaźnik jakości uczenia Podobnie jak dla sieci jednowarstwowych, uczenie sieci wielowarstwowej realizowane jest metodą pod nadzorem. Sieci przedstawiany jest w trakcie procesu uczenia zbiór uczący - przykłady właściwego działania sieci Uczenie sieci powinno prowadzić do minimalizacji oczekiwanej wartości średniej kwadratu błędu dla sieci z jednym neuronem w warstwie wyjściowej dla sieci z wieloma neuronami w warstwie wyjściowej
Sieci wielowarstwowe jednokierunkowe Podobnie jak dla sieci jednowarstwowych estymujemy wartość oczekiwaną kwadratu błędu kwadratem błędu w k-tej iteracji (po przeprowadzeniu k-tej prezentacji (pewnej pary uczącej)) dla sieci z jednym neuronem w warstwie wyjściowej dla sieci z wieloma neuronami w warstwie wyjściowej
Sieci wielowarstwowe jednokierunkowe Uczenie sieci wielowarstwowej - reguła propagacji wstecznej (backpropagation) Reguła propagacji wstecznej jest uogólnieniem reguły delty na przypadek sieci wielowarstwowej Jak została skonstruowana reguła delty? Jak ją wykorzystamy w sieciach wielowarstwowych? Korzystamy z ogólnej formuły iteracyjnej metody gradientu prostego zmiany wartości wag i progów dla neuronu dowolnej m‑tej warstwy zapewniającej minimalizowanie wskaźnika jakości działania sieci
Sieci wielowarstwowe jednokierunkowe Formuła wyjściowa reguły delty Notacja 1 Notacja 2
Sieci wielowarstwowe jednokierunkowe Funkcjonał błędu jest funkcją złożoną wartość tego funkcjonału zależy w pierwszej kolejności od wartości wzorca wyjściowego rzeczywistego czyli w szczególności dla warstwy wyjściowej od
Sieci wielowarstwowe jednokierunkowe w drugiej kolejności od wartości sygnału pobudzenia Notacja 1 czyli w szczególności dla warstwy wyjściowej od
Sieci wielowarstwowe jednokierunkowe Notacja 2 czyli w szczególności dla warstwy wyjściowej od w trzeciej kolejności od wartości wag i wartości progu dla im ‑ tego neuronu m‑tej warstwy Możemy zatem napisać
Sieci wielowarstwowe jednokierunkowe Zapiszemy narazie te wyrażenia w postaci W ostatnim zapisie wielkość nazywa się czułością (sensitivity) funkcjonału na zmiany pobudzenia ‑tego neuronu m‑tej warstwy
Sieci wielowarstwowe jednokierunkowe Ponieważ więc
Sieci wielowarstwowe jednokierunkowe Możemy zatem napisać i podać reguły modyfikacji wag i progów w bardziej szczegółowej postaci
Sieci wielowarstwowe jednokierunkowe Dla wszystkich wag i progów związanych z ‑tym neuronem m‑tej warstwy możemy napisać Dla wag i progów wszystkich neuronów m‑tej warstwy otrzymamy zapis macierzowy
Sieci wielowarstwowe jednokierunkowe W ostatnim zapisie Aby zakończyć konstruowanie reguły propagacji wstecznej musimy pokazać jak można obliczać wektory czułości dla poszczególnych warstw
Sieci wielowarstwowe jednokierunkowe Formalnie możemy zaproponować inny sposób obliczania czułości czyli
Sieci wielowarstwowe jednokierunkowe Policzymy
Sieci wielowarstwowe jednokierunkowe Obliczone w ten sposób pochodne dla ‑ego neuronu m+1‑szej warstwy względem wszystkich związanych z nim pobudzeń neuronów warstwy m‑tej tworzą wektor
Sieci wielowarstwowe jednokierunkowe Wszystkie obliczone w ten sposób pochodne dla m+1 ‑ ej warstwy tworzą jakobian
Sieci wielowarstwowe jednokierunkowe Korzystając z poprzednio wyprowadzonego wzoru na możemy podać zależność macierzową na obliczenie jakobianu czułości gdzie
Sieci wielowarstwowe jednokierunkowe Możemy teraz podać zależność rekurencyjną na obliczenie wektora czułości dla pobudzeń neuronów m‑tej warstwy Ostatnia zależność tłumaczy skąd reguła propagacji wstecznej wzięła swoją nazwę. Czułość można określić przemieszczając się wstecz sieci od warstwy ostatniej do pierwszej
Sieci wielowarstwowe jednokierunkowe Dla zakończenia prezentacji reguły propagacji wstecznej musimy pokazać jak obliczyć wielkość początkującą obliczanie czułości, czyli
Sieci wielowarstwowe jednokierunkowe Ponieważ Możemy napisać lub dla całej warstwy wyjściowej
Sieci wielowarstwowe jednokierunkowe Reguła propagacji wstecznej – kroki postępowania Krok1: Oblicz odpowiedzi poszczególnych warstw sieci rozpoczynając od pierwszej a kończąc na ostatniej dla kolejnej pary wzorców (po k-ej prezentacji)
Sieci wielowarstwowe jednokierunkowe Krok 2: Oblicz czułości dla poszczególnych warstw sieci rozpoczynając od ostatniej a kończąc na pierwszej dla kolejnej pary wzorców (po k+1-ej prezentacji):
Sieci wielowarstwowe jednokierunkowe Krok 3: Zmodyfikuj wartości wag i progów korzystając z metody gradientu prostego:
Sieci wielowarstwowe jednokierunkowe Przykład: Sieć z poprzedniego przykładu Struktura sieci
Sieci wielowarstwowe jednokierunkowe Na wejście sieci podano sygnał: Wzorcowa odpowiedź sieci: Bieżące (początkowe, k=0) wartości wag i progów: Sprawdzić, czy sieć umie już odpowiadać poprawnie na podany sygnał, a jeżeli nie zmodyfikować jej wagi i progi korzystając z reguły propagacji wstecznej
Sieci wielowarstwowe jednokierunkowe Krok1: Odpowiedzi warstw i sieci
Sieci wielowarstwowe jednokierunkowe Krok2: Czułości dla poszczególnych warstw
Sieci wielowarstwowe jednokierunkowe Krok3: Modyfikacja wartości wag i progów Przyjmiemy: α=0.1
Koniec materiału prezentowanego podczas wykładu Dziękuję za uczestnictwo w wykładzie i uwagę