Sztuczne sieci neuronowe. Uczenie, zastosowania · a 2 Sztuczne sieci neuronowe •Metody uczenia...
Transcript of Sztuczne sieci neuronowe. Uczenie, zastosowania · a 2 Sztuczne sieci neuronowe •Metody uczenia...
Wydział Zarządzania AGH
Katedra Informatyki Stosowanej
Sztuczne sieci neuronowe.
Uczenie, zastosowania
Inteligencja obliczeniowa
Inte
ligencja
obliczenio
wa
2
Sztuczne sieci neuronowe
• Metody uczenia
• Budowa modelu
• Algorytm wstecznej propagacji błędu
• Zastosowania SSN
Inte
ligencja
obliczenio
wa
3
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.
Inte
ligencja
obliczenio
wa
4
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 wij o:
gdzie a jest dodatnią stałą nazywaną stałą uczenia.
jiij oow a
Inte
ligencja
obliczenio
wa
5
Metody uczenia
Inna powszechnie stosowana reguła używa nie aktualnej
aktywacji elementu i, lecz różnicy między aktualną a
pożądaną aktywacją elementu:
gdzie di jest pożądaną aktywacją, której wartość jest
podawana przez nauczyciela.
Reguła ta jest nazywana regułą Widrowa-Hoffa (1960) lub
regułą delty.
jiiij oodw )(a
wagi zmieniane są tym silniej, im większy jest błąd
wagi zmieniane są proporcjonalnie do wielkości sygnałów wejściowych
Inte
ligencja
obliczenio
wa
7
Metody uczenia
Uczenie sieci, to proces minimalizacji błędu kwadratowego:
2)(2
1][
Dd
dd otwE
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.
Inte
ligencja
obliczenio
wa
8
Budowa modelu
Co to znaczy zbudować model ?
Input: X1 X2 X3 Output: Y Model: Y = f(X1 X2 X3)
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
Inte
ligencja
obliczenio
wa
9
Budowa modelu
Wolne parametryZależą od struktury problemu
Liczba neur. wej.= liczba X
Liczba neur. wyj. = liczba Y
X1 X2 X3
Y
0.5
0.6 -0.1 0.1-0.2
0.7
0.1 -0.2
Parametry Przykład
L. neuronów wejściowych 3
L. warstw ukrytych 1
Neurony w warstwie ukr. 2
L. neuronów wyjściowych 1
Wagi rysunek
Input: X1 X2 X3 Output: Y Model: Y = f(X1 X2 X3)
Inte
ligencja
obliczenio
wa
10
Budowa modelu
0.5
0.6 -0.1 0.1 -0.2
0.7
0.1 -0.2
X1 =1 X2=-1 X3 =2
0.2
f (0.2) = 0.55
0.55
0.9
f (0.9) = 0.71
0.71
-0.087
f (-0.087) = 0.478
0.478
0.2 = 0.5 * 1 –0.1*(-1) –0.2 * 2
Wyliczone Y = 0.478
Jeśli wzorcowe Y = 2, to
błąd oszacowania = (2-0.478) =1.522
f(x) = ex / (1 + ex)
f(0.2) = e0.2 / (1 + e0.2) = 0.55
Input: X1 X2 X3 Output: Y Model: Y = f(X1 X2 X3)
Inte
ligencja
obliczenio
wa
11
Budowa modeluInput: X1 X2 X3 Output: Y Model: Y = f(X1 X2 X3)
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 = (W1, W2, …, W8)
Dane treningowe: (Yi , X1i, X2i, X3i ) i = 1,2,…,n
Dla określonych wag W, otrzymamy oszacowane n wartości Y
( V1,V2,…,Vn)Oczywiście są one funkcją W, czyli ogólna reguła brzmi:
Dobierz tak W, by błąd oszacowania E był zminimalizowany
E = (Yi – Vi) 2
i
Inte
ligencja
obliczenio
wa
12
Uczenie sieci
E( w1, w2 ) = [ Yi – Vi(w1, w2 ) ] 2
Przykład prostej sieci z 2 neuronami wejściowymi i 1 - wyjściowym.
w1 w2
• Para ( w1, w2 ) jest punktem w 2-wymiarowej płaszczyźnie.
• Dla każdej takiej pary mamy wartość E.
• Funkcja E=f(w1, w2) wyznacza - ‘przestrzeń błędów’
• Cel: znaleźć taką parę wag, dla której E jest minimalny.
Algorytm hill climbing
1. Zacznij od losowej pary ( w1, w2 )
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.
Inte
ligencja
obliczenio
wa
13
Uczenie sieci
-3.0
00
-2.0
00
-1.0
00
0.0
00
1.0
00
2.0
00
3.0
00
4.0
00
5.0
00
6.0
00
-3.0
00
-2.0
00
-1.0
00
0.0
00
1.0
00
2.0
00
3.0
00
4.0
00
5.0
00
6.0
00
0.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
Error
W1
W2
w*
w0
Przestrzeń błędów
Minimum lokalne
Przestrzeń wag
Minimum globalne
Inte
ligencja
obliczenio
wa
14
Uczenie sieci
1. Zacznij z wylosowanymi wartościami wag.
2. Zaprezentuj sieci pierwszą obserwacjęX1 -> sieć -> V1 ; Błąd = (Y1 – V1)
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.
6. To kończy jeden cykl treningowy.
7. Wykonaj wiele takich cykli (epok), aż E osiągniemałą (minimalną?) wartość.
E = (Yi – Vi) 2
Feed
fo
rward
Back P
rop
ag
ati
on
Algorytm wstecznej propagacji błędu Backpropagation Algorithm
uogólnienie reguły delty dla złożonych sieci
Inte
ligencja
obliczenio
wa
15
Uczenie sieci
Parametry uczenia:• stała uczenia
• bezwładność (momentum)
Sposób prezentacji danych:
• losowa prezentacja – element stochastyczny, uczenie on-line.
• ustalona kolejność.
Sposób modyfikacji wag (wsadowy vs. przyrostowy).
)1()()()( twtottw jiijji a
Pozwala usunąć szybkie
oscylacje)( j
jj
j
j
j netfo
E
net
o
o
E
Im wyższy współczynnik uczenia tym sieć uczy
się szybciej, ale może wpaść w oscylacje
Inte
ligencja
obliczenio
wa
16
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.
Inte
ligencja
obliczenio
wa
17
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.
Inte
ligencja
obliczenio
wa
18
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.
Inte
ligencja
obliczenio
wa
19
Wady SSN1. 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).
Inte
ligencja
obliczenio
wa
21
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
Inte
ligencja
obliczenio
wa
22
Zastosowania SSN
• Większość zastosowań SSN w zarządzaniu polega na
wykorzystaniu sieci jednokierunkowych, wielo-
warstwowych 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.
Inte
ligencja
obliczenio
wa
23
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.
Inte
ligencja
obliczenio
wa
24
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%.
Inte
ligencja
obliczenio
wa
25
Zastosowania SSN
• Prognozowanie
– Prognoza rozwoju rynku energetycznego [Werbos].
– Prognoza zapotrzebowania na energię elektryczną.
• Rynek akcji
– Prognoza akcji IBM (nieudana, White 1988).
– Kursy wymiany walut.
Inte
ligencja
obliczenio
wa
26
Zastosowania SSN
• Rozpoznawanie pisma ręcznego
Przykłady ręcznie pisanych kodów pocztowych(źródło: baza danych US Postal service)
Inte
ligencja
obliczenio
wa
28
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.