SZTUCZNE SIECI NEURONOWE

1 SZTUCZNE SIECI NEURONOWEdr hab.inż. Krzysztof Zaremba I...
Author: Luiza Waleczek
0 downloads 3 Views

1 SZTUCZNE SIECI NEURONOWEdr hab.inż. Krzysztof Zaremba Instytut Radioelektroniki Politechnika Warszawska

2 Historia dziedziny „Prehistoria” Początki1943 – W.McCulloch, W.Pitts – pierwszy formalny model neuronu; 1949 – Donald Hebb – „The organization of behaviour” – reguła uaktualniania wag połączeń neuronów.

3 Historia dziedziny Pierwsze sukcesy– F.Rosenblatt, Ch. Wightman – PERCEPTRON; 1960 – B.Widrow, M.Hoff – ADALINE; 1965 – N.Nillson – publikacja „Learning Machines”

4 Historia dziedziny Okres zastoju1969 – M.Minsky, S.Papert – publikacja „Perceptrons” 1972, 1977 – Sun Ichi Amari – matematyczny opis sieci; K. Fukushima – NEOCOGNITRON; T.Kohonen – pamięć skojarzeniowa 1977 – J.A.Anderson – pamięć skojarzeniowa. 1974,82 – S.Grossberg, G.Carpenter – teoria sieci rezonansowych.

5 Historia dziedziny Ponowny rozkwit ???????????????????????????– prace Johna Hopfielda; James McCleeland, David Rumelhard „Parallel Distributed Processing” – „odkrycie” metody uczenia perceptronów wielowarstwowych.

6 Historia dziedziny Ponowny rozkwit ???????????????????????????– prace Johna Hopfielda; James McCleeland, David Rumelhard „Parallel Distributed Processing” – „odkrycie” metody uczenia perceptronów wielowarstwowych. Metoda opublikowana wcześniej w pracy doktorskiej Paula Werbosa (1974 – Harvard).

7 Historia dziedziny Ponowny rozkwitDARPA (Defense Advanced Research Project Agency) – dr Ira Skurnick – finansowanie badań; – prace Johna Hopfielda; James McCleeland, David Rumelhard „Parallel Distributed Processing” – „odkrycie” metody uczenia perceptronów wielowarstwowych. Metoda opublikowana wcześniej w pracy doktorskiej Paula Werbosa (1974 – Harvard).

8 Przykłady zastosowań:Rozpoznawanie obrazów; Rozpoznawanie i synteza mowy; Analiza sygnałów radarowych; Kompresja obrazów; Prognozowanie sprzedaży; Prognozowanie giełdy; Interpretacja badań biologicznych i medycznych; Diagnostyka układów elektronicznych; Typowania w wyścigach konnych; Dobór pracowników; Selekcja celów śledztwa w kryminalistyce; Typowanie w wyścigach konnych.....

9 KILKA PODSTAWOWYCH CECH MÓZGUODPORNY NA USZKODZENIA; ELASTYCZNY – ŁATWO DOSTOSOWUJE SIĘ DO ZMIENNEGO OTOCZENIA; UCZY SIĘ - NIE MUSI BYĆ PROGRAMOWANY; POTRAFI RADZIĆ SOBIE Z INFORMACJĄ ROZMYTĄ, LOSOWĄ, ZASZUMIONĄ LUB NIESPÓJNĄ; W WYSOKIM STOPNIU RÓWNOLEGŁY; MAŁY, ZUŻYWA BARDZO MAŁO ENERGII.

10 KILKA PODSTAWOWYCH CECH MÓZGUKomputer „widzi” inaczej

11 KILKA PODSTAWOWYCH CECH MÓZGUKomputer „widzi” inaczej

