Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Uczenie w Sieciach Wielowarstwowych Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hintona University.

Podobne prezentacje


Prezentacja na temat: "Uczenie w Sieciach Wielowarstwowych Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hintona University."— Zapis prezentacji:

1 Uczenie w Sieciach Wielowarstwowych Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hintona University of Toronto i Dr Kazimierza Duzinkiewicza, Politechnika Gdańska oraz Prof. Włodzisława Ducha Uniwersytet Mikołaja Kopernika Inteligentne Systemy Autonomiczne

2 Rodzaje uczenia w sieciach neuronowych Uczenie z nauczycielem (supervized) –Sieć uczy się przewidywać wyjście przy zadanym wejściu –Nauczyciel zapewnia poprawna odpowiedź Uczenie z krytykiem (reinforced) –Sieć uczy się odpowiedzi która optymalizuje nagrodę Sygnał nagrody nie zawiera dużo informacji Nagroda przychodzi często z opóźnieniem Uczenie bez nauczyciela (unsupervised) –Sieć tworzy wewnętrzną reprezentację wejścia e.g. tworzy klastery; wyodrębnia cechy Skąd wiadomo czy reprezentacja jest dobra?

3 Uczenie bez nadzoru Znajdź interesujące struktury w danych. Uczenie spontaniczne, odkrywanie ciekawych struktur w przestrzeni danych Korelacja zachowań systemu ze zmianą tych struktur Dominuje w okresie niemowlęcym. Unsupervised learning

4 Uczenie z nadzorem Zadaj pytanie – pokaż opis obiektu (wektor własności), porównaj odpowiedź z pożądaną. Uczenie nadzorowane przez nauczyciela – szkolne. Zmiana parametrów wewnętrznych – adaptacja, w przyszłości trzeba robić jak najmniej błędów. Celem nie jest uczenie na pamięć, lecz generalizacja. Supervised learning.

5 Uczenie z krytykiem Optymalizacja zysków na dłuższą metę. Np. gry z przeciwnikiem, krytyką jest przegrana lub wygrana na końcu partii. Uczenie z krytykiem lub z wzmocnieniem pożądanych zachowań po dłuższym okresie. Uczenie dojrzałe (nabieranie mądrości). Reinforcement learning.

6 D. O. Hebb, 1949 Reguła Hebba Kiedy akson komórki A jest dostatecznie blisko by pobudzić komórkę B i wielokrotnie w sposób trwały bierze udział w jej pobudzaniu, procesy wzrostu lub zmian metabolicznych zachodzą w obu komórkach tak, że sprawność neuronu A jako jednej z komórek pobudzających B, wzrasta.

7 Uczenie w neuronach liniowych Neuron ma rzeczywiste wyjście które jest ważoną sumą jego wejść Celem uczenia jest zminimalizowanie różnicy pomiędzy pożądanym i rzeczywistym wyjściem –Jak mierzyć tą różnicę? –Czy uaktualniać wagi po każdym uczącym wzorcu? –Czemu nie rozwiązać tego analitycznie? Neuronowe przybliżenie pożądanego wyjścia Wektor wejściowy Wagi połączeń

8 Obliczanie zmian wag (delta rule) Zdefiniuj błąd jako sumę kwadratów odchyleń wyjść na wszystkich danych treningowych: Oblicz pochodna błędu ze względu na wagi Delta rule zmienia wagi proporcjonalnie do sumy pochodnej błędu po wszystkich przypadkach treningowych

9 Warstwy ułożone są jedna za drugą. Określone jest uporządkowanie warstw. Połączenia pomiędzy neuronami poszczególnych warstw są jednokierunkowe i skierowane zgodnie z uporządkowaniem warstw Sygnały wejściowe dostarczane są do sieci przez wejścia (warstwę wejściową), umiejscowione przed pierwszą warstwą neuronów Jednowarstwowe sieci jednokierunkowych są często nazywane perceptronami prostymi Warstwowe sieci jednokierunkowe - perceptrony

10 Perceptrony proste Realizowane przetwarzanie

11 Perceptron jest w stanie nauczyć się klasyfikacji, jeżeli istnieje hiperpłaszczyzna rozdzielająca wzorce wejściowe. w p1p1 p2p2 wzorce wejściowe klasy 1 wzorce wejściowe klasy 2 Perceptron prosty progowy – ilustracja

12 Pytania?

