Sztuczne sieci neuronowe. Uczenie, zastosowania

Podobne dokumenty
Sztuczne sieci neuronowe

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

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.

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Metody Sztucznej Inteligencji II

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

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

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

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

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

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Uczenie sieci neuronowych i bayesowskich

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

x 1 x 2 x 3 x n w 1 w 2 Σ w 3 w n x 1 x 2 x 1 XOR x (x A, y A ) y A x A

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe

Widzenie komputerowe

Podstawy sztucznej inteligencji

Uczenie sieci typu MLP

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

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

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

wiedzy Sieci neuronowe

Podstawy Sztucznej Inteligencji (PSZT)

Elementy kognitywistyki III: Modele i architektury poznawcze

Inteligentne systemy przeciw atakom sieciowym

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

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

Zastosowania sieci neuronowych

Optymalizacja ciągła

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

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

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

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

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

Sztuczna inteligencja

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

Uczenie sieci radialnych (RBF)

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

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Sztuczne sieci neuronowe (SNN)

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

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

Aproksymacja funkcji a regresja symboliczna

I EKSPLORACJA DANYCH

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Elementy inteligencji obliczeniowej

Sieci neuronowe w Statistica

1. Logika, funkcje logiczne, preceptron.

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Podstawy Sztucznej Inteligencji

Temat: Sieci neuronowe oraz technologia CUDA

Metody Optymalizacji: Przeszukiwanie z listą tabu

Jakość uczenia i generalizacja

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

Optymalizacja optymalizacji

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

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

METODY INŻYNIERII WIEDZY

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

Podstawy sztucznej inteligencji

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

Projekt Sieci neuronowe

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

Zastosowania sieci neuronowych

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

6. Perceptron Rosenblatta

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Sieci neuronowe i algorytmy uczenia Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

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

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

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

SIECI REKURENCYJNE SIECI HOPFIELDA

Lekcja 5: Sieć Kohonena i sieć ART

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

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

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

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

MODELOWANIE RZECZYWISTOŚCI

Sztuczna inteligencja *

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

2.4. Algorytmy uczenia sieci neuronowych

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

wiedzy Sieci neuronowe (c.d.)

PRZEWODNIK PO PRZEDMIOCIE

Testowanie modeli predykcyjnych

SZTUCZNA INTELIGENCJA

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

Systemy uczące się wykład 2

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Systemy Inteligentnego Przetwarzania wykład 7: Sieci RBF

Inteligentne systemy informacyjne

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Systemy uczące się Lab 4

SZTUCZNA INTELIGENCJA

Transkrypt:

Wydział Zarządzania AGH Katedra Informatyki Stosowanej Sztuczne sieci neuronowe. Uczenie, zastosowania Inteligencja

Sztuczne sieci neuronowe Metody uczenia Budowa modelu Algorytm wstecznej propagacji błędu Zastosowania SSN 2

Metody uczenia Uczenie polega na takim wyznaczeniu współczynników wag, by sieć rozwiązywała wyuczone zadanie w sposób automatyczny. Wyróżniamy dwie kategorie: uczenie nadzorowane (supervised), gdzie dostarcza się wzorce wejściowe i odpowiadające im wyjścia. uczenie nienadzorowane, gdzie sieć samodzielnie próbuje odkryć statystycznie istotne cechy wzorca; w tej metodzie nie ma danego a priori zbioru kategorii, według których mają być klasyfikowane wzorce. 3

Metody uczenia Wszystkie metody uczenia są wariantami reguły uczenia Hebba opisanej w Organization of Behaviour (1949). Podstawową ideą jest tu założenie, że jeśli dwa elementy działają zgodnie, ich połączenie musi być wzmocnione. Jeżeli element i otrzymuje wejście od j, to najprostsza wersja reguły Hebba opisuje zmianę wag w ij o: w ij a o i o j gdzie a jest dodatnią stałą nazywaną stałą uczenia. 4

Metody uczenia Inna powszechnie stosowana reguła używa nie aktualnej aktywacji elementu i, lecz różnicy między aktualną a wagi zmieniane są tym silniej, im większy jest błąd pożądaną aktywacją elementu: gdzie d i jest pożądaną aktywacją, której wartość jest podawana przez nauczyciela. Reguła ta jest nazywana regułą Widrowa-Hoffa (1960) lub regułą delty. w a ( d o ) ij wagi zmieniane są proporcjonalnie do wielkości sygnałów wejściowych i i o j 5

