Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wsteczna Propagacja Błędu (Backpropagation) Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hinton.

Podobne prezentacje


Prezentacja na temat: "Wsteczna Propagacja Błędu (Backpropagation) Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hinton."— Zapis prezentacji:

1 Wsteczna Propagacja Błędu (Backpropagation) Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hinton University of Toronto oraz Prof. J. Suykens K.U.Leuven Inteligentne Systemy Autonomiczne

2 Uczenie z ukrytymi neuronami (hidden neurons) Sieci bez neuronów ukrytych są bardzo ograniczone w modelowaniu zależności wejście-wyjście. –Dodatkowe warstwy liniowych neuronów nie pomogą. –Nieliniowości wyjścia też nie wystarczą. Potrzebne są dodatkowe warstwy nieliniowych ukrytych neuronów. Zapewnia to utworzenie uniwersalnego aproksymatora. Ale jak trenować takie sieci? –Potrzebujemy efektywnej metody doboru wszystkich wag połączeń. Nie tylko dla warstwy wyjściowej. –Jest to trudne. –Uczenie wag łączących ukryte neurony jest równoważne uczeniu cech charakterystycznych. –Nikt nie mówi co te ukryte neurony mają robić.

3 Zasada propagacji wstecznej (backpropagation) Możemy obliczyć jak szybko błąd wyjściowy zmienia się przy zmianach aktywności w warstwie ukrytej. – Zamiast używać pożądanej wartości wyjścia, użyj pochodnej błędu względem aktywności warstwy ukrytej. –Każda aktywność w warstwie ukrytej wpływa na wiele wyjść i może mięć zróżnicowany wpływ na błąd. –Pochodna błędu może być efektywnie obliczona dla wszystkich jednostek ukrytych. –Mając pochodne błędu względem aktywności w warstwie ukrytej, łatwo jest otrzymać pochodne błędu względem zmiany wag połączeń do warstwy ukrytej.

4 Nieliniowe neurony o gładkich pochodnych Do backpropagation, potrzebujemy neuronów o dobrych pochodnych. –Typowo używane są funkcje logistyczne –Wyjście jest gładką funkcją wejść i wag Dziwne że pochodna wyraża się poprzez y.

5 Szkic algorytmu backpropagation w przypadku pojedynczej danej treningowej Najpierw przedstaw różnice między wyjściem i pożądana wielkością jako pochodną błędu. Potem oblicz pochodną błędu w każdej warstwie ukrytej z pochodnych błędu w warstwie wyższej. Na koniec użyj pochodnych błędu ze względu na aktywności żeby otrzymać pochodne błędu ze względu na wagi.

6 Pochodne =y j -d j na wyjściu Pochodne błędu ze względu na aktywności obliczone w warstwie niższej Cofnij się o jedną warstwę Pochodne błędu ze względu na wagi j i w ij

7 Problemy z suma kwadratów Błąd obliczony w oparciu o sumę kwadratów ma pewne wady –Jeśli wymagana odpowiedz jest 1 a otrzymana jest to gradient funkcji logistycznej jest prawie zero i nie można zmniejszyć błędu. –Jeśli próbujemy określić prawdopodobieństwa klas na wyjściach, to wiemy ze wyjścia powinny dać sumę równą 1, ale siec nie ma takiej wiedzy. Czy jest jakaś inna funkcja kosztu bardziej odpowiednia do tego celu? –Wymuś żeby wyjścia reprezentowały rozkłady prawdopodobieństwa dla dyskretnych alternatyw.

8 Softmax Jednostki wyjścia używają globalnych funkcji nieliniowych: Funkcja kosztu jest ujemnym logarytmem prawdopodobieństwa poprawnej odpowiedzi Stromość C równoważy płaskość nieliniowości wyjścia. jednostki wyjścia x y x y x y wartości pożądane dobrze określona w przypadku błędu

9 Sygnały w warstwie ukrytej Sygnały na wyjściu Uczenie ważoną metodą najmniejszych kwadratów WLSQ