13 Uczenie w Sieciach Wielowarstwowych Wykład z Uzupełnieniami

14 Metody uczenia sieci neuronowych W korzystaniu z sieci neuronowej można wyróżnić dwa etapy: etap uczenia – w oparciu o przedstawiane sieci dane, sieć uczy się realizować zadanie dla którego została zbudowana etap uogólniania – sieć realizuje zadanie dla którego została zbudowana dla danych które są jej przedstawiane Powinniśmy mieć miary oceny jakości każdego z tych etapów

15 Metody uczenia sieci neuronowych Istnieje obecnie wiele metod uczenia sieci neuronowych. Nikt dokładnie nie wie ile. Podstawowy podział metod uczenia to rozróżnienie pomiędzy uczeniem z nadzorem (supervised learning) i bez nadzoru (unsupervised learning) Wiele ze znanych metod jest związanych z określonymi topologiami (klasami) sieci

16 Rodzaje uczenia w sieciach neuronowych Uczenie z nauczycielem (supervized) –Sieć uczy się przewidywać wyjście przy zadanym wejściu –Nauczyciel zapewnia poprawną odpowiedź Uczenie z krytykiem (reinforced) –Sieć uczy się odpowiedzi która optymalizuje nagrodę Sygnał nagrody nie zawiera dużo informacji Nagroda przychodzi często z opóźnieniem Uczenie bez nauczyciela (unsupervised) –Sieć tworzy wewnętrzną reprezentacje wejścia e.g. tworzy klastery; wyodrębnia cechy Skąd wiadomo czy reprezentacja jest dobra?

17 Uczenie bez nadzoru Znajdź interesujące struktury w danych. Uczenie spontaniczne, odkrywanie ciekawych struktur w przestrzeni danych Korelacja zachowań systemu ze zmianą tych struktur Dominuje w okresie niemowlęcym. Unsupervised learning

18 Uczenie z nadzorem Zadaj pytanie – pokaż opis obiektu (wektor własności), porównaj odpowiedź z pożądaną. Uczenie nadzorowane przez nauczyciela – szkolne. Zmiana parametrów wewnętrznych – adaptacja, w przyszłości trzeba robić jak najmniej błędów. Celem nie jest uczenie na pamięć, lecz generalizacja. Supervised learning.

19 Uczenie z krytykiem Optymalizacja zysków na dłuższą metę. Np. gry z przeciwnikiem, krytyką jest przegrana lub wygrana na końcu partii. Uczenie z krytykiem lub z wzmocnieniem pożądanych zachowań po dłuższym okresie. Uczenie dojrzałe (nabieranie mądrości). Reinforcement learning.

20 Każdy przypadek treningowy zawiera wektor wejścia x i pożądane wyjście y (może by wektor wyjść) –Przybliżanie: Pożądane wyjście jest liczbą –Klasyfikacja: Pożądane wyjście jest oznaczeniem klasy (w najprostszym przypadku 1 lub 0). Trening zaczyna sie od wyboru przykładowej klasy –Przykładowa klasa jest sposobem użycia parametrów, W, żeby przekształcić każdy wektor wejścia, x, w pożądane wyjście y Uczenie zwykłą oznacza dopasowanie parametrów żeby zmniejszyć rozbieżność pomiędzy pożądanym wyjściem a aktualnym wyjściem modelu w każdym przypadku treningowym. Uczenie z nauczycielem (supervised learning)

21 W uczeniu bez nadzoru sieć jest samodzielna Ocenia prezentowane dane, znajduje pewne cechy zbioru danych i uczy się odzwierciedlać te cechy na swoim wyjściu. Czym są dokładnie te cechy, które sieć może nauczyć się rozpoznawać zależy od konkretnego modelu sieci i metody uczenia. Zwykle, sieć uczy się pewnych zwięzłych reprezentacji danych. Uczenie bez nauczyciela (self-organizing)

22 Posiadamy pewien zbiór wektorów wejściowych sieci o liczebności Q, które zamierzamy wykorzystać w procesie uczenia sieci Wektory te będziemy nazywać uczącymi wzorcami wejściowymi. Możemy z posiadanych wektorów utworzyć macierz wzorców wejściowych uczących P (patterns) Uczenie z nauczycielem

