Sieci neuronowe - architektury i zastosowania

Slides:



Advertisements
Podobne prezentacje
o radialnych funkcjach bazowych
Advertisements

Sieć jednokierunkowa wielowarstwowa
SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
Inteligencja Obliczeniowa Metody oparte na podobieństwie do wzorców.
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Inteligencja Obliczeniowa Modele neuronowe
Inteligencja Obliczeniowa Otwieranie czarnej skrzynki.
Katedra Informatyki Stosowanej UMK
Katedra Informatyki Stosowanej UMK
Samoorganizacja: uczenie bez nadzoru.
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Inteligencja Obliczeniowa Perceptrony
Sztuczne sieci neuronowe
Sztuczne sieci neuronowe w doświadczeniach nad fizyką spinową w CERN
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Perceptrony proste liniowe - Adaline
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
SZTUCZNE SIECI NEURONOWE
mgr inż. Rafał Komański styczeń 2004
Klasyfikacja Obcinanie drzewa Naiwny klasyfikator Bayes’a kNN
Linear Methods of Classification
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Sieci Hopfielda.
Sieci neuronowe jednokierunkowe wielowarstwowe
Sztuczne sieci neuronowe (SSN)
Zastosowanie technologii CUDA w sztucznej inteligencji
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Systemy wspomagania decyzji
Sztuczne Sieci Neuronowe
Analiza współzależności cech statystycznych
Opiekun: dr inż. Maciej Ławryńczuk
Systemy Wspomagania Decyzji
formalnie: Uczenie nienadzorowane
Wspomaganie decyzji nie zwalnia od decyzji...
Systemy Wspomagania Decyzji
Detekcja twarzy w obrazach cyfrowych
Uczenie w Sieciach Rekurencyjnych
GŁOSOWA ŁĄCZNOŚĆ Z KOMPUTEREM
Systemy wspomagania decyzji
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Perceptrony proste liniowe - Adaline
Model I/O bazujący na HSWN Problem uczenia sieci HSWN
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
VI EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
Systemy Wspomagania Decyzji
Do technik tych zalicza się: * sztuczne sieci neuronowe
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
Wybrane zagadnienia inteligencji obliczeniowej Zakład Układów i Systemów Nieliniowych I-12 oraz Katedra Mikroelektroniki i Technik Informatycznych proponują.
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie Mamdani’ego II © Kazimierz Duzinkiewicz, dr hab.
Belief Nets Autor: inż. 2013r źródło tła:
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Learnmatrix, Adaline, Madaline i modele liniowe
Systemy neuronowo – rozmyte
Kognitywne właściwości sieci neuronowych
Perceptrony o dużym marginesie błędu
Jednorównaniowy model regresji liniowej
Perceptrony o dużym marginesie błędu
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Inteligencja Obliczeniowa Perceptrony
Katedra Informatyki Stosowanej UMK
Perceptrony wielowarstwowe, wsteczna propagacja błędów
Zapis prezentacji:

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:

Funkcja przetwarzania neuronu progowego

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 Feng ze 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

Wyjście (aktywacja) neuronu 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

(Iloczyn skalarny)

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

Inna realizacja progowania

Inna realizacja progowania

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

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

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

System klasyfikacyjny Klasyfikacja System klasyfikacyjny 7! ...

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)

Klasyfikacja WIEK WZROST 180 165 35 23 WIEK WZROST 180 165 35 23

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

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

Inne metryki Tzw. metryka Manhattan

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

Podobieństwo wielowymiarowe

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

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

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

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

Funkcja przetwarzania neuronu progowego

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

Inna funkcja aktywacyjna WIEK WZROST 35 23

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

Aproksymacja Model liniowy: Model wielomianowy:

Aproksymacja Uogólniony model liniowy:

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

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.

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

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

Sieć warstwowa

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

Funkcja przetwarzania sieci

Funkcja przetwarzania sieci

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łą

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

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

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ę.

Sieć neuronowa - generalizacja Zła generalizacja - przetrenowanie

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

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

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

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

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

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

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).

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

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

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.

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ć

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ć.

Ś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

Ś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

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ą

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

Reguła gradientowa

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):

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

Metoda gradientowa w2 w1

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

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.

Reguła łańcuchowa

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

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

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

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”

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”