10 1)Oblicz y 1, z 1 używając przypadkowych wag 2)Oblicz pożądane sygnały na wejściu warstwy wyjścia 3)Użyj metody najmniejszych kwadratów i oblicz W 2 oraz b 2 z 4)Użyj metody najmniejszych kwadratów i oblicz z 1 z równania (*)

11 Uczenie ważoną metodą najmniejszych kwadratów WLSQ 5) Przeskaluj z 1 do przedziału (-1, +1) i oblicz pożądane sygnały na wejściu warstwy ukrytej 6)Użyj metody najmniejszych kwadratów i oblicz W 1 i b 1 7)Oblicz błąd wyjścia propagując sygnał wejściowy przez W 1 i W 2 8)Powtórz procedurę dla uzyskania optymalnego rozwiązania

12 Uczenie ważoną metodą najmniejszych kwadratów WLSQ Funkcja wagi jest użyta do poprawienia jakości rozwiązania. Metoda najmniejszych kwadratów minimalizuje normę kwadratową błędu rozwiązania Jednak nie wszystkie błędy mają ten sam wpływ na uczenie sieci neuronowej. Błąd w obliczeniu y 1 powoduje większe błędy na wyjściu elementu nieliniowego niż błąd w obliczeniu y 2 1 2

13 Dlatego zamiast rozwiązać równanie w celu obliczenia wag W rozwiązujemy gdzie jest macierzą diagonalną zawierającą pochodne funkcji przenoszenia obliczone dla danych wartości wejścia neuronów. Na przykład dla funkcji przenoszenia wagi obliczane są jako Uczenie ważoną metodą najmniejszych kwadratów WLSQ

14 Przykład – klasyfikacja spiral Problem klasyfikacji spiral jest znany jako trudny problem dla sieci neuronowych prowadzi on do wielu lokalnych minimach przy optymalizacji wag. Baza danych tego problemu zawiera 50 punktów o współrzędnych (x,y) z dwóch klas. Używając identyfikator klas jako pożądane wyjście, ważona metoda najmniejszych kwadratów jest oparta o siec

15 Przed rozwiązaniem równania Dobrze jest znormalizować współczynniki macierzy x Kolejne dane wejściowe Wyjście sieci Porzadane wyjscie Aproksymacja przez BPNN Wyniki uczenia klasyfikacji spiral Aproksymacja przez wazona LSNN Wyniki – klasyfikacja spiral Błąd aproksymacji: Dla sieci BPNN Dla sieci WLSQ 2*10 -20

16 LSQ SVM NN oparte o radialne funkcje bazy Maszyny wektorów wspierających (support vector machines SVM) są oparte o radialne funkcje bazy tworzące jadro przekształcenia. –Funkcja optymalizacji z ograniczeniami równościowymi –Regularyzacja rozwiązania równań –Mnożniki Lagrangea –Prowadzą do optymalnego rozwiązania liniowego Dwie nieznormalizowane radialne funkcje bazowe, z jednowymiarowym wejściem. Lokalizacja center: b 1 = 0.75; b 2 =3.25. y f(y)

17 LSQ SVM prowadzi do liniowego układu równań które można rozwiązać metodą najmniejszych kwadratów. Równanie rozwiązuje się jako funkcje optymalizacji z regularyzacją i z ograniczeniami równościowymi LSQ SVM NN oparte o radialne funkcje bazy

18 Lagrangian tego problemu nieliniowego jest gdzie są mnożnikami Lagrangea i warunkiem koniecznym optymalności rozwiązania jest LSQ SVM NN oparte o radialne funkcje bazy jest parametrem regularyzacji Tichonowa Prof. J. Suykens K.U.Leuven

19 LSQ SVM NN oparte o radialne funkcje bazy Z warunku optymalności mamy

20 LSQ SVM NN oparte o radialne funkcje bazy Warunek optymalności można rozwiązać przez jest macierzą przekształceń nieliniowych we wszystkich punktach treningowych y k. System ten jest łatwo rozwiązać nawet dla dużych sieci

21 Pytania?

22 Wsteczna Propagacja Błędu (Backpropagation) Wykład z Uzupełnieniami