23 Dla każdego uczącego wzorca wejściowego posiadamy wektor wyjściowy sieci jakim powinna ona odpowiedzieć - wektor ten nazywamy docelowym wzorcem wyjściowym. Z wektorów tych możemy utworzyć macierz docelowych wzorców wyjściowych T (targets) Uczenie z nauczycielem NN PTPT

24 Faktycznie sieć na każdy z wzorców wejściowych odpowiada rzeczywistym wzorcem wyjściowym Z wektorów tych możemy utworzyć macierz wzorców rzeczywistych A (answers) Macierze P oraz T nazywamy zbiorami uczącymi - ich elementami są kolumny wzorców wejściowych oraz docelowych wzorców wyjściowych. Uczenie z nauczycielem NN PAPA

25 Wektory z wejściowego zbioru uczącego są przedstawiane sieci w pewnej kolejności Jeżeli wyjście sieci jest poprawne, nie dokonywane są żadne zmiany wartości wag i progów Jeżeli wyjście sieci nie jest poprawne, wagi i progi są modyfikowane w taki sposób, aby minimalizować występujące różnice Zmiany wag i progów dokonuje się na ogół przyrostowo, wprowadzając małe poprawki dla każdej pary uczącej z którą związana jest błędna odpowiedź Można zmiany wag i progów wykonywać grupowo, wprowadzając poprawki po pokazaniu sieci całego zestawu uczącego Proces uczenia z nauczycielem

26 Pełne przejście przez wszystkie wzorce uczące nazywane jest cyklem uczenia (training epoch) Jeżeli po pewnym cyklu uczenia miara wszystkich pojawiających się błędów jest wystarczająco mała, uczenie uznaje się za zakończone - możemy wówczas powiedzieć, że sieć nauczyła się zbioru uczącego z zadowalającą dokładnością Jeżeli nie to uczenie jest kontynuowane – rozpoczynamy kolejny cykl uczenia Proces uczenia z nauczycielem

27 Proces uczenia z nauczycielem ma trzy fazy: 1.FAZA PREZENTACJI: Przedstawianie sieci kolejnych wzorców wejściowych uczących i obliczanie rzeczywistych wzorców wyjściowych sieci 2.FAZA SPRAWDZENIA: Stwierdzenie, czy wszystkie rzeczywiste wzorce wyjściowe są równe odpowiednim wzorcom wyjściowym docelowym lub jeżeli miara błędów odpowiedzi jest zadowalająco mała lub po przekroczeniu pewnej maksymalnej liczby epok 3.FAZA UCZENIA: Modyfikacja wag i stałych progowych za pomocą odpowiedniej reguły uczenia perceptronu i powrót do fazy 1 Proces uczenia z nauczycielem

28 Sprawdzenie zdolności uogólniania sieci Po zakończeniu procesu uczenia możemy podawać na wejście sieci wzorce nie pochodzące z uczącego zbioru wejściowego – w ten sposób możemy badać, czy sieć efektywnie uogólnia rozwiązywanie zadania, którego się uczyła na przykładach Jeżeli tak, to na podany na wejście wzorzec powinna ona odpowiedzieć wzorcem wyjściowym równym lub bliskim wzorcowi docelowemu, otrzymanym przy podobnym wejściu Jeżeli nie, to na podany na wejście wzorzec sieć odpowie wzorcem wyjściowym odległym od wzorca docelowego, otrzymanego przy podobnym wejściu

29 D. O. Hebb, 1949 Reguła Hebba Kiedy akson komórki A jest dostatecznie blisko by pobudzić komórkę B i wielokrotnie w sposób trwały bierze udział w jej pobudzaniu, procesy wzrostu lub zmian metabolicznych zachodzą w obu komórkach tak, że sprawność neuronu A jako jednej z komórek pobudzających B, wzrasta.

30 Uczenie w neuronach liniowych Neuron ma rzeczywiste wyjście które jest ważoną sumą jego wejść Celem uczenia jest zminimalizowanie różnicy pomiędzy pożądanym i rzeczywistym wyjściem –Jak mierzyć ta różnicę? –Czy uaktualniać wagi po każdym uczącym wzorcu? –Czemu nie rozwiązać tego analitycznie? Neuronowe przybliżenie pożądanego wyjścia Wektor wejściowy Wagi połączeń

