Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałKlara Konieczek Został zmieniony 11 lat temu
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”
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.