Wykład 1: Wprowadzenie do sieci neuronowych

Podobne dokumenty
Wykład 1: Wprowadzenie do sieci neuronowych

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Podstawy Sztucznej Inteligencji (PSZT)

Sztuczne sieci neuronowe

Metody Sztucznej Inteligencji II

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Wstęp do sztucznych sieci neuronowych

MODELOWANIE RZECZYWISTOŚCI

Inteligentne systemy informacyjne

Sztuczne sieci neuronowe

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Temat: Sieci neuronowe oraz technologia CUDA

Podstawy sztucznej inteligencji

Sztuczne sieci neuronowe (SNN)

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Inteligentne systemy przeciw atakom sieciowym

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Spis treści I. Systemy Eksperckie

wiedzy Sieci neuronowe

Elementy inteligencji obliczeniowej

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

Lekcja 5: Sieć Kohonena i sieć ART

Zastosowania sieci neuronowych

8. Neuron z ciągłą funkcją aktywacji.

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Elementy kognitywistyki III: Modele i architektury poznawcze

METODY INŻYNIERII WIEDZY

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Uczenie sieci neuronowych i bayesowskich

Elementy kognitywistyki III: Modele i architektury poznawcze

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD XI: Sztuczne sieci neuronowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Sztuczna inteligencja

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

SIECI NEURONOWE Wprowadzenie

Sieć przesyłająca żetony CP (counter propagation)

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

I EKSPLORACJA DANYCH

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Obliczenia Naturalne - Sztuczne sieci neuronowe

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

SIECI REKURENCYJNE SIECI HOPFIELDA

MATLAB Neural Network Toolbox przegląd

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

OCENA DZIAŁANIA AE. METODY HEURYSTYCZNE wykład 4 LOSOWOŚĆ W AE KRZYWE ZBIEŻNOŚCI ANALIZA STATYSTYCZNA:

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Prof. Stanisław Jankowski

Zastosowania sieci neuronowych

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Optymalizacja optymalizacji

Deep Learning na przykładzie Deep Belief Networks

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

SZTUCZNA INTELIGENCJA

Uczenie sieci typu MLP

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

6. Perceptron Rosenblatta

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Sieci neuronowe w Statistica

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

Sztuczne siei neuronowe - wprowadzenie

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

Seminarium magisterskie. Dyskusja nad tematem pracy magisterskiej pisanej pod kierunkiem pani Dr hab. Małgorzaty Doman

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

Sztuczne sieci neuronowe

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

METODY INTELIGENCJI OBLICZENIOWEJ wykład 4

Definicja perceptronu wielowarstwowego

SZTUCZNE SIECI NEURONOWE

KARTA MODUŁU KSZTAŁCENIA

SZTUCZNE SIECI NEURONOWE

Widzenie komputerowe

SIEĆ NEURONOWA JAKO NARZĘDZIE APROKSYMACJI I KLASYFIKACJI DANYCH. Jakub Karbowski Gimnazjum nr 17 w Krakowie

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do teorii sztucznej inteligencji

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Optymalizacja ciągła

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Algorytmy sztucznej inteligencji

Sztuczne sieci neuronowe

Transkrypt:

Wykład 1: Wprowadzenie do sieci neuronowych Historia badań nad sieciami neuronowymi. początki: badanie komórek ośrodkowego układu nerwowego zwierząt i człowieka, czyli neuronów; próby wyjaśnienia i matematycznego opisu działania błony komórkowej i całego neuronu [McCu43] koniec lat pięćdziesiątych i lata sześćdziesiąte: pierwsze modele pojedynczych neuronów i sieci, w tym: popularny perceptron Rosenblatta i Wightmana [Rose65] (przeznaczony do rozpoznawania znaków alfanumerycznych) pierwsze neurokomputery oferowane komercyjnie: Madaline Widrowa zahamowanie badań na przełomie lat '60 i '70 po publikacji książki Minsky'ego i Paperta [Mins69], wykazującej m.in. poważną ograniczoność pola zastosowań liniowych sieci neuronowych (zdolne jedynie do realizacji funkcji liniowych) lata '70 i początek '80: sieciami zajmuje się w świecie zaledwie kilka ośrodków (Grossberg, Hinton, Hopfield, PDP Research Group) początek '80: rozwój i większa dostępność komputerowych technik symulacji przyczynia się do stopniowej intensyfikacji badań druga połowa lat '80: "renesans" sieci: fala nowych koncepcji, architektur, algorytmów uczenia; ważna, monograficzna praca Rumelharta, McClellanda i PDP Research Group "Parallel Distributed Processing. Explorations in the Microstructure of Cognition" [Rume86], podsumowująca stan badań nad sieciami neuronowymi; w nim publikacja algorytmu nadającego się do uczenia wielowarstwowych sieci o nieliniowych neuronach (backpropagation) wraz z wykazaniem ich przewagi nad sieciami opartymi na perceptronach; inna przyczyna wzrostu popularności: rosnące zainteresowanie ze strony specjalistów zajmujących się Sztuczną Inteligencją, wobec kryzysu nękającego tradycyjne, symboliczne techniki rozwijane w latach '60, '70 i '80 (Newell, Simon itp.) lata '90: dalsza rosnąca popularność; rozwój sektora zastosowań w medycynie, przemyśle, edukacji i innych dziedzinach coraz większa ilość przystępnych cenowo realizacji sprzętowych Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 1

