Post on 15-Mar-2016
description
SZTUCZNE SIECI NEURONOWE
dr hab.inż. Krzysztof ZarembaInstytut RadioelektronikiPolitechnika 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
T. . . . . .
x0x1x2
xn
yWi = 1
i=1,2,....,n Reguła pobudzenia neuronu:
w1
w2
w3
wn
n
iii
n
iii
Txwgdy
Txwgdyky
1
1
0
1)1(
Model neuronu McCullocha-Pittsa
PRZYKŁADY ELEMENTARNYCH FUNKTORÓW LOGICZNYCH
T=1
x0
x1x2
T=0
1
1
1
-1 y NOR
T=0
T=0
T=0
x0
x1
x2
T=1
1
1
1
y
-1
-1
-1
NAND
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
SZTUCZNY NEURON
j
ijiji xwnet. . . x1x2
xn
F(neti) yi
neti – efektywny stan wejścia neuronui - zewnętrzne wzbudzenie (offset, bias)
i
yjwij
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:
Funkcja progowa (a) i funkcja aktywacji perceptronu
(b)
(a) (b)
FUNKCJA WZBUDZENIA NEURONU
Przykładowe funkcje wzbudzenia:
Funkcja logistyczna (sigmoidalna): f(x) = 1/(1+e-x)
x
y
FUNKCJA WZBUDZENIA NEURONU
Przykładowe funkcje wzbudzenia:
Funkcja tangens hiperboliczny (a) i przeskalowany arcus tangens (b)
(a) (b)
xx
y y
TOPOLOGIE (ARCHITEKTURY SIECI)
X1
Xn
h1
hk
y1
Ym
.
.
.
.
.
.
.
.
.
.
SIECI JEDNOKIERUNKOWE (FEEDFORWARD)
TOPOLOGIE (ARCHITEKTURY SIECI)
SIECI REKURENCYJNE
I1 I2 I3 In11 2 3 n
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
X1
X2
X3
Xn
X0w1
w2
w3
w4
w0
-1
+1
y Y’=sgn(y)
n
j
Tjjxwy
0
xw
Błąd odpowiedzi sieci:
L
k
kk ydL
E1
2)(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:
kk
kTkkk
k
k
k
k
ttt
zatemE
EEEE
xww
xwd
ww
)(2)()1(
:)( 22
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) = 2k(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
. . . . .
. . . . . x
w
y
PERCEPTRONY JEDNOWARSTWOWEJednostki progowe: yi=sgn(neti+i)Dla i =0: yi=sgn(wi
Tx)
Płaszczyzna decyzyjna:
w
x1
x2
i = 0: i 0:
w
x1
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,3109 94572 (2,2 10-3%)
6 1,81019 5028134 (2,8 10-11%)
REGUŁA UCZENIA PERCEPTRONUJednostki nieliniowe:Funkcja błędu (kosztu):
k
k
i
kii
k
EwE
ydE
)()(21)(
2
w
w
ij
ki
ki
k
ij
k
wnet
netE
wE
kj
j
kjij
ijij
i xxwww
net
))((' ki
ki
kik
i
ki
ki
k
ki
k
ydnetfnety
yE
netE
kj
ki
ki
kiijij xnetfydtwtw )(')()()1(
FORMY NIELINIOWOSCI NEURONUFunkcja logistyczna:
)1()exp(1
11)exp(1
1;)exp(1
1 yyxxdx
dyx
y
Bipolarna funkcja sigmoidalna:
)1(12
;1)exp(1
2 yydxdy
xy
Funkcja tangens hiperboliczny:
)1(1;)exp()exp()exp()exp()( yy
dxdy
xxxxxtghy
PERCEPTRONY WIELOWARSTWOWE
. . . . .
x
h
y
. . . . .
. . . . .
whj
wih
wskaźnik j
wskaźnik h
wskaźnik k
REGUŁA UCZENIA WARSTWY WYJŚCIOWEJ:
khi
ki
kiih ynetfydw )(')(
)(')(
)('
iki
ki
iih
kh
kjh
k
khhj
netfydw
xnetfw
REGUŁA UCZENIA WARSTWY UKRYTEJ:
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:
Typowa nieliniowa charakterystyka neuronu
Rozwiązanie:Właściwa inicjalizacja wag
Niekorzystny punkt pracy
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)
. . . . .
. . . . . x1 x2 x3 xn
y1 y2 ym
W
Neuron zwycięski
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ść ??????