SZTUCZNE SIECI NEURONOWE dr hab.inż. Krzysztof Zaremba Instytut Radioelektroniki Politechnika Warszawska
Historia dziedziny „Prehistoria” Początki 1943 – W.McCulloch, W.Pitts – pierwszy formalny model neuronu; 1949 – Donald Hebb – „The organization of behaviour” – reguła uaktualniania wag połączeń neuronów.
Historia dziedziny Pierwsze sukcesy 1957-58 – F.Rosenblatt, Ch. Wightman – PERCEPTRON; 1960 – B.Widrow, M.Hoff – ADALINE; 1965 – N.Nillson – publikacja „Learning Machines”
Historia dziedziny Okres zastoju 1969 – M.Minsky, S.Papert – publikacja „Perceptrons” 1972, 1977 – Sun Ichi Amari – matematyczny opis sieci; 1980 - K. Fukushima – NEOCOGNITRON; 1972-82 - T.Kohonen – pamięć skojarzeniowa 1977 – J.A.Anderson – pamięć skojarzeniowa. 1974,82 – S.Grossberg, G.Carpenter – teoria sieci rezonansowych.
Historia dziedziny Ponowny rozkwit ??????????????????????????? 1983-86 – prace Johna Hopfielda; 1986 - James McCleeland, David Rumelhard „Parallel Distributed Processing” – „odkrycie” metody uczenia perceptronów wielowarstwowych.
Historia dziedziny Ponowny rozkwit ??????????????????????????? 1983-86 – prace Johna Hopfielda; 1986 - James McCleeland, David Rumelhard „Parallel Distributed Processing” – „odkrycie” metody uczenia perceptronów wielowarstwowych. Metoda opublikowana wcześniej w pracy doktorskiej Paula Werbosa (1974 – Harvard).
Historia dziedziny Ponowny rozkwit DARPA (Defense Advanced Research Project Agency) – dr Ira Skurnick – finansowanie badań; 1983-86 – prace Johna Hopfielda; 1986 - James McCleeland, David Rumelhard „Parallel Distributed Processing” – „odkrycie” metody uczenia perceptronów wielowarstwowych. Metoda opublikowana wcześniej w pracy doktorskiej Paula Werbosa (1974 – Harvard).
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.....
KILKA PODSTAWOWYCH CECH MÓZGU ODPORNY 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.
KILKA PODSTAWOWYCH CECH MÓZGU Komputer „widzi” inaczej
KILKA PODSTAWOWYCH CECH MÓZGU Komputer „widzi” inaczej
KILKA PODSTAWOWYCH CECH MÓZGU LICZBA 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: ~ 1018 OPERACJI/S (DLA PORÓWNANIA NAJSZYBSZE KOMPUTERY ~ 1012 OPERACJI/S.
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 -
INSPIRACJE NEUROFIZJOLOGICZNE Neuron (komórka nerwowa)
INSPIRACJE NEUROFIZJOLOGICZNE Neuron (komórka nerwowa)
Model neuronu McCullocha-Pittsa w1 x0 Wi = 1 i=1,2,....,n x1 w2 T w3 x2 y . . . . . . xn wn Reguła pobudzenia neuronu:
Model neuronu McCullocha-Pittsa PRZYKŁADY ELEMENTARNYCH FUNKTORÓW LOGICZNYCH x0 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
SZTUCZNA SIEĆ NEURONOWA Zbió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
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)
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.
FUNKCJA WZBUDZENIA NEURONU Przykładowe funkcje wzbudzenia: (a) (b) Funkcja progowa (a) i funkcja aktywacji perceptronu (b)
FUNKCJA WZBUDZENIA NEURONU Przykładowe funkcje wzbudzenia: y x Funkcja logistyczna (sigmoidalna): f(x) = 1/(1+e-x)
FUNKCJA WZBUDZENIA NEURONU Przykładowe funkcje wzbudzenia: y y (a) (b) x x Funkcja tangens hiperboliczny (a) i przeskalowany arcus tangens (b)
TOPOLOGIE (ARCHITEKTURY SIECI) X1 . . Ym hk Xn SIECI JEDNOKIERUNKOWE (FEEDFORWARD)
TOPOLOGIE (ARCHITEKTURY SIECI) 1 2 3 n 1 I1 I2 I3 In SIECI REKURENCYJNE
TOPOLOGIE (ARCHITEKTURY SIECI) Podział ze względu na liczbę warstw: Jednowarstwowe, dwuwarstwowe, .... Jednowarstwowe, wielowarstwowe
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
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;
ADALINE – metoda gradientowa uczenia Kształt „powierzchni błędu” i zasada maksymalnego spadku
ADALINE – metoda gradientowa uczenia Estymacja gradientu E:
ADALINE – metoda gradientowa uczenia ALGORYTM 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) = 2k(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.
ADALINE – metoda gradientowa uczenia (b) (a) Idealna (a) i rzeczywista (b) trajektoria końca wektora wag w procesie uczenia sieci.
PERCEPTRONY JEDNOWARSTWOWE . . . . . y w . . . . . x
PERCEPTRONY JEDNOWARSTWOWE Jednostki progowe: yi=sgn(neti+i) yi=sgn(wiTx) Dla i =0: Płaszczyzna decyzyjna: x2 x1 x1 w w i 0: i = 0:
FUNKCJE SEPAROWALNE LINIOWO Liczba 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,3109 94572 (2,2 10-3%) 6 1,81019 5028134 (2,8 10-11%)
REGUŁA UCZENIA PERCEPTRONU Jednostki nieliniowe: Funkcja błędu (kosztu):
FORMY NIELINIOWOSCI NEURONU Funkcja logistyczna: Bipolarna funkcja sigmoidalna: Funkcja tangens hiperboliczny:
PERCEPTRONY WIELOWARSTWOWE . . . . . y wskaźnik k wih . . . . . h wskaźnik h whj . . . . . wskaźnik j x
REGUŁA UCZENIA WARSTWY WYJŚCIOWEJ: REGUŁA UCZENIA WARSTWY UKRYTEJ:
PROBLEMY UCZENIA SIECI: Minima lokalne Paraliż sieci Wolna zbieżność lub brak zbieżności; Przetrenowanie sieci
Minima lokalne: Rozwiązania: Przykładowy „krajobraz” funkcji kosztu Wprowadzenie „bezwładności”; Metoda symulowanego wyżarzania; Uczenie genetyczne .....
Paraliż sieci: Rozwiązanie: Niekorzystny punkt pracy Typowa nieliniowa charakterystyka neuronu Rozwiązanie: Właściwa inicjalizacja wag
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.
„Przetrenowanie” sieci: Rozwiązanie: Właściwa struktura sieci oraz zbiorów: uczącego i testowego
Przykładowe zastosowanie: NETtalk
Przykładowe zastosowanie: autopilot Parametry analizowane przez sieć Struktura sieci
UCZENIE BEZ NADZORU Przykładowe zadania stawiany sieciom uczonym bez nadzoru: Klasyfikacja (grupowanie); Redukcja wymiarowości (kompresja); Wyodrębnianie cech znaczących; ...................
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
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)
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.
Sieci zachowujące topologię bodźców – wzorzec biologiczny Homunculus – obraz rozmieszczenia obszarów mózgu odpowiedzialnych za funkcje motoryczne
Sieci zachowujące topologię bodźców – wzorzec biologiczny Połączenia miedzyneuronowe realizujące oddziaływania boczne (lateralne) Funkcja „meksykańskiego kapelusza” opisująca oddziaływania lateralne
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.
Algorytm Kohonena – przykład zastosowania
Algorytm Kohonena – przykłady zastosowań Mapa fonemów Problem podróżującego komiwojażera
Przyszłość ??????