23 Uczenie z ukrytymi neuronami (hidden neurons) Sieci bez neuronów ukrytych są bardzo ograniczone w modelowaniu zależności wejście-wyjście. –Dodatkowe warstwy liniowych neuronów nie pomaga. –Nieliniowości wyjścia też nie wystarcza. Potrzebne są dodatkowe warstwy nieliniowych ukrytych neuronów. Zapewnia to utworzenie uniwersalnego aproksymatora. Ale jak trenować takie sieci? –Potrzebujemy efektywnej metody doboru wszystkich wag połączeń. Nie tylko dla warstwy wyjściowej. –Jest to trudne. –Uczenie wag łączących ukryte neurony jest równoważne uczeniu cech charakterystycznych. –Nikt nie mówi co te ukryte neurony mają robić.

24 Uczenie przez zmianę wag Zmień przypadkowo wagę połączenia i sprawdź czy odpowiedź się poprawiła. Jeśli tak to zaadoptuj tą zmianę. –Bardzo nieefektywne. Potrzeba wiele cykli treningowych żeby zmienić jedna wagę. –Pod koniec uczenia przypadkowe duże zmiany wag prawie zawsze powodują pogorszenie jakości odpowiedzi. Moglibyśmy przypadkowo zmieniać wszystkie wagi i korelować poprawę odpowiedzi ze zmianami wag. –Nic lepiej ponieważ potrzeba wiele testów żeby zaobserwować wynik zmiany jednej wagi w szumie powodowanym zmianami innych wag. Uczenie wag z warstwy ukrytej do wyjścia jest łatwe. Uczenie wag z wejścia do warstwy ukrytej jest trudne. jednostki ukryte jednostki wyjścia jednostki wejścia

25 Zasada propagacji wstecznej (backpropagation) Możemy obliczyć jak szybko błąd wyjściowy zmienia sie przy zmianach aktywności w warstwie ukrytej. – Zamiast używać pożądanej wartości wyjścia, użyj pochodnej błędu względem aktywności warstwy ukrytej. –Każda aktywność w warstwie ukrytej wpływa na wiele wyjść i może mięć zróżnicowany wpływ na błąd. –Pochodna błędu może być efektywnie obliczona dla wszystkich jednostek ukrytych. –Mając pochodne błędu względem aktywności w warstwie ukrytej, łatwo jest otrzymać pochodne błędu wglądem zmiany wag połączeń do warstwy ukrytej.

26 Zmiana oznaczeń Dla prostych sieci używamy notacji: x oznacza aktywności jednostek wejścia y oznacza aktywności jednostek wyjścia z oznacza sumę wejść do jednostki wyjścia Dla sieci z wieloma warstwami ukrytymi: y oznacza wyjście jednostki w dowolnej warstwie x oznacza sumę wejść do jednostki w dowolnej warstwie Indeks oznacza numer warstwy

27 Nieliniowe neurony o gładkich pochodnych Do backpropagation, potrzebujemy neuronów o dobrych pochodnych. –Typowo używane są funkcje logistyczne –Wyjście jest gładka funkcja wejść i wag Dziwne ze pochodna wyraża sie poprzez y.

28 Szkic algorytmu backpropagation w przypadku pojedynczej danej treningowej Najpierw przedstaw różnice miedzy wyjściem i pożądana wielkością jako pochodna błędu. Potem oblicz pochodną błędu w każdej warstwie ukrytej z pochodnych błędu w warstwie wyższej. Na koniec użyj pochodnych błędu ze względu na aktywności żeby otrzymać pochodne błędu ze względu na wagi.

29 Pochodne j i y j -d j na wyjściu Pochodne błędu obliczone w warstwie niższej Cofnij sie o jedna warstwę

30 Jak używać pochodne wag? Jak często je obliczać –Po każdej danej treningowej? –Po zakończeniu wszystkich danych treningowych? –Po grupie danych treningowych? Jak dużo zmienić –Użyć stałej szybkości uczenia? –Zmieniać szybkość uczenia? –Dodać bezwładność? –Nie używać metody największego spadku?

