Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Sieci neuronowe - architektury i zastosowania Piotr Gołąbek Politechnika Radomska Instytut Automatyki i Telematyki Transportu

Podobne prezentacje


Prezentacja na temat: "Sieci neuronowe - architektury i zastosowania Piotr Gołąbek Politechnika Radomska Instytut Automatyki i Telematyki Transportu"— Zapis prezentacji:

1 Sieci neuronowe - architektury i zastosowania Piotr Gołąbek Politechnika Radomska Instytut Automatyki i Telematyki Transportu

2 Historia McCulloch & Pitts (1943)– pierwszy arytmetyczno-logiczny model neuronu (nie zrealizowany sprzętowo)

3 Historia Donald Hebb (1949) – teza o przechowywaniu wiedzy w sieci neuronowej w postaci wag połączeń, propozycja metody uczenia polegającej na zmianie wag.

4 Historia Rosenblatt (1958) – tzw. perceptron – sprzętowa realizacja sieci z adaptowanymi połączeniami, zdolnej do klasyfikacji (efektywnie – 1 neuron).

5 Historia Widrow i Hoff (1960) – ADALINE – struktura podobna do perceptronu, liniowe funkcje aktywacji, użycie algorytmu najmniejszych kwadratów

6 Historia Minsky & Papert – Perceptron (1969) – krytyka perceptronu (jedno- lub wielo- warstwowego), jako zdolnego do rozwiązywania tylko liniowych problemów

7 Historia Amari (lata siedemdziesiąte) – teoria uczenia się, SOM Kohonen (1972), Anderson – pamięć asocjacyjna Grossberg (1980) – nowa reguła samoorganizacji – ART Hopfield (1982) – sieci rekurencyjne

8 Historia Kohonen (1982) – dwuwymiarowe sieci SOM Kirkpatrick (1983) – reguła optymalizacji globalnej - symulowane wyżarzanie Barto, Sutton (1983) – uczenie się ze wzmacnianiem Hinton, Sejnowski (1985) – maszyna Boltzmanna – działająca w oparciu o symulowane wyżarzanie

9 Historia Rummelhart, Hinton (1986) – wsteczna propagacja błędu – metoda uczenia sieci, która pozwalała na rozwiązywanie problemów nieliniowych (nie separowalnych liniowo)...okazało się, że zrobił to już w 1974r. Paul Werbos Od tego czasu notuje się nieustanny, żywiołowy rozwój dziedziny

10 Neurony - elementy składowe sieci neuronowych Tak wyglądają nasze neurony...

11 Neurony - elementy składowe sieci neuronowych... a tyle z nich zostaje w sztucznych sieciach neuronowych...

12 Neurony - elementy składowe sieci neuronowych Jednak oczywiście analogia jest do prześledzenia:

13 Funkcja przetwarzania neuronu progowego

14 Sieci neuronowe W naszym mózgu jest ok neuronów Każdy z nich tworzy połączenie średnio z 10 3 innych neuronów Oznacza to, że każdy neuron ma połączenia z zaledwie jedną dziesięciomiliardową częścią wszystkich neuronów Gdyby w naszym mózgu neurony tworzyły połączenia każdy z każdym, musiałby on mieć średnicę rzędu kilkuset metrów

15 Sieci neuronowe Fragment sieci neuronowej łączącej siatkówkę z obszarem mózgu odpowiedzialnym za percepcję obrazu Poniższe cztery zdjęcia pochodzą z prezentacji Introduction to Neural Networks autorstwa Jianfeng Feng ze School of Cognitive and Computing Sciences

16 Sieci neuronowe Pojedynczy neuron – obraz stereoskopowy

17 Sieci neuronowe Połączenie synaptyczne – struktura

18 Sieci neuronowe Połączenie synaptyczne – poziom molekularny

19 Sieci neuronowe a komputery Wiele (10 11 ) prostych elementów przetwarzających (neuronów) Przetwarzanie równoległe, rozłożone Rozłożona w całej strukturze pamięć adresowana zawartością Duża odporność na uszkodzenia Kilka bardzo złożonych elementów przetwarzających (procesorów) Przetwarzanie sekwencyjne, scentralizowane Skupiona, adresowana indeksem pamięć o dostępie swobodnym Duża podatność na uszkodzenia