Koncepcja obliczeń neuronowych: Definicja opisowa: duża (1) ilość prostych (2), niezależnych jednostek obliczeniowych komunikujących się ze sobą, pracujących równolegle (3) (1) liczba neuronów w sieci zależy od rozmiaru zadania; w przypadku małego problemu może to być ich zaledwie kilka; w istocie chodzi o to, żeby był więcej niż jeden (2) w sensie "realizujących proste odwzorowanie matematyczne" (3) zależnie od implementacji; w praktyce większość sieci realizowana jest sekwencyjnie i programowo; rozwiązania sprzętowe i równoległe spotyka się tam, gdzie liczy się czas, w szczególności w zastosowaniach wymagających funkcjonowanie w czasie rzeczywistym (np. sterowanie) Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 2

Inspiracja: neuron "biologiczny" budowa: soma, akson, dendryty, synapsy kluczowe znaczenie błony komórkowej w przesyłaniu sygnału; polega ono na propagacji zaburzenia różnicy potencjałów pomiędzy wnętrzem a zewnętrzem komórki; przyczyną tych zaburzeń jest chwilowa utrata "szczelności" przez błonę komórkową zasada działania: "wpływające" dendrytami bodźce (modulowane częstotliwościowo) sumują się na błonie komórkowej i przy pomocy aksonu zakończonego synapsą przekazywane są do innego neuronu/neuronów neuronów mamy ~1010, dendrytów ~1014..1015 różne rodzaje neuronów Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 3

Neuron "sztuczny" (dalej zwany "neuronem", inaczej element przetwarzający (processing element), jednostka (unit) ) drastyczne uproszczenie w porównaniu z neuronem biologicznym (precyzyjnym modelowaniem działania neuronu biologicznego zajmuje się tzw.neuroscience); podstawowe elementy składowe: wejścia (synapsy) opatrzone wagami (lub wektor wag w i wektor wejść x); waga synapsy podłączonej do wyjścia innego neuronu decyduje o jej ważności i jego wpływie na neuron odniesienia pobudzenie e (excitation) neuronu jako suma ważona sygnałów wejściowych pomniejszona o próg Θ (threshold) funkcja przejścia/przenosząca/aktywacji f (transfer function): liniowa lub (z reguły) nieliniowa (element progowy, funkcja sigmoidalna, tangens hiperboliczny); ma kluczowe znaczenie dla funkcjonowania neuronu wyjście y, zasada działania ([Tade93], s.27): wyjście = iloczyn skalarny wektora wejść i wektora wag "przepuszczony" przez funkcję przenoszącą n e = w x θ = w x θ y i = 1 i ( ) i (0.1) = f e (0.2) W najprostszym przypadku, jeśli funkcja przenosząca ma postać y=e, mówimy o neuronie liniowym. Dla ujednolicenia zapisu często "ukrywa się" próg Θ w postaci wagi w 0 = Θ, podłączonej do stałego sygnału x 0 = 1. Prowadzi to do uproszczenia formuły 1.1: n e = w x = w x i = 0 i i (0.3) Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 4

symbol graficzny neuronu x 1 x 2 x 3 1 w 0 w w w 1 2 3 f(e) y w n x n mimo uproszczenia w stosunku do neuronu biologicznego zachowana jest istota działania: ważone sumowanie sygnałów docierających przez wejścia Sieć neuronowa (Sztuczna) sieć neuronowa ((artificial) neural network) wiele połączonych ze sobą neuronów. Każda sieć ma z reguły pewną wyróżnioną grupę "dendrytów" będących jej wejściem i "aksonów" stanowiących wyjście (niekiedy wejście pokrywa się z wyjściem, np. w sieci Hopfielda) Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 5