Metody uczenia Graficzna ilustracja procesu uczenia nadzorowanego 6

Metody uczenia Uczenie sieci, to proces minimalizacji błędu kwadratowego: 1 E[ w] ( t d o d 2 d D 2 ) D = dane treningowe Uczenie jest zbieżne, jeśli: nie ma nieliniowych zależności między danymi, stała uczenia a ma małą wartość, nie ma warstw ukrytych. 7

Budowa modelu Co to znaczy zbudować model? Input: X 1 X 2 X 3 Output: Y Model: Y = f(x 1 X 2 X 3 ) W przypadku SSN : matematyczny zapis f(...) jest zbyt skomplikowany. Jednakże wystarczająco charakteryzują go: liczba neuronów wejściowych, liczba warstw ukrytych, liczba neuronów w warstwach ukrytych, liczba neuronów wyjściowych, wagi wszystkich połączeń. Budowa modelu SSN = określenie wartości powyższych parametrów Ten i sześć następnych slajdów - autor: Angshuman Saha http://www.geocities.com/adotsaha/nninexcel.html 8

Budowa modelu Input: X 1 X 2 X 3 Output: Y Model: Y = f(x 1 X 2 X 3 ) X 1 X 2 X 3 Parametry Przykład L. neuronów wejściowych 3 0.5 0.6-0.1 0.1-0.2 0.7 L. warstw ukrytych 1 Neurony w warstwie ukr. 2 L. neuronów wyjściowych 1 0.1-0.2 Wagi rysunek Y Zależą od struktury problemu Liczba neur. wej.= liczba X Liczba neur. wyj. = liczba Y Wolne parametry 9

Budowa modelu Input: X 1 X 2 X 3 Output: Y Model: Y = f(x 1 X 2 X 3 ) X 1 =1 X 2 =-1 X 3 =2 0.2 = 0.5 * 1 0.1*(-1) 0.2 * 2 0.5 0.6-0.1 0.1-0.2 0.7 f(x) = e x / (1 + e x ) f(0.2) = e 0.2 / (1 + e 0.2 ) = 0.55 0.2 f (0.2) = 0.55 0.55 0.9 f (0.9) = 0.71 0.71 Wyliczone Y = 0.478 0.1-0.2-0.087 f (-0.087) = 0.478 0.478 Jeśli wzorcowe Y = 2, to błąd oszacowania = (2-0.478) =1.522 10

Budowa modelu Input: X 1 X 2 X 3 Output: Y Model: Y = f(x 1 X 2 X 3 ) L. neuronów wej. = liczba X = 3 L. neuronów wyj. = liczba Y = 1 L.warstw ukrytych =??? próbuj 1 L.neuronów w warstwie =??? próbuj 2 Nie ma reguły. Metoda prób i błędów. Mamy architekturę A co z wagami??? Przy tej architekturze mamy do określenia 8 wartości wag: W = (W 1, W 2,, W 8 ) Dane treningowe: (Y i, X 1i, X 2i, X 3i ) i = 1,2,,n Dla określonych wag W, otrzymamy oszacowane n wartości Y ( V 1,V 2,,V n ) Oczywiście są one funkcją W, czyli ogólna reguła brzmi: Dobierz tak W, by błąd oszacowania E był zminimalizowany E = (Y i V i ) 2 i 11

Uczenie sieci Przykład prostej sieci z 2 neuronami wejściowymi i 1 - wyjściowym. E( w 1, w 2 ) = [ Y i V i (w 1, w 2 ) ] 2 w 1 w 2 Para ( w 1, w 2 ) jest punktem w 2-wymiarowej płaszczyźnie. Dla każdej takiej pary mamy wartość E. Funkcja E=f(w 1, w 2 ) wyznacza - przestrzeń błędów Cel: znaleźć taką parę wag, dla której E jest minimalny. Algorytm hill climbing 1. Zacznij od losowej pary ( w 1, w 2 ) 2. Przesuń się do pary ( w 1, w 2 ), dla której błąd jest mniejszy. 3. Kontynuuj krok 2 aż dojdziesz do pary ( w* 1, w* 2 ), gdzie E jest minimalny. 12

6.000 6.000 5.000 4.000 3.000-3.000-2.000-1.000 0.000 1.000 2.000 3.000 4.000 5.000 2.000 1.000 0.000-1.000-2.000-3.000 Inteligencja 14.0 12.0 Uczenie sieci Przestrzeń błędów 10.0 Minimum lokalne 8.0 Error 6.0 4.0 2.0 w 0 w * Minimum globalne Przestrzeń wag 0.0 W2 W1 13

