SZTUCZNE SIECI NEURONOWE

56
SZTUCZNE SIECI NEURONOWE dr hab.inż. Krzysztof Zaremba Instytut Radioelektroniki Politechnika Warszawska

description

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; - PowerPoint PPT Presentation

Transcript of SZTUCZNE SIECI NEURONOWE

Page 1: SZTUCZNE SIECI  NEURONOWE

SZTUCZNE SIECI NEURONOWE

dr hab.inż. Krzysztof ZarembaInstytut RadioelektronikiPolitechnika Warszawska

Page 2: SZTUCZNE SIECI  NEURONOWE

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.

Page 3: SZTUCZNE SIECI  NEURONOWE

Historia dziedziny• Pierwsze sukcesy

– 1957-58 – F.Rosenblatt, Ch. Wightman – PERCEPTRON;

– 1960 – B.Widrow, M.Hoff – ADALINE;– 1965 – N.Nillson – publikacja „Learning

Machines”

Page 4: SZTUCZNE SIECI  NEURONOWE

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.

Page 5: SZTUCZNE SIECI  NEURONOWE

Historia dziedziny• Ponowny rozkwit

– ???????????????????????????

– 1983-86 – prace Johna Hopfielda;– 1986 - James McCleeland, David Rumelhard

„Parallel Distributed Processing” – „odkrycie” metody uczenia perceptronów wielowarstwowych.

Page 6: SZTUCZNE SIECI  NEURONOWE

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).

Page 7: SZTUCZNE SIECI  NEURONOWE

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).

Page 8: SZTUCZNE SIECI  NEURONOWE

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.....

Page 9: SZTUCZNE SIECI  NEURONOWE

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.

Page 10: SZTUCZNE SIECI  NEURONOWE

KILKA PODSTAWOWYCH CECH MÓZGU

Komputer „widzi” inaczej

Page 11: SZTUCZNE SIECI  NEURONOWE

KILKA PODSTAWOWYCH CECH MÓZGU

Komputer „widzi” inaczej

Page 12: SZTUCZNE SIECI  NEURONOWE

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.

Page 13: SZTUCZNE SIECI  NEURONOWE

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 -

Page 14: SZTUCZNE SIECI  NEURONOWE

INSPIRACJE NEUROFIZJOLOGICZNE

Neuron (komórka nerwowa)

Page 15: SZTUCZNE SIECI  NEURONOWE

INSPIRACJE NEUROFIZJOLOGICZNE

Neuron (komórka nerwowa)

Page 16: SZTUCZNE SIECI  NEURONOWE

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(

Page 17: SZTUCZNE SIECI  NEURONOWE

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

Page 18: SZTUCZNE SIECI  NEURONOWE

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

Page 19: SZTUCZNE SIECI  NEURONOWE

SZTUCZNY NEURON

j

ijiji xwnet. . . x1x2

xn

F(neti) yi

neti – efektywny stan wejścia neuronui - zewnętrzne wzbudzenie (offset, bias)

i

yjwij

Page 20: SZTUCZNE SIECI  NEURONOWE

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.

Page 21: SZTUCZNE SIECI  NEURONOWE

FUNKCJA WZBUDZENIA NEURONU

Przykładowe funkcje wzbudzenia:

Funkcja progowa (a) i funkcja aktywacji perceptronu

(b)

(a) (b)

Page 22: SZTUCZNE SIECI  NEURONOWE

FUNKCJA WZBUDZENIA NEURONU

Przykładowe funkcje wzbudzenia:

Funkcja logistyczna (sigmoidalna): f(x) = 1/(1+e-x)

x

y

Page 23: SZTUCZNE SIECI  NEURONOWE

FUNKCJA WZBUDZENIA NEURONU

Przykładowe funkcje wzbudzenia:

Funkcja tangens hiperboliczny (a) i przeskalowany arcus tangens (b)

(a) (b)

xx

y y

Page 24: SZTUCZNE SIECI  NEURONOWE

TOPOLOGIE (ARCHITEKTURY SIECI)

X1

Xn

h1

hk

y1

Ym

.

.

.

.

.

.

.

.

.

.

SIECI JEDNOKIERUNKOWE (FEEDFORWARD)

Page 25: SZTUCZNE SIECI  NEURONOWE

TOPOLOGIE (ARCHITEKTURY SIECI)

SIECI REKURENCYJNE

I1 I2 I3 In11 2 3 n

Page 26: SZTUCZNE SIECI  NEURONOWE

TOPOLOGIE (ARCHITEKTURY SIECI)

Podział ze względu na liczbę warstw:• Jednowarstwowe, dwuwarstwowe, ....• Jednowarstwowe, wielowarstwowe

Page 27: SZTUCZNE SIECI  NEURONOWE

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

Page 28: SZTUCZNE SIECI  NEURONOWE

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;

Page 29: SZTUCZNE SIECI  NEURONOWE

ADALINE – metoda gradientowa uczenia

Kształt „powierzchni błędu” i zasada maksymalnego spadku

Page 30: SZTUCZNE SIECI  NEURONOWE

ADALINE – metoda gradientowa uczenia

Estymacja gradientu E:

kk

kTkkk

k

k

k

k

ttt

zatemE

EEEE

xww

xwd

ww

)(2)()1(

:)( 22

Page 31: SZTUCZNE SIECI  NEURONOWE

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.

Page 32: SZTUCZNE SIECI  NEURONOWE

ADALINE – metoda gradientowa uczenia

(a) (b)

Idealna (a) i rzeczywista (b) trajektoria końca wektora wag w procesie uczenia sieci.

Page 33: SZTUCZNE SIECI  NEURONOWE

PERCEPTRONY JEDNOWARSTWOWE

. . . . .

. . . . . x

w

y

Page 34: SZTUCZNE SIECI  NEURONOWE

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

Page 35: SZTUCZNE SIECI  NEURONOWE

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%)

