SZTUCZNE SIECI NEURONOWE

advertisement
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
x0
x1
w1
x2
w3
xn
Wi =  1
w2
......
wn
T
y
i=1,2,....,n
Reguła pobudzenia neuronu:
n
1 gdy 
wi xi  T

i 1
y ( k  1)  
n
0 gdy  wi xi  T

i 1
Model neuronu McCullocha-Pittsa
PRZYKŁADY ELEMENTARNYCH FUNKTORÓW LOGICZNYCH
x0
1
x1
1
x2
T=1
-1
T=0
NOR
y
1
x0
-1
x1
-1
x2
-1
T=0
T=0
T=0
1
1
1
T=1
y
NAND
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
yj
...
wij
neti   wij x j  i
F(neti)
j
xn
i
neti – efektywny stan wejścia neuronu
i - zewnętrzne wzbudzenie (offset, bias)
yi
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:
(a)
y
(b)
x
y
x
Funkcja tangens hiperboliczny (a) i przeskalowany arcus tangens (b)
TOPOLOGIE (ARCHITEKTURY SIECI)
X1
h1
.
.
.
.
.
.
.
.
.
.
Xn
y1
hk
Ym
SIECI JEDNOKIERUNKOWE (FEEDFORWARD)
TOPOLOGIE (ARCHITEKTURY SIECI)
1
2
1
I1
3
I2
SIECI REKURENCYJNE
n
I3
In
TOPOLOGIE (ARCHITEKTURY SIECI)
Podział ze względu na liczbę warstw:
• Jednowarstwowe, dwuwarstwowe, ....
• Jednowarstwowe, wielowarstwowe
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
ADALINE
w1
X1
X2
X3
w2
X0
w0
+1
w3
Y’=sgn(y)
y
-1
Xn
w4
n
y   w j x j  wT x
j 0
Błąd odpowiedzi sieci:
1 L k
E   (d  y k ) 2
L k 1
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  Ek
k
E  
k

k 2
E:

E
E k

w k w
 (d k  w T x k ) 2
zatem :
w (t  1)  w (t )  2 k (t )x k
ADALINE – metoda gradientowa uczenia
ALGORYTM UCZENIA SIECI:
1. Inicjalizuj wagi sieci jako niewielkie liczby
losowe;
2. Oblicz wartość kwadratu błędu k(t);
k(t) = (dk-wTxk);
3. Oblicz zmianę wag w:
w(t) = 2k(t)xk;
4. Uaktualnij wektor wag w(t+1):
w(t+1)=w(t)+ w(t);
5. Powtarzaj kroki 1-4 dopóki błąd nie osiągnie
akceptowalnej wartości.
ADALINE – metoda gradientowa uczenia
(a)
(b)
Idealna (a) i rzeczywista (b) trajektoria końca wektora
wag w procesie uczenia sieci.
PERCEPTRONY JEDNOWARSTWOWE
y
.....
w
.....
x
PERCEPTRONY JEDNOWARSTWOWE
Jednostki progowe:
Dla i =0:
yi=sgn(neti+i)
yi=sgn(wiTx)
Płaszczyzna decyzyjna:
x2
x1
w
i = 0:
x1
w
i  0:
FUNKCJE SEPAROWALNE LINIOWO
n
Liczba
możliwych
funkcji
Liczba funkcji
separowalnych liniowo
1
4
4 (100%)
2
16
14 (87,5%)
3
256
104 (40,6%)
4
65536
1882 (2,9%)
5
4,3109
94572 (2,2 10-3%)
6
1,81019
5028134 (2,8 10-11%)
REGUŁA UCZENIA PERCEPTRONU
Jednostki nieliniowe:
Funkcja błędu (kosztu):
1
k 2
E ( w )   d i  yi 
2 i
k
E ( w)   E k ( w )
E
E net

wij netik wij
k
k
k
i
k
neti
 
k 
  wij x j   x kj

wij wij  j

E k
E k yik
k
k
k



f
'
(
net
)(
d

y
i
i
i )
k
k
k
neti yi neti
wij (t  1)  wij (t )   (d ik  yik ) f ' (netik ) x kj
FORMY NIELINIOWOSCI NEURONU
Funkcja logistyczna:
y
1
;
1  exp(  x )
dy
1
1



1

   y  (1  y )


dx
1  exp(  x )  1  exp(  x ) 
Bipolarna funkcja sigmoidalna:
y
2
 1;
1  exp(  x )
dy 
   y  1  (1  y )
dx 2
Funkcja tangens hiperboliczny:
y  tgh( x ) 
exp( x )  exp(  x )
;
exp( x )  exp(  x )
dy
   1  y   (1  y )
dx
PERCEPTRONY WIELOWARSTWOWE
wskaźnik k
y
.....
wih
wskaźnik h
.....
h
whj
wskaźnik j
.....
x
REGUŁA UCZENIA WARSTWY WYJŚCIOWEJ:
wih    (d  yi )  f ' (neti )  y
k
i
k
REGUŁA UCZENIA WARSTWY UKRYTEJ:
whj     f ' ( neth )  x
k
h
k
k
j
   wih ( d  y ) f ' (neti )
k
h
k
i
i
k
i
k
h
PROBLEMY UCZENIA SIECI:
• Minima lokalne
• Paraliż sieci
• Wolna zbieżność lub brak zbieżności;
• Przetrenowanie sieci
Minima lokalne:
Przykładowy „krajobraz” funkcji kosztu
Rozwiązania:
• Wprowadzenie „bezwładności”;
• Metoda symulowanego wyżarzania;
• Uczenie genetyczne .....
Paraliż sieci:
Niekorzystny punkt pracy
Typowa nieliniowa charakterystyka neuronu
Rozwiązanie:
Właściwa inicjalizacja wag
Wolna zbieżność lub brak zbieżności:
(a) – zbyt mała wartość współczynnika szybkości uczenia sieci;
(b) - zbyt duża wartość współczynnika szybkości uczenia;
(c) - 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ść ??????
Download