Feed forward Back Propagation Uczenie sieci Algorytm wstecznej propagacji błędu Backpropagation Algorithm uogólnienie reguły delty dla złożonych sieci 1. Zacznij z wylosowanymi wartościami wag. 2. Zaprezentuj sieci pierwszą obserwację X 1 -> sieć -> V 1 ; Błąd = (Y 1 V 1 ) 2 3. Zmodyfikuj wagi tak, by zminimalizować błąd (sieć dopasowuje się do 1. obserwacji) 4. Zaprezentuj sieci kolejną obserwację. Zmodyfikuj wagi tak, by zminimalizować błąd. 5. Powtarzaj krok 3. aż do ostatniej obserwacji. E = (Y i V i ) 2 6. To kończy jeden cykl treningowy. 7. Wykonaj wiele takich cykli (epok), aż E osiągnie małą (minimalną?) wartość. 14

Parametry uczenia: stała uczenia bezwładność (momentum) w j ji Uczenie sieci ( t) a ( t) o ( t) w ( t 1) E o j o j net j j Im wyższy współczynnik uczenia tym sieć uczy się szybciej, ale może wpaść w oscylacje i E o j f ( netj ) ji Pozwala usunąć szybkie oscylacje Sposób prezentacji danych: losowa prezentacja element stochastyczny, uczenie on-line. ustalona kolejność. Sposób modyfikacji wag (wsadowy vs. przyrostowy). 15

Metody uczenia Sposób modyfikacji wag Uczenie przyrostowe, w tej odmianie minimalizuje się funkcję błędów dla każdej pary wektorów zmiennych wejściowych i wzorców osobno; modyfikacja wag następuje każdorazowo po takiej operacji. Uczenie wsadowe, w tej odmianie minimalizuje się błąd średniokwadratowy wyznaczony dla wszystkich próbek ze zbioru uczącego, również korekta wag następuje po zaprezentowaniu całego zbioru uczącego. 16

Zalety SSN 1. Rozwiązuje problemy, które klasyczne algorytmy nie są w stanie rozwiązać, mówimy tutaj przede wszystkim o zadaniach, w których skład wchodzi kojarzenie czy przewidywanie. 2. Nie potrzebują specjalnego algorytmu, całym zadaniem jest zaprojektowanie odpowiedniej struktury sieci odpowiadającej problemowi oraz pokierowanie procesem uczenia się sieci. Niepotrzebne są charakterystyki modelu, założenia, ograniczenia. Wystarczy podać cel i dużo przykładów praktycznego osiągnięcia tego celu. Wprawdzie sieć nie poda reguł kierujących określonym zjawiskiem, ale poda rozwiązanie problemu. 3. Rozwiązuje problemy, które klasyczne algorytmy nie są w stanie rozwiązać, mówimy tutaj przede wszystkim o zadaniach, w których skład wchodzi kojarzenie czy przewidywanie. 17

Zalety SSN 4. Nie potrzebują specjalnego algorytmu, całym zadaniem jest zaprojektowanie odpowiedniej struktury sieci odpowiadającej problemowi oraz pokierowanie procesem uczenia się sieci. Niepotrzebne są charakterystyki modelu, założenia, ograniczenia. Wystarczy podać cel i dużo przykładów praktycznego osiągnięcia tego celu. Wprawdzie sieć nie poda reguł kierujących określonym zjawiskiem, ale poda rozwiązanie problemu. 5. Działają jako całość, każdy element ma pewien wkład w realizację zadania, dlatego też mogą działać pomimo błędów (np. struktury czy też błędów w danych). Klasyczny algorytm w sytuacji błędu np. w strukturze algorytmu lub w zestawie danych najczęściej wywraca się, uniemożliwiając działanie programu. Natomiast SSN dopiero w przypadku ilości błędów powyżej pewnego granicznego poziomu nie jest w stanie poprawnie działać. 6. Umiejętność uogólniania wiedzy. Znaczy to dokładnie tyle, że jeśli sieć nauczy się, powiedzmy rozpoznawać kolory: czerwony i żółty, to rozpozna również różowy i bladożółty, czyli kolory podobne do znanych. 18