"Systematyka" sieci neuronowych Topologia (architektura), tj. sposób połączenia neuronów ze sobą jednokierunkowe (feed forwarded); połączenia między neuronami nie zamykają się w cykle; Szczególnym przypadkiem architektury jednokierunkowej jest sieć warstwowa, reprezentująca zdecydowanie najpopularniejszą topologię; wyjœcia sieci warstwa wyjœciowa warstwy ukryte warstwa wejœciowa wejœcia sieci rekurencyjne (feedback, bidirectional): obecność sprzężeń zwrotnych Np. sieć Hopfielda: y y y y 1 2 3 N... y 1 y 2 y 3 y N Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 6

Sposób propagacji pobudzenia (sygnałów) przez sieć (dotyczy głównie realizacji programowych sieci ze sprzężeniami zwrotnymi) synchroniczny: bieżący stan sieci jest "zamrażany" i na jego podstawie dla każdego neuronu oblicza się nową wartość pobudzenia i wyjścia; następnie wielkości te aktualizuje się dla całej sieci w jednym kroku, jednocześnie dla wszystkich neuronów; asynchroniczny: w kolejnych krokach każdy (z reguły wybrany losowo) neuron oblicza nową wartość swojego pobudzenia i wyjścia, która jest natychmiast, tj. już w następnym kroku, "widziana" przez inne neurony podłączone do jego wyjścia; "przesyłanie żetonów" (counter-propagation): specyficzny model propagacji sygnału bazujący na "dyskretnym" pobudzeniu w postaci "żetonu". Reguła łączenia neuronów między sobą "każdy z każdym" (fully connected); w szczególności: między kolejnymi warstwami w sieciach warstwowych tylko z pewną grupą neuronów, najczęściej z tzw. sąsiedztwem Charakterystyka procesu uczenia I sieci uczone w sposób nadzorowany Algorytm uczący adaptuje sieć stosownie do wymuszeń zewnętrznych, starając się możliwie wiernie (tj. z jak najmniejszym błędem) zrealizować zadaną funkcję np. backpropagation, algorytm wstecznej propagacji błędu; każdy neuron lokalnie zmniejsza swój błąd stosując metodę spadku gradientu sieci uczone w sposób nienadzorowany Neurony nie są "skrępowane" żadnym zewnętrznym kryterium (funkcją błedu), adaptacja polega np. na: wzmacnianiu połączeń (zwiększaniu wag) pomiędzy neuronami, których pobudzenia wykazują pewną korelację (np. uczenie Hebba) zbliżaniu (znormalizowanego) wektora wag do (znormalizowanego) wektora wejść (np. reguła uczenia perceptronu, kwantyzator wektorów Kohonena); w takim przypadku neuron najsilniej reaguje na wektor wejść/pobudzeń, który jest najbardziej zbliżony do jego wektora wag (ten podział dotyczy zasadniczo algorytmów uczenia, jako że często sieć o danej topologii da się uczyć zarówno w sposób nadzorowany, jak i nienadzorowany) Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 7

Charakterystyka procesu uczenia II sieci, w których na podstawie danych statystycznych opisujących zbiór uczący jednorazowo ustala się wartości wag (np. standardowy algorytm uczenia sieci Hopfielda) sieci, w których wychodzi się z pewnej (z reguły losowej) konfiguracji sieci (tj. wartości jej wag) i w kolejnych iteracjach, związanych z reguły z prezentacją przykładów ze zbioru uczącego, stara się dojść do konfiguracji najbardziej pożądanej, tj. takiej, która minimalizuje pewną miarę błędu Charakterystyka procesu uczenia III heteroasocjacyjne - w odpowiedzi na podanie na wejścia sieci danego wzorca na jej wyjściu ma się pojawić inny, skojarzony z nim wzorzec autoasocjacyjne - zadaniem sieci jest powielanie na wyjściu wzorca podanego na wejście; w szczególności znajdowanie "oryginałów" wzorców zaszumionych lub uszkodzonych Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 8

Przykłady znanych typów sieci i umiejscowienie w powyższej klasyfikacji Nazwa sieci Topologia Propagacja pobudzenia Perceptron warstwowa - SOM warstwowa - Hopfield brak synchroniczna lub asynchroniczna Łączenie neuronów Uczenie I Uczenie II Uczenie III każdy z każdym warstwami nadzorowane iteracyjne hetero-asocjacja każdy z każdym nienadzorowane iteracyjne hetero-asocjacja warstwami każdy z każdym nienadzorowane w jednym kroku auto-asocjacja Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 9

