Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Sieci neuronowe - architektury i zastosowania

Podobne prezentacje


Prezentacja na temat: "Sieci neuronowe - architektury i zastosowania"— 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. 1011 neuronów
Każdy z nich tworzy połączenie średnio z 103 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 Poniższe cztery zdjęcia pochodzą z prezentacji „Introduction to Neural Networks” autorstwa Jianfeng Feng ze School of Cognitive and Computing Sciences Fragment sieci neuronowej łączącej siatkówkę z obszarem mózgu odpowiedzialnym za percepcję obrazu

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 (1011) 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 Wyjście (aktywacja) neuronu
Neurony Wejścia Wagi połączeń Wyjście (aktywacja) neuronu Operacja sumowania Pobudzenie neuronu Funkcja aktywcyjna Próg aktywacji

21 Funkcja realizowana przez neuron
Równania neuronu

22 (Iloczyn skalarny)

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

24 Inna realizacja progowania

25 Inna realizacja progowania

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

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

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

29 System klasyfikacyjny
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 180 165 35 23 WIEK WZROST 180 165 35 23

35 Podobieństwo obiektów
WIEK WZROST 180 165 35 23

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

37 Inne metryki Tzw. metryka Manhattan

38 Klasyfikacja Więcej cech – więcej wymiarów: X1 X2 X3

39 Podobieństwo wielowymiarowe

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

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

42 Klasyfikacja WIEK = K*WZROST+B WIEK-K*WZROST-B=0 WIEK+K2*WZROST+B2=0
35 23 WZROST

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 Funkcja przetwarzania sieci

62 Funkcja przetwarzania sieci
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

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 Unsupervised learning
Uczenie bez nadzoru Unsupervised learning 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).

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) Reguła Hebba i jej odmiany
„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
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 Gradient funkcji błędu Musimy postąpić „wbrew” znakowi pochodnej. Chcemy zmniejszyć wartość funkcji, więc musimy zwiększyć argument. wi

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 ta nazywana jest potocznie „wędrówką po górach”
Metoda gradientowa Metoda ta nazywana jest potocznie „wędrówką po górach” w1 w2 E

86 Metoda gradientowa w2 w1

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"

Podobne prezentacje


Reklamy Google