950 likes | 1.14k Views
Sieci neuronowe - architektury i zastosowania. Piotr Gołąbek Politechnika Radomska Instytut Automatyki i Telematyki Transportu email: pgolab@poczta.onet.pl. Historia. McCulloch & Pitts (1943)– pierwszy arytmetyczno-logiczny model neuronu (nie zrealizowany sprzętowo). Historia.
E N D
Sieci neuronowe - architektury i zastosowania Piotr Gołąbek Politechnika Radomska Instytut Automatyki i Telematyki Transportu email: pgolab@poczta.onet.pl
Historia • McCulloch & Pitts (1943)– pierwszy arytmetyczno-logiczny model neuronu (nie zrealizowany sprzętowo)
Historia • Donald Hebb (1949) – teza o przechowywaniu wiedzy w sieci neuronowej w postaci wag połączeń, propozycja metody uczenia polegającej na zmianie wag.
Historia • Rosenblatt (1958) – tzw. perceptron – sprzętowa realizacja sieci z adaptowanymi połączeniami, zdolnej do klasyfikacji (efektywnie – 1 neuron).
Historia • Widrow i Hoff (1960) – ADALINE – struktura podobna do perceptronu, liniowe funkcje aktywacji, użycie algorytmu najmniejszych kwadratów
Historia • Minsky & Papert – „Perceptron” (1969) – krytyka perceptronu (jedno- lub wielo-warstwowego), jako zdolnego do rozwiązywania tylko liniowych problemów
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
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
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
Neurony - elementy składowe sieci neuronowych Tak wyglądają nasze neurony ...
Neurony - elementy składowe sieci neuronowych ... a tyle z nich zostaje w sztucznych sieciach neuronowych ...
Neurony - elementy składowe sieci neuronowych Jednak oczywiście analogia jest do prześledzenia:
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
Sieci neuronowe Poniższe cztery zdjęcia pochodzą z prezentacji „Introduction to Neural Networks” autorstwa Jianfeng Fengze School of Cognitive and Computing Sciences Fragment sieci neuronowej łączącej siatkówkę z obszarem mózgu odpowiedzialnym za percepcję obrazu
Sieci neuronowe Pojedynczy neuron – obraz stereoskopowy
Sieci neuronowe Połączenie synaptyczne – struktura
Sieci neuronowe Połączenie synaptyczne – poziom molekularny
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
Neurony Wejścia Wagi połączeń Wyjście (aktywacja) neuronu Operacja sumowania Pobudzenie neuronu Funkcja aktywcyjna Próg aktywacji
Funkcja realizowana przez neuron • Równania neuronu
x α x w w (Iloczyn skalarny x x w w max antypodobieństwo max niepodobieństwo max podobieństwo
Dwie grupy problemów • Zadania klasyfikacji/grupowania danych • Zadania aproksymacji funkcji
System klasyfikacyjny System klasyfikacyjny ... ... ... ... 7! 7! Klasyfikacja
System klasyfikacyjny Klasyfikacja Alternatywny schemat przetwarzania: 0 (1%) 1 (1%) 2 (1%) 3 (1%) 4 (1%) ... ... 5 (1%) 6 (1%) 7 (90%) 8 (1%) 9 (1%) Brak decyzji
System klasyfikacyjny ... ... 7! Klasyfikacja
Klasyfikacja - typy zastosowań Klasyfikacja == Rozpoznawanie wzorców: • diagnozowanie chorób • rozpoznawanie niebezpiecznych warunków w procesach sterowania • rozpoznawanie pisma • identyfikacja obiektów • wspomaganie decyzji
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
Klasyfikacja • Np. cechy ludzi: • Wzrost • Wiek Klasa K: „Wysocy ludzie przed trzydziestką”
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)
WIEK WIEK 35 35 23 23 WZROST WZROST 165 165 180 180 Klasyfikacja
WIEK 35 23 WZROST 165 180 Podobieństwo obiektów
Podobieństwo • Odległość Euklidesa (tzw. metryka Euklidesa):
Inne metryki Tzw. metryka Manhattan
X1 X2 X3 Klasyfikacja • Więcej cech – więcej wymiarów:
Klasyfikacja Atr 2 Atr 4 Atr 6 Atr 1 Atr 3 Atr 5 Atr 8, itd. .. Atr 7
WIEK 35 23 WZROST Y=K*X WIEK = K*WZROST Klasyfikacja WIEK > K*WZROST • Wytyczenie granicy między dwoma grupami WIEK < K*WZROST
Klasyfikacja WIEK = K*WZROST+B WIEK-K*WZROST-B=0 WIEK+K2*WZROST+B2=0 WIEK 35 23 WZROST
Klasyfikacja • Ogólnie, dla wielowymiarowego przypadku, tzw. hiperpłaszczyzna klasyfikacji ma równanie: • Bardzo niedaleko stąd do neuronu ...
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
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.
Wiele klas • Wiele neuronów • Każdy neuron przeprowadza bisekcję przestrzeni • Kilka neuronów dzieli więc przestrzeń na rozłączne obszary
Inna funkcja aktywacyjna • Tzw. funkcja sigmoidalna, np.:
Inna funkcja aktywacyjna β=1 β=100 β=0.4
WIEK 35 23 WZROST Inna funkcja aktywacyjna