20 Neurony Wejścia Wagi połączeń Operacja sumowania Funkcja aktywcyjna Pobudzenie neuronu Próg aktywacji Wyjście (aktywacja) neuronu

21 Funkcja realizowana przez neuron Równania neuronu

22 (Iloczyn skalarny)

23 (Iloczyn skalarny α x w x w max podobieństwo x w max antypodobieństwo x w max niepodobieństwo

24 Inna realizacja progowania

25

26 Dwie grupy problemów Zadania klasyfikacji/grupowania danych Zadania aproksymacji funkcji

27 Klasyfikacja System klasyfikacyjny 7!... System klasyfikacyjny 7!...

28 Klasyfikacja Alternatywny schemat przetwarzania: System klasyfikacyjny... 1 (1%) 2 (1%) 3 (1%) 4 (1%) 5 (1%) 6 (1%) 7 (90%) 8 (1%) 0 (1%) 9 (1%) Brak decyzji

29 Klasyfikacja System klasyfikacyjny 7!...

30 Klasyfikacja - typy zastosowań Klasyfikacja == Rozpoznawanie wzorców: diagnozowanie chorób rozpoznawanie niebezpiecznych warunków w procesach sterowania rozpoznawanie pisma identyfikacja obiektów wspomaganie decyzji

31 Klasyfikacja Zakłada, że obiekty podobne należą do jednej klasy Podobieństwo musi być zdefiniowane Obiekty podobne – obiekty o zbliżonych cechach Muszą być określone cechy obiektu

32 Klasyfikacja Np. cechy ludzi: –Wzrost –Wiek Klasa K: Wysocy ludzie przed trzydziestką

33 Klasyfikacja Obiekt O1 klasy K: Człowiek 180 cm wzrostu, 23 lata Obiekt O2 nie należący do klasy K: Człowiek 165cm wzrostu, 35 lat (180, 23) (165, 35)

34 Klasyfikacja WIEK WZROST WIEK WZROST

35 Podobieństwo obiektów WIEK WZROST

36 Podobieństwo Odległość Euklidesa (tzw. metryka Euklidesa):

37 Inne metryki Tzw. metryka Manhattan

38 Klasyfikacja Więcej cech – więcej wymiarów: X1X1 X2X2 X3X3

39 Podobieństwo wielowymiarowe

40 Klasyfikacja Atr 1 Atr 2 Atr 3 Atr 4 Atr 5 Atr 6 Atr 7 Atr 8, itd...

41 Klasyfikacja Wytyczenie granicy między dwoma grupami WIEK WZROST Y=K*X WIEK = K*WZROST WIEK > K*WZROST WIEK < K*WZROST

42 Klasyfikacja WIEK WZROST WIEK = K*WZROST+B WIEK-K*WZROST-B=0 WIEK+K 2 *WZROST+B 2 =0

43 Klasyfikacja Ogólnie, dla wielowymiarowego przypadku, tzw. hiperpłaszczyzna klasyfikacji ma równanie: Bardzo niedaleko stąd do neuronu...

44 Funkcja przetwarzania neuronu progowego

45 Neuron jako klasyfikator Pojedynczy neuron progowy (model McCullocha-Pittsa) realizuje więc liniową separację obiektów w wielowymiarowej przestrzeni. Dobór wag i progu aktywacji neuronu zmienia położenie hiperpłaszczyzny separującej

46 Neuron jako klasyfikator Jeśli poprawnie wytyczyć tę hiperpłaszczyznę, czyli poprawnie dobrać wagi neuronu, to będzie on zdolny orzekać dla każdego obiektu, do której klasy należy. Wartości cech badanego obiektu należy podać na wejścia neuronu. Stan wyjścia neuronu wskaże, do której klasy należy obiekt.

47 Wiele klas Wiele neuronów Każdy neuron przeprowadza bisekcję przestrzeni Kilka neuronów dzieli więc przestrzeń na rozłączne obszary

48 Inna funkcja aktywacyjna Tzw. funkcja sigmoidalna, np.:

49 Inna funkcja aktywacyjna β=1β=100β=0.4

50 Inna funkcja aktywacyjna WIEK WZROST 35 23

51 Sieć neuronowa w aproksymacji Przykład realizacji funkcji logicznej (tak, jak u McCullocha-Pittsa)

52 Aproksymacja Model liniowy: Model wielomianowy:

53 Aproksymacja Uogólniony model liniowy:

54 Aproksymacja funkcji Funkcja przetwarzania neuronu: Wytworzona funkcja (model) w sposób nieliniowy zależy od parametrów

55 Aproksymacja Sieć neuronowa, złożona z neuronów o sigmoidalnej funkcji aktywacyjnej jest uniwersalnym aproksymatorem dla szerokiej klasy funkcji Tzn. sieć może aproksymować dowolną funkcję z tej klasy z dowolną dokładnością, zakładając, że składa się z odpowiedniej liczby neuronów.

56 Sieć neuronowa Zespół wzajemnie oddziałujących na siebie neuronów Wyjście każdego neuronu może być połączone z wejściem każdego neuronu (także ze swoim własnym) W ogólności powstają więc sprzężenia zwrotne

57 Sieci neuronowe Sieć bez sprzężeń zwrotnych: sieć jednokierunkowa Szczególny przypadek sieci jednokierunkowych to sieci warstwowe

58 Sieć warstwowa

59 Powinniśmy mówić: sztuczne sieci neuronowe, a nie: sieci neuronowe elementy przetwarzające, a nie: neurony

60 Funkcja przetwarzania sieci

61

62 Sieć neuronowa realizuje funkcję nieliniową Postać tej funkcji zależy od wag Twierdzenie mówi, że odpowiednio duża sieć potrafi zrealizować każdą funkcję ciągłą

63 Aproksymacja Dane pomiarowe (obarczone błędem) Aproksymowana funkcja Aproksymacja

64 Aproksymacja - klasy zastosowań Aproksymacja == Modelowanie procesów: sterowanie i kontrola procesów przemysłowych odtwarzanie i poprawianie jakości obrazów analiza i predykcja przebiegów czasowych

65 Sieć neuronowa - generalizacja Sieć uczy się na podstawie danych: danych jest zwykle mało musimy zarezerwować dane testujące dane zwykle obarczone są błędem pomiarowym (zaszumienie) Generalizacja - mimo wszystko sieć daje sobie radę.

66 Sieć neuronowa - generalizacja Zła generalizacja - przetrenowanie

67 Sieć neuronowa - generalizacja Zła generalizacji - zły wybór modelu

68 Sieć neuronowa - generalizacja Na jakość generalizacji mają wpływ: jakość danych uczących struktura sieci (rodzaj modelu) algorytm uczenia

69 Jak dobrać wagi? Wagi dobierane są w procesie adaptacyjnym – procesie uczenia sieci Proces uczenia opiera się o przykłady Odpowiednia reguła zmiany wag (reguła uczenia) musi zmieniać wagi w kierunku rozwiązania

70 Sieć neuronowa - system adaptacyjny Przykład realizacji procesu adaptacyjnego: Neurosolutions - rozpoznawanie twarzy

71 Sieć neuronowa - system adaptacyjny, cd. Uczenie sieci - adaptacja - może być przeprowadzane w jednym z dwóch trybów: w trybie nadzorowanym w trybie nienadzorowanym

72 Nadzorowany tryb uczenia pary trenujące funkcja błędu uczenie się funkcji przetwarzania obserwowanego procesu

73 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 (również budowa teorii). Unsupervised learning

74 Nienadzorowany tryb uczenia brak informacji o oczekiwanym wyjściu grupowanie danych wykrywanie zależności między danymi

75 Nienadzorowany tryb uczenia Tryb nienadzorowany może służyć selekcji/eliminacji atrybutów

76 Reguła Hebba (1949) 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. Reguła Hebba i jej odmiany stosowane są raczej w nienadzorowanym trybie uczenia.

77 Reguła gradientowa W nadzorowanym trybie uczenia, w którym znana jest poprawna wartość wyjścia dla każdego przetwarzanego przykładu ze zbioru uczącego, stosowana jest zwykle metoda uczenia oparta o tzw. funkcję błędu popełnianego przez sieć

78 Reguła gradientowa Funkcja błędu E wyliczana jest na podstawie rozbieżności tego, co sieć wskazuje dla poszczególnych przykładów i tego, co powinna wskazywać.

79 Średniokwadratowa funkcja błędu Wartość funkcji błędu uśredniona po wszystkich N przykładach trenujących, dlatego, dla ustalonego zbioru trenującego, wartość funkcji błędu zależy tylko od wektora wag sieci w

80 Średniokwadratowa funkcja błędu Da się wymyśleć zdroworozsądkowo,... ale wynika także z przesłanek statystycznych: –można prześledzić związek takiej postaci funkcji błędu z założeniem o Gaussowskim rozkładzie zaburzenia danych –tak wyrażona funkcja błędu ma związek z oszacowaniem wariancji utworzonego modelu

81 Proces uczenia Proces uczenia może więc być postrzegany jako minimalizacja funkcji błędu Funkcja błędu zależy od parametrów w, a więc zadanie uczenia, to znaleźć taki zestaw parametrów w, dla którego wartość funkcji błędu będzie jak najmniejsza Ponieważ funkcja błędu zależy nieliniowo (poprzez funkcję przetwarzania sieci) od wag, mamy do czynienia z minimalizacją nieliniową

82 Gradient funkcji błędu wiwi Wartość pochodnej informuje nas, czy wraz ze wzrostem argumentu wartość funkcji będzie rosła, czy malała (i jak szybko?) W tym wypadku wartość funkcji maleje, a więc pochodna ma znak ujemny Chcemy zmniejszyć wartość funkcji, więc musimy zwiększyć argument. Musimy postąpić wbrew znakowi pochodnej.

83 Reguła gradientowa

84 Gradient funkcji błędu W wielu wymiarach mamy do czynienia z wielowymiarową pochodną – wektorem pochodnych cząstkowych funkcji błędu względem każdej ze współrzdnych (gradientem):

85 Metoda gradientowa w1w1 w2w2 E Metoda ta nazywana jest potocznie wędrówką po górach

86 Metoda gradientowa w2w2 w1w1

87 Jak obliczyć gradient? Po pierwsze, nie możemy mieć skokowej funkcji progowej neuronu, bo funkcja ta jest nieciągła

88 Algorytm wstecznej propagacji błędu BP (BackPropagation). Oblicz gradient na wyjściu. Korzystając z reguły łańcuchowej: można przenieść błąd wstecz przez neuron.

89 Reguła łańcuchowa

90 Algorytm BP Korzystając z reguły różniczkowania funkcji złożonej: można przenieść błąd przez warstwę połączeń

91 Reguła różniczkowania funkcji złożonej

92 Algorytm BP Wychodzi z tego bardzo elegancka i efektywna obliczeniowo procedura, pozwalająca wyliczyć pochodną cząstkową funkcji błędu względem dowolnej wagi w sieci. Pozwala to na skorygowanie każdej wagi w sieci tak aby zmniejszyć wartość błędu Powtarzanie tego procesu prowadzi do coraz mniejszego błędu i nazywane jest uczeniem sieci

93 Sieć neuronowa - podsumowanie System adaptacyjny Realizuje przetwarzanie nieliniowe Realizuje rozproszone przetwarzanie równoległe Ma właściwości generalizacji Musi być traktowana jako system black-box

94 Sieć neuronowa - system adaptacyjny Sieć uczy się, a nie rozwiązuje zadanie wg znanego algorytmu Sieć uczy się na podstawie przykładów Sieć jest plastyczna


Pobierz ppt "Sieci neuronowe - architektury i zastosowania Piotr Gołąbek Politechnika Radomska Instytut Automatyki i Telematyki Transportu"

Podobne prezentacje


Reklamy Google