31 Motywujący przykład Każdego dnia jesz obiad na stołówce. –Twoje posiłki składają sie z ryb, chleba i piwa. –Dostajesz po trochu z każdego z nich Kasjer podaje ci tylko całość sumy do zapłacenia –Po kilku dniach powinieneś się zorientować ile co kosztuje. Każda cena posiłku daje ci liniowe ograniczenie cen wszystkich porcji :

32 Dwie metody rozwiązania równań Jedna metoda to rozwiązać układ równań liniowych, jedno równanie na każdy posiłek. Ale potrzebna jest nam metoda którą można użyć w sieciach neuronowych. Ceny porcji sa jak wagi połączeń w neuronach liniowych. Zaczniemy od zgadnięcia wag i później je zmienimy żeby uzyskać lepsze dopasowanie do cen podanych przez kasjera.

33 Mózg kasjera Cena posiłku = 850 porcje ryby porcje chleba porcje piwa Neuron liniowy Poszukiwane wagi połączeń

34 Błąd wyjścia Wzór uczenia: Przy współczynniku =1/35, zmiany wag są +20, +50, +30 Daje to nowe wagi 70, 100, 80 Zauważ że błąd dla chleba wzrósł ale inne błędy zmalały! Model mózgu kasjera z dowolnymi wagami początkowymi Cena posiłku = 500 porcje ryby porcje chleba porcje piwa

35 Zachowanie iteracyjnej procedury uczenia Czy zmiana wag zawsze przybliżą wagi do pożądanych wielkości? NIE! Czy procedura uczenia zbiega sie do poprawnego rozwiązania? Tak, jeśli szybkość uczenia stopniowo jest ograniczana w odpowiedni sposób. Jak szybko wagi zbiegają się do ich poprawnych wielkości? Zbieżność może być bardzo powolna jeśli dwie wielkości wejściowe są wysoce skorelowane (na przykład chleb i masło). Czy procedura iteracyjna może być uogólniona na bardziej złożone, wielowarstwowe, nieliniowe sieci? TAK!

36 Obliczanie zmian wag (delta rule) Zdefiniuj błąd jako sumę kwadratów odchyleń wyjść na wszystkich danych treningowych: Oblicz pochodną błędu ze względu na wagi Delta rule zmienia wagi proporcjonalnie do sumy pochodnej bledu po wszystkich przypadkach treningowych

37 Powierzchnia błędu Powierzchnia błędu zawarta jest w przestrzeni której współrzędnymi są wagi i wartość błędu. –Dla liniowego neuronu jest to funkcja kwadratowa. E w1 w2 Przekroje pionowe są parabolami. Przekroje poziome są elipsami.

38 Uczenie grupowe (batch) postępuje w kierunku największego spadku po powierzchni błędu Uczenie ciągłe (on line) zmierza zygzakiem wokół kierunku największego spadku w1 w2 w1 w2 Uczenie ciągle i grupowe Ograniczenie 1-ej danej treningowej Ograniczenie 2-ej danej treningowej

39 Dodanie progu (bias) Liniowy neuron jest bardziej podatny jeśli dodamy funkcje progową. Możemy uniknąć osobnej zasady uczenia z progiem jak zauważymy że: –Próg jest równoważny wadze dodatkowego wejścia które jest zawsze równe 1.

40 Neurony progowe McCulloch-Pitts (1943) –Najpierw liczymy ważoną sumę wejść z innych neuronów –Następnie wyjście jest 1 jeśli suma ta jest większa od wartości progowej (threshold). 1 if 0 otherwise y z 1 0 próg

41 Warstwowe sieci jednokierunkowe - perceptrony Warstwowe sieci jednokierunkowe zostały nazwane perceptronami przez Franka Rosenblatta i Charlesa Wightmana Sieci te można scharakteryzować w następujący sposób: Podstawowym elementem perceptronu jest sztuczny neuron, którego funkcją pobudzania (propagacji) jest funkcją sumy a funkcja aktywacji ma na ogół charakter nieliniowy; może to być jednak również funkcja liniowa Poszczególne neurony sieci ułożone są w warstwy. Każdy neuron należy do jednej i tylko jednej warstwy. Neurony należące do jednej warstwy nie są ze sobą połączone.

42 Warstwy ułożone są jedna za drugą. Określone jest uporządkowanie warstw. Połączenia pomiędzy neuronami poszczególnych warstw są jednokierunkowe i skierowane zgodnie z uporządkowaniem warstw Sygnały wejściowe dostarczane są do sieci przez wejścia (warstwę wejściową), umiejscowione przed pierwszą warstwą neuronów Jednowarstwowe sieci jednokierunkowych są często nazywane perceptronami prostymi Warstwowe sieci jednokierunkowe - perceptrony