Page 36: SZTUCZNE SIECI  NEURONOWE

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(

Page 37: SZTUCZNE SIECI  NEURONOWE

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

Page 38: SZTUCZNE SIECI  NEURONOWE

PERCEPTRONY WIELOWARSTWOWE

. . . . .

x

h

y

. . . . .

. . . . .

whj

wih

wskaźnik j

wskaźnik h

wskaźnik k

Page 39: SZTUCZNE SIECI  NEURONOWE

REGUŁA UCZENIA WARSTWY WYJŚCIOWEJ:

khi

ki

kiih ynetfydw )(')(

)(')(

)('

iki

ki

iih

kh

kjh

k

khhj

netfydw

xnetfw

REGUŁA UCZENIA WARSTWY UKRYTEJ:

Page 40: SZTUCZNE SIECI  NEURONOWE

PROBLEMY UCZENIA SIECI:

• Minima lokalne• Paraliż sieci• Wolna zbieżność lub brak zbieżności;• Przetrenowanie sieci

Page 41: SZTUCZNE SIECI  NEURONOWE

Minima lokalne:

Przykładowy „krajobraz” funkcji kosztu Rozwiązania:• Wprowadzenie „bezwładności”;• Metoda symulowanego wyżarzania;• Uczenie genetyczne .....

Page 42: SZTUCZNE SIECI  NEURONOWE

Paraliż sieci:

Typowa nieliniowa charakterystyka neuronu

Rozwiązanie:Właściwa inicjalizacja wag

Niekorzystny punkt pracy

Page 43: SZTUCZNE SIECI  NEURONOWE

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.

Page 44: SZTUCZNE SIECI  NEURONOWE

„Przetrenowanie” sieci:

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

Page 45: SZTUCZNE SIECI  NEURONOWE

Przykładowe zastosowanie: NETtalk

Page 46: SZTUCZNE SIECI  NEURONOWE

Przykładowe zastosowanie: autopilot

Parametry analizowane przez sieć

Struktura sieci

Page 47: SZTUCZNE SIECI  NEURONOWE

UCZENIE BEZ NADZORU

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

Page 48: SZTUCZNE SIECI  NEURONOWE

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

Page 49: SZTUCZNE SIECI  NEURONOWE

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)

Page 50: SZTUCZNE SIECI  NEURONOWE

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.

Page 51: SZTUCZNE SIECI  NEURONOWE

Sieci zachowujące topologię bodźców – wzorzec biologiczny

Homunculus – obraz rozmieszczenia obszarów mózgu odpowiedzialnych za funkcje motoryczne

Page 52: SZTUCZNE SIECI  NEURONOWE

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

Page 53: SZTUCZNE SIECI  NEURONOWE

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.

Page 54: SZTUCZNE SIECI  NEURONOWE

Algorytm Kohonena – przykład zastosowania

Page 55: SZTUCZNE SIECI  NEURONOWE

Algorytm Kohonena – przykłady zastosowań

Mapa fonemów

Problem podróżującego komiwojażera

Page 56: SZTUCZNE SIECI  NEURONOWE

Przyszłość ??????