31 Przeuczenie Dane treningowe zawierają informacje o zależnościach miedzy wejściem i wyjściem. Ale zawierają tez szum. –Wartości pożądane mogą być niedokładne. –Występuje błąd próbkowania. –Będą przypadkowe zależności wynikające z wybranych przypadków treningowych. Kiedy model jest przybliżany, nie można powiedzieć które zależności są prawdziwe a które są powodowane błędami próbkowania. –Czyli przybliżamy obydwa rodzaje zależności. –Jeśli model jest elastyczny to może przybliżać błąd próbkowania całkiem dokładnie. To nieszczęście.

32 Prosty przykład przeuczenia Któremu modelowi ufać? –Skomplikowany model lepiej przybliża dane. –Ale jest nie ekonomiczny. –Prowadzi do nadmiernych błędów uogólniania Model jest przekonywujący jeśli pasuje do wielu punktów w prosty sposób. –Nic dziwnego że złożony model może przybliżyć małą ilość punktów.

33 Backpropagation w rozpoznawaniu obrazów Ludzie bardzo łatwo rozpoznają kształty –Jest to dosyć złożony proces i komputery maja z tym kłopot Niektóre powody dlaczego jest to trudne: –Segmentacja: Rzeczywiste sceny są zaśmiecone. –Niezmienniki: Ludzie łatwo ignorują rożne zmiany które nie wpływają na kształt. –Zniekształcenia: Naturalne klasy kształtów dopuszczają zmiany (twarze, litery, krzesła). –Wymagana jest olbrzymia ilość obliczeń.

34 Problem niezmienników Nasze zmysły łatwo sobie radzą z niezmiennikami –Przesunięcie, obrót, skalowanie –Deformacja, kontrast, oświetlenie Robimy to tak dobrze że aż trudno sobie uzmysłowić jakie to skomplikowane. –Jest to jedna z głównych trudności do wprowadzenia percepcji w komputerach. –Ciągle nie ma ogólnie akceptowanych rozwiązań.

35 Podejście cech niezmienników Otrzymaj dużą, nadmiarową ilość cech niezmiennych przy transformacjach –n.p. para równoległych kresek z kropka miedzy nimi Mając dostatecznie dużą ilość takich cech można je połączyć w kształty tylko w jeden sposób. –Nie musimy oddawać zależności pomiędzy cechami ponieważ są one uchwycone przez inne cechy. Musimy unikać tworzenia cech z części rożnych obiektów.

36 Normalizacja Przeprowadź wstępna normalizację danych –n.p. włóż kształt do prostokąta i opisz lokalizacje jego cech w stosunku do prostokąta. –Eliminuje to tyle stopni swobody ile ma prostokąt. Przesuniecie, obrót, skalowanie, rozciągniecie, odbicie –Nie zawsze jest łatwo wybrać prostokąt. R d b d

37 Podejście powtarzanych cech Użyj wiele kopii identycznego detektora cech. –Wszystkie kopie maja trochę rożne pozycje. –Powtórz po wszystkich orientacjach i skalach. Skomplikowane i kosztowne –Powtórzenia zmniejszają ilość wolnych parametrów do nauczenia. Użyj kilka rożnych typów cech, każdy z własnym powtarzalnym zbiorem detektorów. –Pozwala reprezentować każdy fragment obrazu na wiele sposobów. Wszystkie czerwone polaczenia maja te same wagi.

38 Backpropagation z ograniczaniem wag Łatwo jest zmodyfikować algorytm propagacji wstecznej włączając liniowe ograniczenia wag. Obliczamy gradienty tak jak zwykle, a potem modyfikujemy je żeby spełnić ograniczenia. –Tak wiec jeśli wagi początkowe spełniały ograniczenia, to nadal będą je spełniać.

39 Łączenie wyjść powtarzanych cech Częściową niezmienność na przesunięcia można uzyskać na każdym poziomie poprzez uśrednienie czterech sąsiednich powtarzanych detektorów. –Maksimum z czterech powinno dać lepszy wynik. Wydaje się że system wizyjny małp może osiągać niezmienniki w kilku etapach. –Segmentacja może być tez wykonywana w kilku etapach.