43 Perceptrony proste Realizowane przetwarzanie

44 Perceptron prosty progowy Pojedynczy perceptron jest najprostszą formą sieci neuronowej używanej do klasyfikacji wzorców, które posiadają własność liniowej separowalności tzn. wzorce należące do dwóch różnych klas leżą po przeciwnych stronach hiperpłaszczyzny w przestrzeni atrybutów klasyfikowanych obiektów Pojedynczy perceptron prosty progowy można nauczyć rozpoznawania wzorców należących do dwóch klas – używając większej liczby neuronów można wykorzystywać perceptron prosty progowy do klasyfikacji wzorców należących do większej liczby klas

45 Perceptron prosty progowy Algorytm modyfikacji wag i progu podał Rosenblatt Rosenblatt udowodnił, że jeżeli wzorce (wektory) używane do uczenia perceptronu prostego progowego są wybierane z dwóch liniowo separowalnych zbiorów (klas) wówczas: algorytm uczenia wykorzystujący regułę perceptronu jest zbieżny sieć można nauczyć zadania klasyfikacji wzorców do dwóch klas w skończonej liczbie epok

46 Proces uczenia perceptronu - uczenie zadania klasyfikacji Uczenie perceptronu prostego prowadzi się metodą z nauczycielem (pod nadzorem) Argumentem funkcji aktywacji jest iloczyn skalarny dwóch wektorów w i p

47 Perceptron prosty progowy – istota zadania klasyfikacji Na wyjściu perceptronu progowego pojawia się,,stan wysoki", jeżeli rzut wektora wzorca wejściowego na kierunek wektora wag jest równy zero lub dodatni Na wyjściu perceptronu progowego pojawia się,,stan niski", jeżeli rzut wektora wzorca wejściowego na kierunek wektora wag jest ujemny Granicą pomiędzy dodatnimi i ujemnymi rzutami wektorów p na kierunek wektora w jest hiperpłaszczyzna przechodząca przez początek układu współrzędnych i do której wektor w jest ortogonalny

48 Kiedy proces uczenia doprowadzi do pożądanej sytuacji? - przypadek z progiem Wyjście perceptronu progowego zmienia swoją wartość dla wartości argumentu równej zero, czyli kiedy: Perceptron prosty progowy – istota zadania klasyfikacji

49 Perceptron jest w stanie nauczyć sie klasyfikacji, jeżeli istnieje hiperpłaszczyzna rozdzielająca wzorce wejściowe. w p1p1 p2p2 wzorce wejściowe klasy 1 wzorce wejściowe klasy 2 Perceptron prosty progowy – ilustracja

50 Procedura zbieżności perceptronu: Trening neuronu progowego jako klasyfikatora Dodaj dodatkowy komponent o wartości 1 do każdego wektora wejściowego. –Waga tego wejścia jest równa ujemnej wartości progu. –Możemy teraz zapomnieć o progu. Wybierz wzorce treningowe tak by każdy z nich był wybrany kilkakrotnie –Jeśli wyjście jest poprawne, nie zmieniaj wag. –Jeśli wyjście jest błędnie równe 0, dodaj wektor wejścia do wektora wag. –Jeśli wyjście jest błędnie równe 1, odejmij wektor wejścia od wektora wag. Procedura ta gwarantuje znalezienie poprawnych wartości wag jeśli takowe istnieją.

51 Czego neurony progowe nie są w stanie zrobić? Neurony binarne nie są w stanie określić czy dwie liczby 1-bitowe sa równe czy nie! Równe: (1,1) 1; (0,0) 1 Rożne: (1,0) 0; (0,1) 0 Te 4 pary wejście-wyjście określają 4 nierówności które nie maja rozwiązania: Przestrzeń wejściowa (nie przestrzeń wag) 0,1 0,0 1,0 1,1 płaszczyzna wag wyjście =1 wyjście =0 Przypadki pozytywne i negatywne nie mogą być rozdzielone liniowo


Pobierz ppt "Uczenie w Sieciach Wielowarstwowych Janusz A. Starzyk Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie W oparciu o wykład Prof. Geoffrey Hintona University."

Podobne prezentacje


Reklamy Google