Wady SSN 1. Operują pojęciami rozmytymi, nie określają dokładnie, lecz w przybliżeniu, podobnie zresztą jak ludzki mózg. Dlatego nie można ich zastosować tam gdzie, potrzebna jest precyzyjna i jasna wartość. 2. Nie radzą sobie z rozumowaniem wieloetapowym, gdy z jednych wniosków trzeba wysnuć inne, a z tych - kolejne itd. Wynika to z faktu, że sieć neuronowa działa jednoetapowo, tylko w jednym kroku. 3. Proces uczenia się sieci może trwać bardzo długo; wszystko zależy od stopnia skomplikowania sieci oraz złożoności problemu do rozwiązania. 4. Trudno wysuwać wnioski, co do istoty zależności między danymi wyjściowymi a wejściowymi: sztuczna sieć neuronowa działa jak czarna skrzynka, do której wrzucamy dane i otrzymujemy wyniki, natomiast logiki systemu i schematów myślenia nie jesteśmy w stanie odkryć. 5. Łatwo przeuczyć sieć, tzn. sieć nauczy się na pamięć podawanych przykładów w fazie uczenia i w momencie testowania na innych przykładach jest bezużyteczna, nie potrafi właściwie rozwiązać zadania (nie ma zdolności do generalizacji). 19

Wady SSN Uczenie sieci - przetrenowanie 20

Cykl życia SSN 1. Określenie zmiennej wyjściowej oraz zmiennych wejściowych 2. Gromadzenie danych 3. Wstępne przetwarzanie danych (preprocessing) 4. Podział zbioru danych 5. Dobór odpowiedniej architektury sieci 6. Uczenie sieci 7. Testowanie i weryfikacja 8. Zastosowanie sieci 21

Zastosowania SSN Większość zastosowań SSN w zarządzaniu polega na wykorzystaniu sieci jednokierunkowych, wielowarstwowych do klasyfikacji, rozpoznawania wzorców i predykcji oraz sieci Hopfielda-Tanka i Kohonena do celów optymalizacyjnych. Marketing SSN jest elementem systemu ekspertowego do śledzenia i rezerwowania miejsc w samolotach. SSN może służyć do klasyfikowania klientów np. pod względem ryzyka handlowego. Prognozowanie sprzedaży. 22

Zastosowania SSN Harmonogramowanie i planowanie Optymalizacja struktury systemu przesyłania energii. Optymalizacja rozkroju materiału. Optymalizacja struktury sieci satelitów komunikacyjnych. Sterowanie ruchem samolotów. Kontrola jakości Sieć może szacować wpływ różnych zmiennych i ich kombinacji na jakość produktu (ćwiczenie). Montaż głowic dysków jest diagnozowany przez sieć firmy Nestor. Zwiększenie lub zmniejszenie wypukłości wycinanych części jest wykrywane, a moment, w którym tolerancja przestaje być dotrzymywana, jest sygnalizowany. System monitorowania prawidłowego napełnienia butelek. 23

Zastosowania SSN Diagnostyka koncern Ford Motor Company wdrożył system diagnostyczny silników. Bezpieczeństwo Firma SIAC oferuje system monitorowania bagaży na lotniskach (stosowany jest np. na lotnisku JFK w Nowym Jorku). Firma Nestor sprzedaje system do rozpoznawania podpisów mający duże zastosowanie w bankach; sieć działa w czasie rzeczywistym z efektywnością 92-98%. 24

Zastosowania SSN Prognozowanie Prognoza rozwoju rynku energetycznego [Werbos]. Prognoza zapotrzebowania na energię elektryczną. Rynek akcji Prognoza akcji IBM (nieudana, White 1988). Kursy wymiany walut. 25

Zastosowania SSN Rozpoznawanie pisma ręcznego Przykłady ręcznie pisanych kodów pocztowych (źródło: baza danych US Postal service) 26

Zastosowania SSN Ocena ryzyka kredytowego 27

Ocena ryzyka kredytowego M. D. Odoma i R. Shardy (1990) Odoma i Shardy jako pierwsi użyli sztucznych sieci neuronowych do klasyfikacji kredytobiorców pod względem ryzyka kredytowego. Zastosowali oni perceptron trójwarstwowy, z jednym neuronem w warstwie wyjściowej, pięcioma neuronami w warstwie ukrytej i pięcioma neuronami w warstwie wejściowej tj.: kapitał pracujący / aktywa ogółem, skumulowane zyski reinwestowane / aktywa ogółem, (zysk brutto + odsetki) / aktywa ogółem, wartość rynkowa kapitału własnego / wartości księgowej kapitału obcego, przychód ze sprzedaży / dochód ogółem. 28