1. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sztuczna Inteligencja i Systemy Ekspertowe
Sieci neuronowe.
Aleksander Pohl
http://apohllo.pl/dydaktyka/ai
Wy˙ sza Szkoła Zarzadzania i Bankowo´ ci
z ˛ s
9 czerwca 2009
Aleksander Pohl WSZiB
Sieci neuronowe
2. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Plan prezentacji
Wprowadzenie
Neuron
Sieci neuronowe
Sieci liniowe
Sieci nieliniowe
Postscriptum
Aleksander Pohl WSZiB
Sieci neuronowe
3. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Plan prezentacji
Wprowadzenie
Neuron
Sieci neuronowe
Sieci liniowe
Sieci nieliniowe
Postscriptum
Aleksander Pohl WSZiB
Sieci neuronowe
4. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Historia (1)
◮ Ramon y Cajal (1906) opis struktury sieci nerwowej
◮ Hodgin i Huxley (1963) model propagacji sygnału w
aksonie
◮ Eccles (1963) Model synapsy
◮ Hubel i Wiesel (1981) Model kory wzrokowej
Aleksander Pohl WSZiB
Sieci neuronowe
5. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Historia (2)
Perceptron (1957) Frank Rosenblatt, Charles Wightmann
◮ Układ elektromechaniczny
◮ Rozpoznawanie znaków alfanumerycznych
◮ 103 przełaczen na sekunde
˛ ´ ˛
◮ Wra˙ liwy na dane wej´ ciowe
z s
◮ Odporny na uszkodzenia
◮ ˛ ´
8 komórek 512 połaczen
Aleksander Pohl WSZiB
Sieci neuronowe
6. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Historia (3)
Madaline (1960) Bernard Widrow (Standford)
◮ Układ elektrochemiczny
◮ Komercyjne zastosowania: analiza sygnałów (radary,
modemy itp.)
◮ 104 przełaczen na sekunde
˛ ´ ˛
◮ „Adaptive Linear Element”
◮ ˛ ´
8 komórek 128 połaczen
Aleksander Pohl WSZiB
Sieci neuronowe
7. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Historia (4)
◮ Lata 70-te zahamowanie rozwoju
◮ Wady i ograniczenia sieci liniowych 1-warstwowych -
Minsky i Papert
◮ John Hopfield (1982) AT&T
◮ 1984 – Optical resonator
◮ 6.4 ∗ 104 elementow
◮ 1.6 ∗ 107 połaczen
˛ ´
◮ 1.6 ∗ 105 przełaczen na sekunde
˛ ´ ˛
Aleksander Pohl WSZiB
Sieci neuronowe
8. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Plan prezentacji
Wprowadzenie
Neuron
Sieci neuronowe
Sieci liniowe
Sieci nieliniowe
Postscriptum
Aleksander Pohl WSZiB
Sieci neuronowe
9. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Neuron w przyrodzi
Aleksander Pohl WSZiB
Sieci neuronowe
10. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Synapsa w przyrodzie
Aleksander Pohl WSZiB
Sieci neuronowe
11. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sztuczny neuron
Aleksander Pohl WSZiB
Sieci neuronowe
12. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Topologia sztucznej sieci neuronowej
Aleksander Pohl WSZiB
Sieci neuronowe
13. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Plan prezentacji
Wprowadzenie
Neuron
Sieci neuronowe
Sieci liniowe
Sieci nieliniowe
Postscriptum
Aleksander Pohl WSZiB
Sieci neuronowe
14. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sie´ neuronowa
c
◮ Paradygmat obliczeniowy oparty na masowo równołegłej
architekturze mózgów zwierz˛
ecych.
◮ Sztuczna sie´ neuronowa ma posta´ wieloprocesorowego
c c
systemu zło˙ onego z wielu niewielkich elementów
z
˛ ˛ ˛ ˛ ´
obliczeniowych (tzw. Neuronów), z gesta siecia połaczen
(tzw. Dendrytów), prostych komunikatów i adaptacyjnej
interakcji miedzy elementami
˛
◮ ˛ ´
Topologia i parametry połaczen stanowia program
˛
Aleksander Pohl WSZiB
Sieci neuronowe
15. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Porównanie paradygmatów
◮ Algorytmy „klasyczne”
◮ Szybkie obliczenia sekwencyjne
◮ Dostarczaja dokładnych wyników
˛
◮ Rozwiazanie problemu znajdowane przez programiste
˛ ˛
◮ Sieci Neuronowe
◮ Masowo równoległe
◮ Odporne na szumy
◮ Adaptacyjne zachowanie
◮ s´
Odporno´ c na błedy
˛
◮ Rozwiazanie problemu znajdowane przez uczenie sieci
˛
Aleksander Pohl WSZiB
Sieci neuronowe
16. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Dziedziny zastosowania
◮ Diagnostyka układów
◮ Badania psychiatryczne
◮ Prognozy: giełdowe, gospodarcze, sprzeda˙ y
z
◮ Analiza spektralna
◮ Sterowanie procesów przemysłowych
◮ ´
Selekcja doboru celów sledztwa
◮ Rozpoznawanie wzorców (70%)
Aleksander Pohl WSZiB
Sieci neuronowe
17. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Zastosowania
◮ Predykcja
◮ Klasyfikacja
◮ Kojarzenie danych
◮ Analiza danych
◮ Filtracja sygnałów
◮ Optymalizacja
Aleksander Pohl WSZiB
Sieci neuronowe
18. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Realizacje (1)
◮ Software
◮ Sieci analogowe
◮ Ładunki na kondensatorach
◮ 109 – 1011 p/s
◮ Układy optoelektroniczne
◮ Liniowe przekształcenia przez układy modyfikowalnej
transparencji
◮ Nieliniowe przekształcenia poprzez ukł. Elektroniczny
◮ 1014 – 1015 p/s
Aleksander Pohl WSZiB
Sieci neuronowe
19. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Realizacje (2)
◮ Układy cyfrowe typowe
◮ Układy dedykowane
◮ Procesory DSP
◮ Karty rozszerzen´
◮ 106 – 107 p/s, 256k neuronow
◮ Specjalizowane układy scalone
◮ 9 ∗ 107 p/s
◮ Mózg
◮ 1010 komórek, 1015 połaczen, 1018 op/s
˛ ´
Aleksander Pohl WSZiB
Sieci neuronowe
20. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Plan prezentacji
Wprowadzenie
Neuron
Sieci neuronowe
Sieci liniowe
Sieci nieliniowe
Postscriptum
Aleksander Pohl WSZiB
Sieci neuronowe
21. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Liniowe sieci neuronowe
◮ y= wi xi
◮ y znormalizowane do 0 albo do 1
Aleksander Pohl WSZiB
Sieci neuronowe
22. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Uczenie (1)
◮ Z nauczycielem
◮ Reguła delta (reguła najmniejszych kwadratów):
∆Wi = η ∗ (D − Y )Xi
◮ Bez nauczyciela (hebbian learning)
(m)(j+1) (m)(j) (j) (j)
◮ wi = wi + ηxi ym
◮ „clustering”
◮ z s´
Ró˙ nicowe – bierzemy przyrosty wej´ c
◮ Instar (Grossberg) – dla ustalonego m:
(m)(j+1) (m)(j) (j) (m)(j)
◮ wi = wi + η (j) (xi − wi )
◮ Waga dostatecznie mała, rosnaca 0 → 1 – v ∗ j
˛
◮ Outstar (cała warstwa)
Aleksander Pohl WSZiB
Sieci neuronowe
23. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Uczenie (2)
◮ Competitive learning
◮ Sie´ Kohonena
c
◮ Instar z normalizowanym X, m – maksymalne wyj´ cie
s
◮ Uczymy tylko jeden
◮ Sie´ Kohonena – z uwzglednieniem sasiedztwa
c ˛ ˛
◮ Uczymy dany neuron – i jego sasiadów
˛
◮ dwuwymiarowe sasiedztwo – rozpoznaje obiekty 2D
˛
Aleksander Pohl WSZiB
Sieci neuronowe
24. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sie´ z jednym neuronem
c
Rysunek: Hiperpłaszczyzna
Aleksander Pohl WSZiB
Sieci neuronowe
25. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sie´ z dwoma neuronami
c
Rysunek: Obszar wypukły
Aleksander Pohl WSZiB
Sieci neuronowe
26. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sie´ z wieloma neuronami
c
Rysunek: „Dziura”
Aleksander Pohl WSZiB
Sieci neuronowe
27. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Plan prezentacji
Wprowadzenie
Neuron
Sieci neuronowe
Sieci liniowe
Sieci nieliniowe
Postscriptum
Aleksander Pohl WSZiB
Sieci neuronowe
28. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Nieliniowe sieci neuronowe
◮ „Bias”
y = wi xi + w0
◮ funkcja pobudzenia – sigmoidalna
1
y = 1+e−px
Aleksander Pohl WSZiB
Sieci neuronowe
29. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Nieliniowe sieci neuronowe
◮ Uczenie pojedynczej warstwy
◮ Algorytm delta – metoda najmniejszych kwadratów
◮ Sieci wielowarstwowe
◮ algorytm „back-propagation”
(j) (m)(j) (j)
◮ ym = φ( wi yi )
◮ sygnał wyj´ cia m-tego neuronu w kroku j
s
Aleksander Pohl WSZiB
Sieci neuronowe
30. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Nieliniowe sieci neuronowe
◮ „Back-propagation” algorithm
◮ Dla ustalonego m, suma po wszystkich i neuronów
z c ˛ ˙
dostarczajacych dane. Mo˙ na dobra´ porzadek zeby „y”
˛
były niezale˙ ne
z
(j) (m)(j) (j)
◮ ym = φ( i wi yi )
◮ Bład sieci wnioskujemy z błedów warstwy ni˙ ej. Suma po
˛ ˛ z
wszystkich neuronach dla których m wysyła swój sygnał
(j) (m)(j) (j)
◮ δm = φ( k wk δk )
Aleksander Pohl WSZiB
Sieci neuronowe
31. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sieci CP
◮ „Counter Propagation” (Hecht-Nielsena)
◮ 1-sza warstwa – normalizowana sie´ Kohonena. 1 wyj´ cie
c s
niezerowe „counter”
◮ 2-ga warstwa „Instar” Grossberga
◮ Uczone niezale˙ nie
z
◮ 1-sza mała waga poczatkowa, ro´ nie
˛ s
◮ 2-ga mała waga poczatkowa, maleje
˛
◮ Uogólnia i kojarzy – mo˙ na odwróci´ sie´
z c c
◮ Doskonale klasyfikuje – redukcja informacji
Aleksander Pohl WSZiB
Sieci neuronowe
32. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sieci rezonansowe
Sieci ART – patent Univ. of Boston
◮ ART1 – obrazy binarne
◮ ART2 – obrazy analogowe
◮
◮ s´ z s´
Ilo´ c neuronów wieksza ni˙ ilo´ c klas
˛
◮ Sprz˛ zone wyj´ cie z wej´ ciem
e˙ s s
◮ Stan wyj´ ciowy 1 tylko na jednym, pozostałe 0 – brak
s
odporno´ ci na szumy
s
Aleksander Pohl WSZiB
Sieci neuronowe
33. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sieci rezonansowe
Sieci ART
◮ Sprz˛ zenie wyj´ cia z wej´ ciem
e˙ s s
◮ Układ kontrolny – eliminuje puste dane wej´ ciowe.
s
s´
Wzmacnia czuło´ c elementów drugiej warstwy
◮ System Orientujacy (novelity detector)
˛
◮ Typowe wady sieci bez nauczyciela – nie wykrywa
niewielkich znaczacych zmian
˛
Aleksander Pohl WSZiB
Sieci neuronowe
34. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sieci Hopfielda (1)
◮ Pierwsza z odwróconym kierunkiem przepływu (1982)
◮ Zatarcie granicy pomiedzy wej´ ciem a wyj´ ciem
˛ s s
◮ Brak wyra´ nych warstw
z
(j) (j)
◮ ym = φ(em )
(j) (m) (j) (j)
◮ em = i wi yi + xm
(m)
◮ wi – współczynnik wyj´ cia i-tego neuronu z wej´ ciem
s s
m-tego neuronu
Aleksander Pohl WSZiB
Sieci neuronowe
35. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sieci Hopfielda (2)
(j+1) (j) (m)
◮ ym = −1 gdy em < w0
(j+1) (j) (j) (m)
◮ ym = ym gdy em = w0
(j+1) (j) (m)
◮ ym = 1 gdy em > w0
Aleksander Pohl WSZiB
Sieci neuronowe
36. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sieci Hopfielda (3)
◮ Brak wydzielonych warstw
◮ Wprowadzamy dana X, i iterujemy do osiagniecia stanu
˛ ˛ ˛
stabilnego
◮ Content Addressable Memory (CAM)
◮ s´
Pojemno´ c: 0.15 N.
◮ Maszyny Bolzmanna
◮ Wyj´ cie jest zmieniane losowo w zal. Od wej´ cia →
s s
wy˙ arzanie
z
Aleksander Pohl WSZiB
Sieci neuronowe
37. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sieci Hintona
◮ ´
Slad pamieciowy – engram nie posiada poło˙ enia
˛ z
(charakter holologiczy)
◮ 2 warstwy – 1-sza neurony o 1 wej´ ciu, wyj´ cie do
s s
ka˙ dego neuronu z 2-giej warstwy
z
◮ Uczymy metoda Hebba. Ciag wej´ ciowy (X1,Y1), (X2,Y2)
˛ ˛ s
(skojarzenia)
◮ Odpowiada na X skojarzeniem Y
Aleksander Pohl WSZiB
Sieci neuronowe
38. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Sieci BAM
◮ Dwie warstwy, jak w ART, ale podobna do Hopfielda
◮ Wektor Y ostatniej warstwy skierowany na wej´ cie, brak
s
odpowiednika w przyrodzie
◮ „histereza” wag – adaptuje sie
˛
◮ Dobrze reaguje na dane odległe od nauczonych, szuka ich
iteracyjnie
◮ s´
Pojemno´ c: w zale˙ no´ ci od typu danych (nawet wieksza
z s ˛
ni˙ n)
z
Aleksander Pohl WSZiB
Sieci neuronowe
39. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Plan prezentacji
Wprowadzenie
Neuron
Sieci neuronowe
Sieci liniowe
Sieci nieliniowe
Postscriptum
Aleksander Pohl WSZiB
Sieci neuronowe
40. Wprowadzenie Neuron Sieci neuronowe Sieci liniowe Sieci nieliniowe Postscriptum
Materiały zródłowe
´
◮ L.Sterling, E.Shapiro - „The Art Of Prolog”
◮ Ivan Bratko - „Prolog – Programming For Artificial
Intelligence”
◮ Slajdy zostały przygotowane za zgoda˛
dr. Michała Korzyckiego na podstawie jego wykładu.
Aleksander Pohl WSZiB
Sieci neuronowe