Cechy sieci neuronowych: + rozproszony charakter przetwarzania informacji i wynikająca z niego odporność na uszkodzenie/eliminację znacznej nawet części neuronów odporność na uszkodzone i zaszumione wzorce + równoległe przetwarzanie informacji (w przypadku implementacji sprzętowych) szybkość działania (w realizacji sprzętowej, wciąż raczej rzadkiej i kosztownej) - powolność większości algorytmów uczących: często setki tysięcy iteracji - trudności z interpretacją wiedzy nabytej przez sieć (brak lub słabe własności eksplikatywne) w związku z jej (tj. wiedzy) rozproszeniem w sieci (tzw. distributed knowledge representation); czarna skrzynka, blackbox - zwłaszcza w uczeniu maszynowym: trudności z reprezentacją niektórych typów danych, np. cech/atrybutów nominalnych o wartościach nie podlegających uporządkowaniu; konieczność stosowania kodowania "1 of n" - duża ilość parametrów (sieci i algorytmu uczącego), przy jednoczesnym braku ścisłych reguł do estymacji ich wartości Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 10

Przykład: Klasyfikacja elektroencefalogramu Zadanie: klasyfikacja elektroencefalogramu do jednej z trzech klas: normal (norm) shizophrenic (shiz) obsessive compulsive disorder (ocd) Dane wejściowe: postać oryginalna (raw data): wynik badania elektroencefalograficznego zaklasyfikowany przez grupę neurologów do jednej z trzech wyżej wymienionych klas: 19 kanałów próbkowanych z częstotliwością 128 Hz, pacjent w spoczynku wstępna obróbka danych (data preprocessing): usunięcie artefaktów (np. zakłóceń wynikłych z poruszeń pacjenta) usunięcie składowych o wysokich częstotliwościach (np. szumów) poprzez obróbkę filtrem dolnoprzepustowym (30 Hz) spośród 19 sygnałów do dalszej obróbki wybrany został kanał Cz (pobierany ze szczytu głowy), ponieważ wcześniejsze badania wykazały największą przydatność właśnie tego sygnału do celów diagnostycznych (można z grubsza przyjąć, iż sygnał dostarczany tym kanałem jest liniową kombinacją sygnałów dostarczanych pozostałymi kanałami) pod uwagę brane jest pierwsze 250 sekund przebiegu (pacjent jest wówczas najbardziej uspokojony) Ekstrakcja cech: Metoda: autoregresja (AR); polega na próbie przybliżenia przebiegu przez rekurencyjną zależność: N s = α s + ε t j t j t j= 1 gdzie: st sygnał w chwili t εt pewna zmienna losowa o rozkładzie normalnym Szukanymi parametrami opisującymi przebieg są αj dla j=1..n; da się je obliczyć przy użyciu pewnych metod. Stanowią one cechy (atrybuty) podawane na wejścia klasyfikatora. Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 11

[Współczynniki te mają podobną interpretację jak elementy widma częstotliwości otrzymanego np. przy pomocy FFT; posiadają jednak przewagę polegającą na niższej wrażliwości na szumy.] Przeprowadzono testy dla N zmieniającego się od 8 do 15. Zbiór uczący: 15 przypadków, po 5 z każdej z trzech klas (norm, shiz, ocd) Klasyfikator i jego uczenie: dwuwarstwowy perceptron o architekturze 8-15-3 (8 neuronów w warstwie wejściowej, 15 w warstwie ukrytej i 3 w wyjściowej) pełne połączenia pomiędzy warstwami (fully connected) docelowo każdy z neuronów w warstwie wyjściowej ma odpowiadać jednej klasie; w związku z tym wektory pożądanych wartości wyjść mają postać (1,0,0), (0,1,0) i (0,0,1) dla odpowiednich klas algorytm uczący: najprostsza wersja backpropagation Zbiór testujący: 24 przypadki: 6 norm, 8 shiz, 10 ocd Wyniki testu reklasyfikującego (confusion matrix): (dla jednego z testów) Sieć norm shiz ocd norm 6 - - Ekspert shiz - 7 1 ocd - 1 9 Trafność klasyfikacji: (6+7+9)/24 91% Słabe punkty tej aplikacji: mała liczność zbiorów uczącego i testującego (15, 24) liczność zbioru testującego większa od liczności zbioru uczącego zbyt duża liczba neuronów w warstwie ukrytej sieci neuronowej (duże ryzyko uczenia się "na pamięć": 15 przypadków, 15 neuronów) Tsoi A.C., So D.S.C, Sergejew A.: Classification of Electroencephalogram using Artificial Neural Networks. Technical Report, University of Queensland, Australia, March 1993 Instytut Informatyki Politechniki Poznañskiej 1995 Wyk³. 1 Strona 12