12 KILKA PODSTAWOWYCH CECH MÓZGULICZBA POŁĄCZEŃ SYNAPTYCZNYCH W MÓZGU: 1010 – 1011; GĘSTOŚĆ POŁĄCZEŃ SYNAPTYCZNYCH: ~ 104/NEURON; CZĘSTOTLIWOŚĆ GENERACJI SYGNAŁÓW PRZEZ NEURON: ~ 1 – 100 Hz; SZACUNKOWA SZYBKOŚĆ PRACY: ~ OPERACJI/S (DLA PORÓWNANIA NAJSZYBSZE KOMPUTERY ~ 1012 OPERACJI/S.

13 PRZYSZŁOŚĆ - SZTUCZNY MÓZG ?????„If the human brain were so simple that we could undrestand it, we would be so simple that we couldn’t” - Emerson Pugh -

14 INSPIRACJE NEUROFIZJOLOGICZNENeuron (komórka nerwowa)

15 INSPIRACJE NEUROFIZJOLOGICZNENeuron (komórka nerwowa)

16 Model neuronu McCullocha-Pittsaw1 x0 Wi =  1 i=1,2,....,n x1 w2 T w3 x2 y xn wn Reguła pobudzenia neuronu:

17 Model neuronu McCullocha-Pittsa PRZYKŁADY ELEMENTARNYCH FUNKTORÓW LOGICZNYCHx0 1 T=1 T=0 NOR x1 1 -1 y 1 x2 x0 -1 T=0 1 NAND T=1 x1 -1 T=0 1 y T=0 x2 -1 1

18 SZTUCZNA SIEĆ NEURONOWAZbiór prostych elementów przetwarzających informację (sztucznych neuronów), które komunikują się między sobą za pomocą dużej liczby połączeń o zróżnicowanych wagach, zmienianych w procesie uczenia GŁÓWNE ASPEKTY MODELOWANIA SIECI NEURONOWYCH: Architektura (topologia) sieci Strategia (reguła) uczenia sieci

19 SZTUCZNY NEURON x1 x2 F(neti) yi wij yj xn i. . . F(neti) yi wij yj xn i neti – efektywny stan wejścia neuronu i - zewnętrzne wzbudzenie (offset, bias)

20 TYPY NEURONÓW (TOPOLOGIA): - wejściowe; - ukryte; - wyjściowe.SPOSÓB AKTUALIZACJI STANÓW NEURONÓW: SYNCHRONICZNY – wszystkie neurony uaktualniają stan równocześnie; ASYNCHRONICZNY: w każdym kroku aktualizujemy stan jednego, losowo wybranego neuronu; każdy neuron aktualizuje swój stan w sposób niezależny od innych, z pewnym, z reguły stałym, prawdopodobieństwem modyfikacji w czasie t.

21 FUNKCJA WZBUDZENIA NEURONUPrzykładowe funkcje wzbudzenia: (a) (b) Funkcja progowa (a) i funkcja aktywacji perceptronu (b)

22 FUNKCJA WZBUDZENIA NEURONUPrzykładowe funkcje wzbudzenia: y x Funkcja logistyczna (sigmoidalna): f(x) = 1/(1+e-x)

23 FUNKCJA WZBUDZENIA NEURONUPrzykładowe funkcje wzbudzenia: y y (a) (b) x x Funkcja tangens hiperboliczny (a) i przeskalowany arcus tangens (b)

24 TOPOLOGIE (ARCHITEKTURY SIECI)X1 . . Ym hk Xn SIECI JEDNOKIERUNKOWE (FEEDFORWARD)

25 TOPOLOGIE (ARCHITEKTURY SIECI)1 2 3 n 1 I1 I2 I3 In SIECI REKURENCYJNE

26 TOPOLOGIE (ARCHITEKTURY SIECI)Podział ze względu na liczbę warstw: Jednowarstwowe, dwuwarstwowe, .... Jednowarstwowe, wielowarstwowe

27 Uczenie z nauczycielem (nadzorowane, asocjacyjne) METODY UCZENIA SIECI Uczenie z nauczycielem (nadzorowane, asocjacyjne) Uczenie bez nauczyciela (bez nadzoru) GŁÓWNE REGUŁY MODYFIKACJI WAG: REGUŁA HEBBA: wij = •yi•yj REGUŁA DELTA (WIDROWA-HOFFA): wij = •(di – yi)•yj

28 Błąd odpowiedzi sieci:ADALINE X0 w1 X1 w0 w2 X2 +1 w3 X3 Y’=sgn(y) y -1 w4 Xn Błąd odpowiedzi sieci: L – liczba wektorów w zbiorze uczącym;

29 ADALINE – metoda gradientowa uczeniaKształt „powierzchni błędu” i zasada maksymalnego spadku

30 ADALINE – metoda gradientowa uczeniaEstymacja gradientu E:

31 ADALINE – metoda gradientowa uczeniaALGORYTM UCZENIA SIECI: Inicjalizuj wagi sieci jako niewielkie liczby losowe; Oblicz wartość kwadratu błędu k(t); k(t) = (dk-wTxk); Oblicz zmianę wag w: w(t) = 2k(t)xk; Uaktualnij wektor wag w(t+1): w(t+1)=w(t)+ w(t); Powtarzaj kroki 1-4 dopóki błąd nie osiągnie akceptowalnej wartości.

32 ADALINE – metoda gradientowa uczenia(b) (a) Idealna (a) i rzeczywista (b) trajektoria końca wektora wag w procesie uczenia sieci.

33 PERCEPTRONY JEDNOWARSTWOWE y w x

34 PERCEPTRONY JEDNOWARSTWOWEJednostki progowe: yi=sgn(neti+i) yi=sgn(wiTx) Dla i =0: Płaszczyzna decyzyjna: x2 x1 x1 w w i  0: i = 0:

35 FUNKCJE SEPAROWALNE LINIOWOLiczba możliwych funkcji Liczba funkcji separowalnych liniowo 1 4 4 (100%) 2 16 14 (87,5%) 3 256 104 (40,6%) 65536 1882 (2,9%) 5 4,3109 94572 (2,2 10-3%) 6 1,81019 (2,8 10-11%)

36 REGUŁA UCZENIA PERCEPTRONUJednostki nieliniowe: Funkcja błędu (kosztu):

37 FORMY NIELINIOWOSCI NEURONUFunkcja logistyczna: Bipolarna funkcja sigmoidalna: Funkcja tangens hiperboliczny:

38 PERCEPTRONY WIELOWARSTWOWE y wskaźnik k wih h wskaźnik h whj wskaźnik j x

39 REGUŁA UCZENIA WARSTWY WYJŚCIOWEJ:REGUŁA UCZENIA WARSTWY UKRYTEJ:

40 PROBLEMY UCZENIA SIECI:Minima lokalne Paraliż sieci Wolna zbieżność lub brak zbieżności; Przetrenowanie sieci

41 Minima lokalne: Rozwiązania: Przykładowy „krajobraz” funkcji kosztuWprowadzenie „bezwładności”; Metoda symulowanego wyżarzania; Uczenie genetyczne .....

42 Paraliż sieci: Rozwiązanie: Niekorzystny punkt pracyTypowa nieliniowa charakterystyka neuronu Rozwiązanie: Właściwa inicjalizacja wag

43 Wolna zbieżność lub brak zbieżności:– zbyt mała wartość współczynnika szybkości uczenia sieci; - zbyt duża wartość współczynnika szybkości uczenia; - prawidłowa wartość współczynnika szybkości uczenia.

44 „Przetrenowanie” sieci:Rozwiązanie: Właściwa struktura sieci oraz zbiorów: uczącego i testowego

45 Przykładowe zastosowanie: NETtalk

46 Przykładowe zastosowanie: autopilotParametry analizowane przez sieć Struktura sieci

47 UCZENIE BEZ NADZORU Przykładowe zadania stawiany sieciom uczonym bez nadzoru: Klasyfikacja (grupowanie); Redukcja wymiarowości (kompresja); Wyodrębnianie cech znaczących;

48 UCZENIE Z RYWALIZACJĄ (SIECI WTA – Winner Takes All)Neuron zwycięski y1 y2 ym W x1 x2 x3 xn Wektory wejść x i wag w znormalizowane do długości jednostkowej

49 Pobudzenie neuronu i: neti = wiT·x = cos()gdzie  - kąt pomiędzy wektorami wi i x. Zwycięża neuron najsilniej pobudzony i na jego wyjściu pojawia się stan „1”, na wyjściach pozostałych – stan „0”. Uczony jest wyłącznie neuron zwycięski: Wi*j(t+1) = Wi*j(t) +  [xjk - Wi*j(t)] (reguła Grossberga)

50 Idea uczenia konkurencyjnego:Uczenie konkurencyjne: (a) początkowe i (b) końcowe położenia końców wektorów wag.  - koniec wektora danych;  - koniec wektora wag.

51 Sieci zachowujące topologię bodźców – wzorzec biologicznyHomunculus – obraz rozmieszczenia obszarów mózgu odpowiedzialnych za funkcje motoryczne

52 Sieci zachowujące topologię bodźców – wzorzec biologicznyPołączenia miedzyneuronowe realizujące oddziaływania boczne (lateralne) Funkcja „meksykańskiego kapelusza” opisująca oddziaływania lateralne

53 Algorytm Kohonena (rozszerzenie metody WTA)wi(t+1) = wi(t) + (t)•h(i,i*) •[x(t) – wi(t)] gdzie: (t) – współczynnik szybkości uczenia (zmienny w czasie); x(t) – wektor wejściowy; h(i,i*) – funkcja sąsiedztwa; i* - indeks neuronu zwycięskiego. FUNKCJA SĄSIEDZTWA: h(i,i*) = exp(-|ri – ri*|2 / 2 (t)2) gdzie: ri, ri* – wektory określające położenia neuronów i, i*; (t) – wariancja rozkładu, determinująca zasięg działania funkcji sąsiedztwa.

54 Algorytm Kohonena – przykład zastosowania

55 Algorytm Kohonena – przykłady zastosowańMapa fonemów Problem podróżującego komiwojażera

56 Przyszłość ??????