sztuczne sieci neuronowe

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

Upload: candace-petty

Post on 15-Mar-2016

57 views

Category:

Documents


2 download

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

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ść ??????