40 Hierarchiczne podejście częściowych niezmienników Na każdym poziomie hierarchii używamy funkcji or do otrzymania cech niezmiennych w większym zakresie transformacji. –Pola receptorów w mózgu są tak sformułowane. –Możemy połączyć to podejście z początkową przybliżoną normalizacją. or

41 Le Net Yann LeCun i inni skonstruowali całkiem dobry system rozpoznawania ręcznie pisanych cyfr używając wstecznej propagacji w sieci bez sprzężeń mającej: –Wiele ukrytych warstw. –Wiele grup jednakowych jednostek w każdej warstwie. –Uśredniając wyjścia sąsiednich jednakowych jednostek. –Rozleglej sieci która może rozróżnić kilka znaków jednocześnie nawet gdy zachodzą one na siebie. Demonstracje programu LENET można zobaczyć na –Demonstracje te są wymaganym materialem do egzaminu.

42 Architektura LeNet5 Convolutional Neural Networks sa specjalnym rodzajem sieci wielowarstwowych (LeNet5 jest jednym z przykładów). Tak jak prawie każda inna sieć neuronowa są one trenowane używając odmiany algorytmu backpropagation. Sieci te różnią się architekturą.

43 Rozpoznawanie cyfr w LeNet5

44 Niezmienniki skali w LeNet5

45 Niezmienniki obrotów w LeNet5

46 Błędy treningu i testu w LeNet5

47 82 bledy popełnione przez LeNet5 Zauważ że większość błędów to przypadki całkiem łatwe do rozróżnienia przez ludzi. Poziom błędu dla ludzi jest około 20 do 30 na 1000 znaków.

48 Podejście na siłe LeNet wykorzystuje wiedze o niezmiennikach do budowy: –Architektury sieci –Ograniczeń wag –Rodzaju cech Ale prościej jest zbudować wiedzę o niezmiennikach poprzez generowanie dodatkowych danych treningowych: –Dla każdego obrazu treningowego, wygeneruj nowe dane treningowe używając wszystkich transformacji dla których chcemy mieć niezmienniki (Le Net może z tego tez skorzystać) –Potem wytrenuj dużą, prostą sieć na szybkim komputerze. –Podejście to działa zaskakująco dobrze jeśli transformacje nie sa zbyt wielkie (czyli zastosuj najpierw przybliżoną normalizację).

49 Wykorzystanie prostej backpropagation do rozpoznawania cyfr Użyj obszarów standartowych transformacji i lokalnych deformacji dla otrzymania dużej ilości danych. Użyj pojedynczej warstwy ukrytej z bardzo małymi wagami początkowymi: –Potrzeba bardzo powolnego przełamania symetrii żeby znaleźć dobre minimum lokalne Użyj odpowiedniej miary błędu dla klasyfikacji wielu klas.

50 Problemy z sumą kwadratów Błąd obliczony w oparciu o sumę kwadratów ma pewne wady –Jeśli wymagana odpowiedź jest 1 a otrzymaną jest to gradient funkcji logistycznej jest prawie zero i nie można zmniejszyć błędu. –Jeśli próbujemy określić prawdopodobieństwa klas na wyjściach, to wiemy ze wyjścia powinny dać sumę równą 1, ale siec nie ma takiej wiedzy. Czy jest jakaś inna funkcja kosztu bardziej odpowiednia do tego celu? –Wymyśl żeby wyjścia reprezentowały rozkłady prawdopodobieństwa dla dyskretnych alternatyw.

51 Softmax Jednostki wyjścia używają globalnych funkcji nieliniowych: Funkcja kosztu jest ujemnym logarytmem prawdopodobieństwa poprawnej odpowiedzi Stromość C dokładnie równoważy płaskość nieliniowości wyjścia. jednostki wyjścia x y x y x y wartości pożądane dobrze okresowa w przypadku błędu

52 Sygnały w warstwie ukrytej Sygnały na wyjściu Uczenie ważoną metodą najmniejszych kwadratów WLSQ

53 1)Oblicz y 1, z 1 używając przypadkowych wag 2)Oblicz pożądane sygnały na wejściu warstwy wyjścia 3)Użyj metody najmniejszych kwadratów i oblicz W 2 oraz b 2 z 4)Użyj metody najmniejszych kwadratów i oblicz z 1 z równania (*)

54 Uczenie ważoną metodą najmniejszych kwadratów WLSQ 5) Przeskaluj z 1 do przedziału (-1, +1) i oblicz pożądane sygnały na wejściu warstwy ukrytej 6)Użyj metody najmniejszych kwadratów i oblicz W 1 i b 1 7)Oblicz błąd wyjścia propagując sygnał wejściowy przez W 1 i W 2 8)Powtórz procedurę dla uzyskania optymalnego rozwiązania

55 Uczenie ważoną metodą najmniejszych kwadratów WLSQ Funkcja wagi jest użyta do poprawienia jakości rozwiązania. Metoda najmniejszych kwadratów minimalizuje normę kwadratową błędu rozwiązania Jednak nie wszystkie błędy mają ten sam wpływ na uczenie sieci neuronowej. Błąd w obliczeniu y 1 powoduje większe błędy na wyjściu elementu nieliniowego niż błąd w obliczeniu y 2 1 2

56 Dlatego zamiast rozwiązać równanie w celu obliczenia wag W rozwiązujemy gdzie jest macierz diagonalna zawierająca pochodne funkcji przenoszenia obliczone dla danych wartości wejścia neuronów. Na przykład dla funkcji przenoszenia wagi obliczane są jako Uczenie ważoną metodą najmniejszych kwadratów WLSQ

57 Przykład – klasyfikacja spiral Problem klasyfikacji spiral jest znany jako trudny problem dla sieci neuronowych prowadzi on do wielu lokalnych minimów przy optymalizacji wag. Baza danych tego problemu zawiera 50 punktów o współrzędnych (x,y) z dwóch klas. Używając identyfikator klas jako pożądane wyjście, ważona metoda najmniejszych kwadratów jest oparta o siec

58 Przed rozwiązaniem równania Dobrze jest znormalizować współczynniki macierzy x Kolejne dane wejściowe Wyjście sieci Pożądane wyjście Aproksymacja przez BPNN Wyniki uczenia klasyfikacji spiral Aproksymacja przez ważona LSNN Wyniki – klasyfikacja spiral Błąd aproksymacji: Dla sieci BPNN Dla sieci WLSQ 2*10 -20

59 LSQ SVM NN oparte o radialne funkcje bazy Maszyny wektorów wspierających (support vector machines SVM) są oparte o radialne funkcje bazy tworzące jądro przekształcenia. –Funkcja optymalizacji z ograniczeniami równościowymi –Regularyzacja rozwiązania równań –Mnożniki Lagrangea –Prowadza do optymalnego rozwiązania liniowego Dwie nieznormalizowane radialne funkcje bazowe, z jednowymiarowym wejściem. Lokalizacja center: b 1 = 0.75; b 2 =3.25. y f(y)

60 LSQ SVM prowadzi do liniowego układu równań które można rozwiązać metodą najmniejszych kwadratów. Równanie rozwiązuje sie jako funkcję optymalizacji z regularyzacja i z ograniczeniami równościowymi LSQ SVM NN oparte o radialne funkcje bazy

61 Lagrangian tego problemu nieliniowego jest gdzie sa mnożnikami Lagrangea i warunkiem koniecznym optymalności rozwiązania jest LSQ SVM NN oparte o radialne funkcje bazy jest parametrem regularyzacji Tichonowa

62 LSQ SVM NN oparte o radialne funkcje bazy Z warunku optymalności mamy

63 LSQ SVM NN oparte o radialne funkcje bazy Warunek optymalności można rozwiązać przez jest macierzą przekształceń nieliniowych we wszystkich punktach treningowych y k. System ten jest łatwo rozwiązać nawet dla dużych sieci


Pobierz ppt "Wsteczna Propagacja Błędu (Backpropagation) Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hinton."

Podobne prezentacje


Reklamy Google